// Code generated by smithy-go-codegen DO NOT EDIT. package directconnect 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/directconnect/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Deletes the specified link aggregation group (LAG). You cannot delete a LAG if // it has active virtual interfaces or hosted connections. func (c *Client) DeleteLag(ctx context.Context, params *DeleteLagInput, optFns ...func(*Options)) (*DeleteLagOutput, error) { if params == nil { params = &DeleteLagInput{} } result, metadata, err := c.invokeOperation(ctx, "DeleteLag", params, optFns, c.addOperationDeleteLagMiddlewares) if err != nil { return nil, err } out := result.(*DeleteLagOutput) out.ResultMetadata = metadata return out, nil } type DeleteLagInput struct { // The ID of the LAG. // // This member is required. LagId *string noSmithyDocumentSerde } // Information about a link aggregation group (LAG). type DeleteLagOutput struct { // Indicates whether the LAG can host other connections. AllowsHostedConnections bool // The Direct Connect endpoint that hosts the LAG. // // Deprecated: This member has been deprecated. AwsDevice *string // The Direct Connect endpoint that hosts the LAG. AwsDeviceV2 *string // The Direct Connect endpoint that terminates the logical connection. This device // might be different than the device that terminates the physical connection. AwsLogicalDeviceId *string // The connections bundled by the LAG. Connections []types.Connection // The individual bandwidth of the physical connections bundled by the LAG. The // possible values are 1Gbps and 10Gbps. ConnectionsBandwidth *string // The LAG MAC Security (MACsec) encryption mode. The valid values are no_encrypt , // should_encrypt , and must_encrypt . EncryptionMode *string // Indicates whether the LAG supports a secondary BGP peer in the same address // family (IPv4/IPv6). HasLogicalRedundancy types.HasLogicalRedundancy // Indicates whether jumbo frames are supported. JumboFrameCapable *bool // The ID of the LAG. LagId *string // The name of the LAG. LagName *string // The state of the LAG. The following are the possible values: // - requested : The initial state of a LAG. The LAG stays in the requested state // until the Letter of Authorization (LOA) is available. // - pending : The LAG has been approved and is being initialized. // - available : The network link is established and the LAG is ready for use. // - down : The network link is down. // - deleting : The LAG is being deleted. // - deleted : The LAG is deleted. // - unknown : The state of the LAG is not available. LagState types.LagState // The location of the LAG. Location *string // Indicates whether the LAG supports MAC Security (MACsec). MacSecCapable *bool // The MAC Security (MACsec) security keys associated with the LAG. MacSecKeys []types.MacSecKey // The minimum number of physical dedicated connections that must be operational // for the LAG itself to be operational. MinimumLinks int32 // The number of physical dedicated connections bundled by the LAG, up to a // maximum of 10. NumberOfConnections int32 // The ID of the Amazon Web Services account that owns the LAG. OwnerAccount *string // The name of the service provider associated with the LAG. ProviderName *string // The Amazon Web Services Region where the connection is located. Region *string // The tags associated with the LAG. Tags []types.Tag // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationDeleteLagMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteLag{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteLag{}, 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, options); err != nil { return err } if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { return err } if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } if err = addOpDeleteLagValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteLag(options.Region), middleware.Before); err != nil { return err } if err = awsmiddleware.AddRecursionDetection(stack); err != nil { return err } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } if err = addResponseErrorMiddleware(stack); err != nil { return err } if err = addRequestResponseLogging(stack, options); err != nil { return err } return nil } func newServiceMetadataMiddleware_opDeleteLag(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "directconnect", OperationName: "DeleteLag", } }