

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::OpenSearchServerless::Index
<a name="aws-resource-opensearchserverless-index"></a>

An OpenSearch Serverless index resource.

## Syntax
<a name="aws-resource-opensearchserverless-index-syntax"></a>

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

### JSON
<a name="aws-resource-opensearchserverless-index-syntax.json"></a>

```
{
  "Type" : "AWS::OpenSearchServerless::Index",
  "Properties" : {
      "[CollectionEndpoint](#cfn-opensearchserverless-index-collectionendpoint)" : String,
      "[IndexName](#cfn-opensearchserverless-index-indexname)" : String,
      "[Mappings](#cfn-opensearchserverless-index-mappings)" : Mappings,
      "[Settings](#cfn-opensearchserverless-index-settings)" : IndexSettings
    }
}
```

### YAML
<a name="aws-resource-opensearchserverless-index-syntax.yaml"></a>

```
Type: AWS::OpenSearchServerless::Index
Properties:
  [CollectionEndpoint](#cfn-opensearchserverless-index-collectionendpoint): String
  [IndexName](#cfn-opensearchserverless-index-indexname): String
  [Mappings](#cfn-opensearchserverless-index-mappings): 
    Mappings
  [Settings](#cfn-opensearchserverless-index-settings): 
    IndexSettings
```

## Properties
<a name="aws-resource-opensearchserverless-index-properties"></a>

