

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::S3Vectors::VectorBucket
<a name="aws-resource-s3vectors-vectorbucket"></a>

Defines an Amazon S3 vector bucket in the same AWS Region where you create the AWS CloudFormation stack.

Vector buckets are specialized storage containers designed for storing and managing vector data used in machine learning and AI applications. They provide optimized storage and retrieval capabilities for high-dimensional vector data.

To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html).

**Important**  
You can only delete empty vector buckets. Deletion fails for buckets that have contents.

Permissions  
The required permissions for CloudFormation to use are based on the operations that are performed on the stack.  
+ Create
  + s3vectors:CreateVectorBucket
  + s3vectors:GetVectorBucket
  + kms:GenerateDataKey (if using KMS encryption)
+ Read
  + s3vectors:GetVectorBucket
  + kms:GenerateDataKey (if using KMS encryption)
+ Delete
  + s3vectors:DeleteVectorBucket
  + s3vectors:GetVectorBucket
  + kms:GenerateDataKey (if using KMS encryption)
+ List
  + s3vectors:ListVectorBuckets
  + kms:GenerateDataKey (if using KMS encryption)

## Syntax
<a name="aws-resource-s3vectors-vectorbucket-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-s3vectors-vectorbucket-syntax.json"></a>

```
{
  "Type" : "AWS::S3Vectors::VectorBucket",
  "Properties" : {
      "[EncryptionConfiguration](#cfn-s3vectors-vectorbucket-encryptionconfiguration)" : EncryptionConfiguration,
      "[Tags](#cfn-s3vectors-vectorbucket-tags)" : [ Tag, ... ],
      "[VectorBucketName](#cfn-s3vectors-vectorbucket-vectorbucketname)" : String
    }
}
```

### YAML
<a name="aws-resource-s3vectors-vectorbucket-syntax.yaml"></a>

```
Type: AWS::S3Vectors::VectorBucket
Properties:
  [EncryptionConfiguration](#cfn-s3vectors-vectorbucket-encryptionconfiguration): 
    EncryptionConfiguration
  [Tags](#cfn-s3vectors-vectorbucket-tags): 
    - Tag
  [VectorBucketName](#cfn-s3vectors-vectorbucket-vectorbucketname): String
```

## Properties
<a name="aws-resource-s3vectors-vectorbucket-properties"></a>

`EncryptionConfiguration`  <a name="cfn-s3vectors-vectorbucket-encryptionconfiguration"></a>
The encryption configuration for the vector bucket.  
*Required*: No  
*Type*: [EncryptionConfiguration](aws-properties-s3vectors-vectorbucket-encryptionconfiguration.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-s3vectors-vectorbucket-tags"></a>
Property description not available.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-s3vectors-vectorbucket-tag.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VectorBucketName`  <a name="cfn-s3vectors-vectorbucket-vectorbucketname"></a>
A name for the vector bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). The bucket name must be unique in the same AWS account for each AWS Region. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name.  
The bucket name must be between 3 and 63 characters long and must not contain uppercase characters or underscores.  
If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
*Required*: No  
*Type*: String  
*Minimum*: `3`  
*Maximum*: `63`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-s3vectors-vectorbucket-return-values"></a>

### Ref
<a name="aws-resource-s3vectors-vectorbucket-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the vector bucket ARN.

Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket`

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-s3vectors-vectorbucket-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-s3vectors-vectorbucket-return-values-fn--getatt-fn--getatt"></a>

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
Returns the date and time when the vector bucket was created.  
Example: `2024-12-21T10:30:00Z`

`VectorBucketArn`  <a name="VectorBucketArn-fn::getatt"></a>
Returns the Amazon Resource Name (ARN) of the specified vector bucket.  
Example: `arn:aws:s3vectors:us-east-1:123456789012:bucket/amzn-s3-demo-vector-bucket`

# AWS::S3Vectors::VectorBucket EncryptionConfiguration
<a name="aws-properties-s3vectors-vectorbucket-encryptionconfiguration"></a>

Specifies the encryption configuration for the vector bucket. By default, all new vectors in Amazon S3 vector buckets use server-side encryption with Amazon S3 managed keys (SSE-S3), specifically AES256.

## Syntax
<a name="aws-properties-s3vectors-vectorbucket-encryptionconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-s3vectors-vectorbucket-encryptionconfiguration-syntax.json"></a>

```
{
  "[KmsKeyArn](#cfn-s3vectors-vectorbucket-encryptionconfiguration-kmskeyarn)" : String,
  "[SseType](#cfn-s3vectors-vectorbucket-encryptionconfiguration-ssetype)" : String
}
```

### YAML
<a name="aws-properties-s3vectors-vectorbucket-encryptionconfiguration-syntax.yaml"></a>

```
  [KmsKeyArn](#cfn-s3vectors-vectorbucket-encryptionconfiguration-kmskeyarn): String
  [SseType](#cfn-s3vectors-vectorbucket-encryptionconfiguration-ssetype): String
```

## Properties
<a name="aws-properties-s3vectors-vectorbucket-encryptionconfiguration-properties"></a>

`KmsKeyArn`  <a name="cfn-s3vectors-vectorbucket-encryptionconfiguration-kmskeyarn"></a>
AWS Key Management Service (KMS) customer managed key ARN to use for the encryption configuration. This parameter is required if and only if `SseType` is set to `aws:kms`.  
You must specify the full ARN of the KMS key. Key IDs or key aliases aren't supported.  
Amazon S3 Vectors only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide*.
*Required*: No  
*Type*: String  
*Pattern*: `^(arn:aws[-a-z0-9]*:kms:[-a-z0-9]*:[0-9]{12}:key/.+)$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SseType`  <a name="cfn-s3vectors-vectorbucket-encryptionconfiguration-ssetype"></a>
The server-side encryption type to use for the encryption configuration of the vector bucket. Valid values are `AES256` for Amazon S3 managed keys and `aws:kms` for AWS KMS keys.  
*Required*: No  
*Type*: String  
*Allowed values*: `AES256 | aws:kms`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::S3Vectors::VectorBucket Tag
<a name="aws-properties-s3vectors-vectorbucket-tag"></a>

<a name="aws-properties-s3vectors-vectorbucket-tag-description"></a>The `Tag` property type specifies Property description not available. for an [AWS::S3Vectors::VectorBucket](aws-resource-s3vectors-vectorbucket.md).

## Syntax
<a name="aws-properties-s3vectors-vectorbucket-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-s3vectors-vectorbucket-tag-syntax.json"></a>

```
{
  "[Key](#cfn-s3vectors-vectorbucket-tag-key)" : String,
  "[Value](#cfn-s3vectors-vectorbucket-tag-value)" : String
}
```

### YAML
<a name="aws-properties-s3vectors-vectorbucket-tag-syntax.yaml"></a>

```
  [Key](#cfn-s3vectors-vectorbucket-tag-key): String
  [Value](#cfn-s3vectors-vectorbucket-tag-value): String
```

## Properties
<a name="aws-properties-s3vectors-vectorbucket-tag-properties"></a>

`Key`  <a name="cfn-s3vectors-vectorbucket-tag-key"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-s3vectors-vectorbucket-tag-value"></a>
Property description not available.  
*Required*: Yes  
*Type*: String  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)