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 164 165 166 167
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package directconnect
import (
"context"
"fmt"
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"
)
// Associates a MAC Security (MACsec) Connection Key Name (CKN)/ Connectivity
// Association Key (CAK) pair with an Direct Connect dedicated connection. You must
// supply either the secretARN, or the CKN/CAK ( ckn and cak ) pair in the request.
// For information about MAC Security (MACsec) key considerations, see MACsec
// pre-shared CKN/CAK key considerations (https://docs.aws.amazon.com/directconnect/latest/UserGuide/direct-connect-mac-sec-getting-started.html#mac-sec-key-consideration)
// in the Direct Connect User Guide.
func (c *Client) AssociateMacSecKey(ctx context.Context, params *AssociateMacSecKeyInput, optFns ...func(*Options)) (*AssociateMacSecKeyOutput, error) {
if params == nil {
params = &AssociateMacSecKeyInput{}
}
result, metadata, err := c.invokeOperation(ctx, "AssociateMacSecKey", params, optFns, c.addOperationAssociateMacSecKeyMiddlewares)
if err != nil {
return nil, err
}
out := result.(*AssociateMacSecKeyOutput)
out.ResultMetadata = metadata
return out, nil
}
type AssociateMacSecKeyInput struct {
// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG
// (dxlag-xxxx). You can use DescribeConnections or DescribeLags to retrieve
// connection ID.
//
// This member is required.
ConnectionId *string
// The MAC Security (MACsec) CAK to associate with the dedicated connection. You
// can create the CKN/CAK pair using an industry standard tool. The valid values
// are 64 hexadecimal characters (0-9, A-E). If you use this request parameter, you
// must use the ckn request parameter and not use the secretARN request parameter.
Cak *string
// The MAC Security (MACsec) CKN to associate with the dedicated connection. You
// can create the CKN/CAK pair using an industry standard tool. The valid values
// are 64 hexadecimal characters (0-9, A-E). If you use this request parameter, you
// must use the cak request parameter and not use the secretARN request parameter.
Ckn *string
// The Amazon Resource Name (ARN) of the MAC Security (MACsec) secret key to
// associate with the dedicated connection. You can use DescribeConnections or
// DescribeLags to retrieve the MAC Security (MACsec) secret key. If you use this
// request parameter, you do not use the ckn and cak request parameters.
SecretARN *string
noSmithyDocumentSerde
}
type AssociateMacSecKeyOutput struct {
// The ID of the dedicated connection (dxcon-xxxx), or the ID of the LAG
// (dxlag-xxxx).
ConnectionId *string
// The MAC Security (MACsec) security keys associated with the dedicated
// connection.
MacSecKeys []types.MacSecKey
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationAssociateMacSecKeyMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpAssociateMacSecKey{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpAssociateMacSecKey{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "AssociateMacSecKey"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); 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 = 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 = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpAssociateMacSecKeyValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opAssociateMacSecKey(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
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opAssociateMacSecKey(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "AssociateMacSecKey",
}
}
|