`CollectionEndpoint`  <a name="cfn-opensearchserverless-index-collectionendpoint"></a>
The endpoint for the collection.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`IndexName`  <a name="cfn-opensearchserverless-index-indexname"></a>
The name of the OpenSearch Serverless index.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?![_-])[a-z][a-z0-9_-]*$`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Mappings`  <a name="cfn-opensearchserverless-index-mappings"></a>
Index mappings for the OpenSearch Serverless index.  
*Required*: No  
*Type*: [Mappings](aws-properties-opensearchserverless-index-mappings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Settings`  <a name="cfn-opensearchserverless-index-settings"></a>
Index settings for the OpenSearch Serverless index.  
*Required*: No  
*Type*: [IndexSettings](aws-properties-opensearchserverless-index-indexsettings.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-opensearchserverless-index-return-values"></a>

### Ref
<a name="aws-resource-opensearchserverless-index-return-values-ref"></a>

The index name and the collection endpoint in the following format: index name\$1endpoint. Here's an example:

1234TestIndex\$112345678TestEndPoint.us-east-1.aoss.amazonaws.com.

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

`GetAtt` returns a value for a specified attribute of this type. For more information, see [Fn::GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html). The following are the available attributes and sample return values.

#### 
<a name="aws-resource-opensearchserverless-index-return-values-fn--getatt-fn--getatt"></a>

`Uuid`  <a name="Uuid-fn::getatt"></a>
The unique identifier for the index.

# AWS::OpenSearchServerless::Index Index
<a name="aws-properties-opensearchserverless-index-index"></a>

An OpenSearch Serverless index resource

## Syntax
<a name="aws-properties-opensearchserverless-index-index-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-index-syntax.json"></a>

```
{
  "[Knn](#cfn-opensearchserverless-index-index-knn)" : Boolean,
  "[KnnAlgoParamEfSearch](#cfn-opensearchserverless-index-index-knnalgoparamefsearch)" : Integer,
  "[RefreshInterval](#cfn-opensearchserverless-index-index-refreshinterval)" : String
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-index-syntax.yaml"></a>

```
  [Knn](#cfn-opensearchserverless-index-index-knn): Boolean
  [KnnAlgoParamEfSearch](#cfn-opensearchserverless-index-index-knnalgoparamefsearch): Integer
  [RefreshInterval](#cfn-opensearchserverless-index-index-refreshinterval): String
```

## Properties
<a name="aws-properties-opensearchserverless-index-index-properties"></a>

`Knn`  <a name="cfn-opensearchserverless-index-index-knn"></a>
Enable or disable k-nearest neighbor search capability.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KnnAlgoParamEfSearch`  <a name="cfn-opensearchserverless-index-index-knnalgoparamefsearch"></a>
The size of the dynamic list for the nearest neighbors.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RefreshInterval`  <a name="cfn-opensearchserverless-index-index-refreshinterval"></a>
How often to perform a refresh operation. For example, 1s or 5s.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::OpenSearchServerless::Index IndexSettings
<a name="aws-properties-opensearchserverless-index-indexsettings"></a>

Index settings for the OpenSearch Serverless index.

## Syntax
<a name="aws-properties-opensearchserverless-index-indexsettings-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-indexsettings-syntax.json"></a>

```
{
  "[Index](#cfn-opensearchserverless-index-indexsettings-index)" : Index
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-indexsettings-syntax.yaml"></a>

```
  [Index](#cfn-opensearchserverless-index-indexsettings-index): 
    Index
```

## Properties
<a name="aws-properties-opensearchserverless-index-indexsettings-properties"></a>

`Index`  <a name="cfn-opensearchserverless-index-indexsettings-index"></a>
Index settings.  
*Required*: No  
*Type*: [Index](aws-properties-opensearchserverless-index-index.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::OpenSearchServerless::Index Mappings
<a name="aws-properties-opensearchserverless-index-mappings"></a>

Index mappings for the OpenSearch Serverless index.

## Syntax
<a name="aws-properties-opensearchserverless-index-mappings-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-mappings-syntax.json"></a>

```
{
  "[Properties](#cfn-opensearchserverless-index-mappings-properties)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-mappings-syntax.yaml"></a>

```
  [Properties](#cfn-opensearchserverless-index-mappings-properties): 
    Key: Value
```

## Properties
<a name="aws-properties-opensearchserverless-index-mappings-properties"></a>

`Properties`  <a name="cfn-opensearchserverless-index-mappings-properties"></a>
Nested fields within an object or nested field type.  
*Required*: No  
*Type*: Object of [PropertyMapping](aws-properties-opensearchserverless-index-propertymapping.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::OpenSearchServerless::Index Method
<a name="aws-properties-opensearchserverless-index-method"></a>

Configuration for k-NN search method.

## Syntax
<a name="aws-properties-opensearchserverless-index-method-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-method-syntax.json"></a>

```
{
  "[Engine](#cfn-opensearchserverless-index-method-engine)" : String,
  "[Name](#cfn-opensearchserverless-index-method-name)" : String,
  "[Parameters](#cfn-opensearchserverless-index-method-parameters)" : Parameters,
  "[SpaceType](#cfn-opensearchserverless-index-method-spacetype)" : String
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-method-syntax.yaml"></a>

```
  [Engine](#cfn-opensearchserverless-index-method-engine): String
  [Name](#cfn-opensearchserverless-index-method-name): String
  [Parameters](#cfn-opensearchserverless-index-method-parameters): 
    Parameters
  [SpaceType](#cfn-opensearchserverless-index-method-spacetype): String
```

## Properties
<a name="aws-properties-opensearchserverless-index-method-properties"></a>

`Engine`  <a name="cfn-opensearchserverless-index-method-engine"></a>
The k-NN search engine to use  
*Required*: No  
*Type*: String  
*Allowed values*: `nmslib | faiss | lucene`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-opensearchserverless-index-method-name"></a>
The algorithm name for k-NN search.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `hnsw | ivf`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-opensearchserverless-index-method-parameters"></a>
Additional parameters for the k-NN algorithm.  
*Required*: No  
*Type*: [Parameters](aws-properties-opensearchserverless-index-parameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SpaceType`  <a name="cfn-opensearchserverless-index-method-spacetype"></a>
The distance function used for k-NN search.  
*Required*: No  
*Type*: String  
*Allowed values*: `l2 | l1 | linf | cosinesimil | innerproduct | hamming`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::OpenSearchServerless::Index Parameters
<a name="aws-properties-opensearchserverless-index-parameters"></a>

Additional parameters for the k-NN algorithm.

## Syntax
<a name="aws-properties-opensearchserverless-index-parameters-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-parameters-syntax.json"></a>

```
{
  "[EfConstruction](#cfn-opensearchserverless-index-parameters-efconstruction)" : Integer,
  "[M](#cfn-opensearchserverless-index-parameters-m)" : Integer
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-parameters-syntax.yaml"></a>

```
  [EfConstruction](#cfn-opensearchserverless-index-parameters-efconstruction): Integer
  [M](#cfn-opensearchserverless-index-parameters-m): Integer
```

## Properties
<a name="aws-properties-opensearchserverless-index-parameters-properties"></a>

`EfConstruction`  <a name="cfn-opensearchserverless-index-parameters-efconstruction"></a>
The size of the dynamic list used during k-NN graph creation.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`M`  <a name="cfn-opensearchserverless-index-parameters-m"></a>
Number of neighbors to consider during k-NN search.  
*Required*: No  
*Type*: Integer  
*Minimum*: `2`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::OpenSearchServerless::Index PropertyMapping
<a name="aws-properties-opensearchserverless-index-propertymapping"></a>

Property mappings for the OpenSearch Serverless index.

## Syntax
<a name="aws-properties-opensearchserverless-index-propertymapping-syntax"></a>

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

### JSON
<a name="aws-properties-opensearchserverless-index-propertymapping-syntax.json"></a>

```
{
  "[Dimension](#cfn-opensearchserverless-index-propertymapping-dimension)" : Integer,
  "[Index](#cfn-opensearchserverless-index-propertymapping-index)" : Boolean,
  "[Method](#cfn-opensearchserverless-index-propertymapping-method)" : Method,
  "[Properties](#cfn-opensearchserverless-index-propertymapping-properties)" : {Key: Value, ...},
  "[Type](#cfn-opensearchserverless-index-propertymapping-type)" : String,
  "[Value](#cfn-opensearchserverless-index-propertymapping-value)" : String
}
```

### YAML
<a name="aws-properties-opensearchserverless-index-propertymapping-syntax.yaml"></a>

```
  [Dimension](#cfn-opensearchserverless-index-propertymapping-dimension): Integer
  [Index](#cfn-opensearchserverless-index-propertymapping-index): Boolean
  [Method](#cfn-opensearchserverless-index-propertymapping-method): 
    Method
  [Properties](#cfn-opensearchserverless-index-propertymapping-properties): 
    Key: Value
  [Type](#cfn-opensearchserverless-index-propertymapping-type): String
  [Value](#cfn-opensearchserverless-index-propertymapping-value): String
```

## Properties
<a name="aws-properties-opensearchserverless-index-propertymapping-properties"></a>

`Dimension`  <a name="cfn-opensearchserverless-index-propertymapping-dimension"></a>
Dimension size for vector fields, defines the number of dimensions in the vector.  
*Required*: No  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Index`  <a name="cfn-opensearchserverless-index-propertymapping-index"></a>
Whether a field should be indexed.  
*Required*: No  
*Type*: [Boolean](aws-properties-opensearchserverless-index-index.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Method`  <a name="cfn-opensearchserverless-index-propertymapping-method"></a>
Configuration for k-NN search method.  
*Required*: No  
*Type*: [Method](aws-properties-opensearchserverless-index-method.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Properties`  <a name="cfn-opensearchserverless-index-propertymapping-properties"></a>
Defines the fields within the mapping, including their types and configurations.  
*Required*: No  
*Type*: Object of [PropertyMapping](#aws-properties-opensearchserverless-index-propertymapping)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-opensearchserverless-index-propertymapping-type"></a>
The field data type. Must be a valid OpenSearch field type.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `text | knn_vector`  
*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-opensearchserverless-index-propertymapping-value"></a>
Default value for the field when not specified in a document.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)