1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package backup 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/smithy-go/middleware" 10 smithyhttp "github.com/aws/smithy-go/transport/http" 11 "time" 12) 13 14// Creates a logical container where backups are stored. A CreateBackupVault 15// request includes a name, optionally one or more resource tags, an encryption 16// key, and a request ID. Sensitive data, such as passport numbers, should not be 17// included the name of a backup vault. 18func (c *Client) CreateBackupVault(ctx context.Context, params *CreateBackupVaultInput, optFns ...func(*Options)) (*CreateBackupVaultOutput, error) { 19 if params == nil { 20 params = &CreateBackupVaultInput{} 21 } 22 23 result, metadata, err := c.invokeOperation(ctx, "CreateBackupVault", params, optFns, addOperationCreateBackupVaultMiddlewares) 24 if err != nil { 25 return nil, err 26 } 27 28 out := result.(*CreateBackupVaultOutput) 29 out.ResultMetadata = metadata 30 return out, nil 31} 32 33type CreateBackupVaultInput struct { 34 35 // The name of a logical container where backups are stored. Backup vaults are 36 // identified by names that are unique to the account used to create them and the 37 // AWS Region where they are created. They consist of letters, numbers, and 38 // hyphens. 39 // 40 // This member is required. 41 BackupVaultName *string 42 43 // Metadata that you can assign to help organize the resources that you create. 44 // Each tag is a key-value pair. 45 BackupVaultTags map[string]string 46 47 // A unique string that identifies the request and allows failed requests to be 48 // retried without the risk of running the operation twice. 49 CreatorRequestId *string 50 51 // The server-side encryption key that is used to protect your backups; for 52 // example, 53 // arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. 54 EncryptionKeyArn *string 55} 56 57type CreateBackupVaultOutput struct { 58 59 // An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for 60 // example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault. 61 BackupVaultArn *string 62 63 // The name of a logical container where backups are stored. Backup vaults are 64 // identified by names that are unique to the account used to create them and the 65 // Region where they are created. They consist of lowercase letters, numbers, and 66 // hyphens. 67 BackupVaultName *string 68 69 // The date and time a backup vault is created, in Unix format and Coordinated 70 // Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For 71 // example, the value 1516925490.087 represents Friday, January 26, 2018 72 // 12:11:30.087 AM. 73 CreationDate *time.Time 74 75 // Metadata pertaining to the operation's result. 76 ResultMetadata middleware.Metadata 77} 78 79func addOperationCreateBackupVaultMiddlewares(stack *middleware.Stack, options Options) (err error) { 80 err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateBackupVault{}, middleware.After) 81 if err != nil { 82 return err 83 } 84 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateBackupVault{}, middleware.After) 85 if err != nil { 86 return err 87 } 88 if err = addSetLoggerMiddleware(stack, options); err != nil { 89 return err 90 } 91 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 92 return err 93 } 94 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 95 return err 96 } 97 if err = addResolveEndpointMiddleware(stack, options); err != nil { 98 return err 99 } 100 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 101 return err 102 } 103 if err = addRetryMiddlewares(stack, options); err != nil { 104 return err 105 } 106 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 107 return err 108 } 109 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 110 return err 111 } 112 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 113 return err 114 } 115 if err = addClientUserAgent(stack); err != nil { 116 return err 117 } 118 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 119 return err 120 } 121 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 122 return err 123 } 124 if err = addOpCreateBackupVaultValidationMiddleware(stack); err != nil { 125 return err 126 } 127 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateBackupVault(options.Region), middleware.Before); err != nil { 128 return err 129 } 130 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 131 return err 132 } 133 if err = addResponseErrorMiddleware(stack); err != nil { 134 return err 135 } 136 if err = addRequestResponseLogging(stack, options); err != nil { 137 return err 138 } 139 return nil 140} 141 142func newServiceMetadataMiddleware_opCreateBackupVault(region string) *awsmiddleware.RegisterServiceMetadata { 143 return &awsmiddleware.RegisterServiceMetadata{ 144 Region: region, 145 ServiceID: ServiceID, 146 SigningName: "backup", 147 OperationName: "CreateBackupVault", 148 } 149} 150