// Code generated by smithy-go-codegen DO NOT EDIT. package paymentcryptography 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/paymentcryptography/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Creates an alias, or a friendly name, for an Amazon Web Services Payment // Cryptography key. You can use an alias to identify a key in the console and when // you call cryptographic operations such as EncryptData (https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_EncryptData.html) // or DecryptData (https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_DecryptData.html) // . You can associate the alias with any key in the same Amazon Web Services // Region. Each alias is associated with only one key at a time, but a key can have // multiple aliases. You can't create an alias without a key. The alias must be // unique in the account and Amazon Web Services Region, but you can create another // alias with the same name in a different Amazon Web Services Region. To change // the key that's associated with the alias, call UpdateAlias . To delete the // alias, call DeleteAlias . These operations don't affect the underlying key. To // get the alias that you created, call ListAliases . Cross-account use: This // operation can't be used across different Amazon Web Services accounts. Related // operations: // - DeleteAlias // - GetAlias // - ListAliases // - UpdateAlias func (c *Client) CreateAlias(ctx context.Context, params *CreateAliasInput, optFns ...func(*Options)) (*CreateAliasOutput, error) { if params == nil { params = &CreateAliasInput{} } result, metadata, err := c.invokeOperation(ctx, "CreateAlias", params, optFns, c.addOperationCreateAliasMiddlewares) if err != nil { return nil, err } out := result.(*CreateAliasOutput) out.ResultMetadata = metadata return out, nil } type CreateAliasInput struct { // A friendly name that you can use to refer a key. An alias must begin with alias/ // followed by a name, for example alias/ExampleAlias . It can contain only // alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). // Don't include confidential or sensitive information in this field. This field // may be displayed in plaintext in CloudTrail logs and other output. // // This member is required. AliasName *string // The KeyARN of the key to associate with the alias. KeyArn *string noSmithyDocumentSerde } type CreateAliasOutput struct { // The alias for the key. // // This member is required. Alias *types.Alias // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationCreateAliasMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson10_serializeOpCreateAlias{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpCreateAlias{}, 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 = addOpCreateAliasValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateAlias(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_opCreateAlias(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "payment-cryptography", OperationName: "CreateAlias", } }