

# Configuration


Represents an MSK configuration. Use this path to describe the configuration.

## URI


`/v1/configurations/arn`

## HTTP methods


### GET


**Operation ID:** `DescribeConfiguration`

Returns a description of this MSK configuration.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | String | True | The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  DescribeConfigurationResponse | 200 response | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### PUT


**Operation ID:** `UpdateConfiguration`

Creates a new revision of the cluster configuration. The configuration must be in the `ACTIVE` state.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | String | True | The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  UpdateConfigurationResponse | 200 response | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 409 | Error | This cluster name already exists. Retry your request using another name. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### DELETE


**Operation ID:** `DeleteConfiguration`

Deletes a cluster configuration and all its revisions.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | String | True | The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  DeleteConfigurationResponse | 200 response | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### OPTIONS


Enable CORS by returning the correct headers. 


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | String | True | The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | Default response for CORS method | 

## Schemas


### Request bodies


#### PUT schema
PUT

```
{
  "description": "string",
  "serverProperties": "string"
}
```

### Response bodies


#### DescribeConfigurationResponse schema
DescribeConfigurationResponse

```
{
  "creationTime": "string",
  "name": "string",
  "description": "string",
  "kafkaVersions": [
    "string"
  ],
  "state": enum,
  "arn": "string",
  "latestRevision": {
    "creationTime": "string",
    "description": "string",
    "revision": integer
  }
}
```

#### UpdateConfigurationResponse schema
UpdateConfigurationResponse

```
{
  "arn": "string",
  "latestRevision": {
    "creationTime": "string",
    "description": "string",
    "revision": integer
  }
}
```

#### DeleteConfigurationResponse schema
DeleteConfigurationResponse

```
{
  "state": enum,
  "Arn": "string"
}
```

#### Error schema
Error

```
{
  "message": "string",
  "invalidParameter": "string"
}
```

## Properties


### ConfigurationRevision


Describes a configuration revision.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| creationTime | string | True | The time when the configuration revision was created. | 
| description | string | False | The description of the configuration revision. | 
| revision | integerFormat: int64 | True | The revision number. | 

### ConfigurationState


State of a kafka configuration
+ `ACTIVE`
+ `DELETING`
+ `DELETE_FAILED`

### DeleteConfigurationResponse


Returns information about the deleted configuration.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Arn | string | False | The Amazon Resource Name (ARN) of the configuration. | 
| state | [ConfigurationState](#configurations-arn-model-configurationstate) | False | State of the configuration. | 

### DescribeConfigurationResponse


Response body for DescribeConfiguration.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | string | True | The Amazon Resource Name (ARN) of the configuration. | 
| creationTime | string | True | The time when the configuration was created. | 
| description | string | True | The description of the configuration. | 
| kafkaVersions | Array of type string | True | The versions of Apache Kafka with which you can use this MSK configuration. | 
| latestRevision | [ConfigurationRevision](#configurations-arn-model-configurationrevision) | True | Latest revision of the configuration. | 
| name | string | True | The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]\$10,\$1\$1". | 
| state | [ConfigurationState](#configurations-arn-model-configurationstate) | False | State of the configuration. | 

### Error


Returns information about an error.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| invalidParameter | string | False | The parameter that caused the error. | 
| message | string | False | The description of the error. | 

### UpdateConfigurationRequest


Update an MSK configuration.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| description | string | False | The description of the configuration. | 
| serverProperties | string | True | Contents of the `server.properties` file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of `server.properties` can be in plaintext. | 

### UpdateConfigurationResponse


Response body for UpdateConfiguration


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| arn | string | False | The Amazon Resource Name (ARN) of the configuration. | 
| latestRevision | [ConfigurationRevision](#configurations-arn-model-configurationrevision) | False | Latest revision of the configuration. | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeConfiguration

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/DescribeConfiguration)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/DescribeConfiguration)

### UpdateConfiguration

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/UpdateConfiguration)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/UpdateConfiguration)

### DeleteConfiguration

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/DeleteConfiguration)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/DeleteConfiguration)