1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package route53
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/route53/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Associates an Amazon VPC with a private hosted zone. To perform the association,
// the VPC and the private hosted zone must already exist. You can't convert a
// public hosted zone into a private hosted zone. If you want to associate a VPC
// that was created by using one Amazon Web Services account with a private hosted
// zone that was created by using a different account, the Amazon Web Services
// account that created the private hosted zone must first submit a
// CreateVPCAssociationAuthorization request. Then the account that created the VPC
// must submit an AssociateVPCWithHostedZone request. When granting access, the
// hosted zone and the Amazon VPC must belong to the same partition. A partition is
// a group of Amazon Web Services Regions. Each Amazon Web Services account is
// scoped to one partition. The following are the supported partitions:
//
// * aws -
// Amazon Web Services Regions
//
// * aws-cn - China Regions
//
// * aws-us-gov - Amazon Web
// Services GovCloud (US) Region
//
// For more information, see Access Management
// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in
// the Amazon Web Services General Reference.
func (c *Client) AssociateVPCWithHostedZone(ctx context.Context, params *AssociateVPCWithHostedZoneInput, optFns ...func(*Options)) (*AssociateVPCWithHostedZoneOutput, error) {
if params == nil {
params = &AssociateVPCWithHostedZoneInput{}
}
result, metadata, err := c.invokeOperation(ctx, "AssociateVPCWithHostedZone", params, optFns, c.addOperationAssociateVPCWithHostedZoneMiddlewares)
if err != nil {
return nil, err
}
out := result.(*AssociateVPCWithHostedZoneOutput)
out.ResultMetadata = metadata
return out, nil
}
// A complex type that contains information about the request to associate a VPC
// with a private hosted zone.
type AssociateVPCWithHostedZoneInput struct {
// The ID of the private hosted zone that you want to associate an Amazon VPC with.
// Note that you can't associate a VPC with a hosted zone that doesn't have an
// existing VPC association.
//
// This member is required.
HostedZoneId *string
// A complex type that contains information about the VPC that you want to
// associate with a private hosted zone.
//
// This member is required.
VPC *types.VPC
// Optional: A comment about the association request.
Comment *string
noSmithyDocumentSerde
}
// A complex type that contains the response information for the
// AssociateVPCWithHostedZone request.
type AssociateVPCWithHostedZoneOutput struct {
// A complex type that describes the changes made to your hosted zone.
//
// This member is required.
ChangeInfo *types.ChangeInfo
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationAssociateVPCWithHostedZoneMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestxml_serializeOpAssociateVPCWithHostedZone{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestxml_deserializeOpAssociateVPCWithHostedZone{}, middleware.After)
if err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = addHTTPSignerV4Middleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpAssociateVPCWithHostedZoneValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opAssociateVPCWithHostedZone(options.Region), middleware.Before); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addSanitizeURLMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opAssociateVPCWithHostedZone(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "route53",
OperationName: "AssociateVPCWithHostedZone",
}
}
|