1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package ec2 4 5import ( 6 "context" 7 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 8 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 9 "github.com/aws/aws-sdk-go-v2/service/ec2/types" 10 "github.com/aws/smithy-go/middleware" 11 smithyhttp "github.com/aws/smithy-go/transport/http" 12) 13 14// Requests a transit gateway peering attachment between the specified transit 15// gateway (requester) and a peer transit gateway (accepter). The transit gateways 16// must be in different Regions. The peer transit gateway can be in your account or 17// a different AWS account. After you create the peering attachment, the owner of 18// the accepter transit gateway must accept the attachment request. 19func (c *Client) CreateTransitGatewayPeeringAttachment(ctx context.Context, params *CreateTransitGatewayPeeringAttachmentInput, optFns ...func(*Options)) (*CreateTransitGatewayPeeringAttachmentOutput, error) { 20 if params == nil { 21 params = &CreateTransitGatewayPeeringAttachmentInput{} 22 } 23 24 result, metadata, err := c.invokeOperation(ctx, "CreateTransitGatewayPeeringAttachment", params, optFns, addOperationCreateTransitGatewayPeeringAttachmentMiddlewares) 25 if err != nil { 26 return nil, err 27 } 28 29 out := result.(*CreateTransitGatewayPeeringAttachmentOutput) 30 out.ResultMetadata = metadata 31 return out, nil 32} 33 34type CreateTransitGatewayPeeringAttachmentInput struct { 35 36 // The AWS account ID of the owner of the peer transit gateway. 37 // 38 // This member is required. 39 PeerAccountId *string 40 41 // The Region where the peer transit gateway is located. 42 // 43 // This member is required. 44 PeerRegion *string 45 46 // The ID of the peer transit gateway with which to create the peering attachment. 47 // 48 // This member is required. 49 PeerTransitGatewayId *string 50 51 // The ID of the transit gateway. 52 // 53 // This member is required. 54 TransitGatewayId *string 55 56 // Checks whether you have the required permissions for the action, without 57 // actually making the request, and provides an error response. If you have the 58 // required permissions, the error response is DryRunOperation. Otherwise, it is 59 // UnauthorizedOperation. 60 DryRun bool 61 62 // The tags to apply to the transit gateway peering attachment. 63 TagSpecifications []types.TagSpecification 64} 65 66type CreateTransitGatewayPeeringAttachmentOutput struct { 67 68 // The transit gateway peering attachment. 69 TransitGatewayPeeringAttachment *types.TransitGatewayPeeringAttachment 70 71 // Metadata pertaining to the operation's result. 72 ResultMetadata middleware.Metadata 73} 74 75func addOperationCreateTransitGatewayPeeringAttachmentMiddlewares(stack *middleware.Stack, options Options) (err error) { 76 err = stack.Serialize.Add(&awsEc2query_serializeOpCreateTransitGatewayPeeringAttachment{}, middleware.After) 77 if err != nil { 78 return err 79 } 80 err = stack.Deserialize.Add(&awsEc2query_deserializeOpCreateTransitGatewayPeeringAttachment{}, middleware.After) 81 if err != nil { 82 return err 83 } 84 if err = addSetLoggerMiddleware(stack, options); err != nil { 85 return err 86 } 87 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 88 return err 89 } 90 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 91 return err 92 } 93 if err = addResolveEndpointMiddleware(stack, options); err != nil { 94 return err 95 } 96 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 97 return err 98 } 99 if err = addRetryMiddlewares(stack, options); err != nil { 100 return err 101 } 102 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 103 return err 104 } 105 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 106 return err 107 } 108 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 109 return err 110 } 111 if err = addClientUserAgent(stack); err != nil { 112 return err 113 } 114 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 115 return err 116 } 117 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 118 return err 119 } 120 if err = addOpCreateTransitGatewayPeeringAttachmentValidationMiddleware(stack); err != nil { 121 return err 122 } 123 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateTransitGatewayPeeringAttachment(options.Region), middleware.Before); err != nil { 124 return err 125 } 126 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 127 return err 128 } 129 if err = addResponseErrorMiddleware(stack); err != nil { 130 return err 131 } 132 if err = addRequestResponseLogging(stack, options); err != nil { 133 return err 134 } 135 return nil 136} 137 138func newServiceMetadataMiddleware_opCreateTransitGatewayPeeringAttachment(region string) *awsmiddleware.RegisterServiceMetadata { 139 return &awsmiddleware.RegisterServiceMetadata{ 140 Region: region, 141 ServiceID: ServiceID, 142 SigningName: "ec2", 143 OperationName: "CreateTransitGatewayPeeringAttachment", 144 } 145} 146