CreateHostedConfigurationVersion - AWS AppConfig

CreateHostedConfigurationVersion

Creates a new configuration in the AWS AppConfig hosted configuration store. If you're creating a feature flag, we recommend you familiarize yourself with the JSON schema for feature flag data. For more information, see Type reference for AWS.AppConfig.FeatureFlags in the AWS AppConfig User Guide.

Request Syntax

POST /applications/ApplicationId/configurationprofiles/ConfigurationProfileId/hostedconfigurationversions HTTP/1.1 Description: Description Content-Type: ContentType Latest-Version-Number: LatestVersionNumber VersionLabel: VersionLabel Content

URI Request Parameters

The request uses the following URI parameters.

ApplicationId

The application ID.

Pattern: [a-z0-9]{4,7}

Required: Yes

ConfigurationProfileId

The configuration profile ID.

Pattern: [a-z0-9]{4,7}

Required: Yes

ContentType

A standard MIME type describing the format of the configuration content. For more information, see Content-Type.

Length Constraints: Minimum length of 1. Maximum length of 255.

Required: Yes

Description

A description of the configuration.

Length Constraints: Minimum length of 0. Maximum length of 1024.

LatestVersionNumber

An optional locking token used to prevent race conditions from overwriting configuration updates when creating a new version. To ensure your data is not overwritten when creating multiple hosted configuration versions in rapid succession, specify the version number of the latest hosted configuration version.

VersionLabel

An optional, user-defined label for the AWS AppConfig hosted configuration version. This value must contain at least one non-numeric character. For example, "v2.2.0".

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: .*[^0-9].*

Request Body

The request accepts the following binary data.

Content

The configuration data, as bytes.

Note

AWS AppConfig accepts any type of data, including text formats like JSON or TOML, or binary formats like protocol buffers or compressed data.

Required: Yes

Response Syntax

HTTP/1.1 201 Application-Id: ApplicationId Configuration-Profile-Id: ConfigurationProfileId Version-Number: VersionNumber Description: Description Content-Type: ContentType VersionLabel: VersionLabel KmsKeyArn: KmsKeyArn Content

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The response returns the following HTTP headers.

ApplicationId

The application ID.

Pattern: [a-z0-9]{4,7}

ConfigurationProfileId

The configuration profile ID.

Pattern: [a-z0-9]{4,7}

ContentType

A standard MIME type describing the format of the configuration content. For more information, see Content-Type.

Length Constraints: Minimum length of 1. Maximum length of 255.

Description

A description of the configuration.

Length Constraints: Minimum length of 0. Maximum length of 1024.

KmsKeyArn

The Amazon Resource Name of the AWS Key Management Service key that was used to encrypt this specific version of the configuration data in the AWS AppConfig hosted configuration store.

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\d{1})?:(\d{12})?:[a-zA-Z0-9-_/:.]+

VersionLabel

A user-defined label for an AWS AppConfig hosted configuration version.

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: .*[^0-9].*

VersionNumber

The configuration version.

The response returns the following as the HTTP body.

Content

The content of the configuration or the configuration data.

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

ConflictException

The request could not be processed because of conflict in the current state of the resource.

HTTP Status Code: 409

InternalServerException

There was an internal failure in the AWS AppConfig service.

HTTP Status Code: 500

PayloadTooLargeException

The configuration size is too large.

HTTP Status Code: 413

ResourceNotFoundException

The requested resource could not be found.

HTTP Status Code: 404

ServiceQuotaExceededException

The number of one more AWS AppConfig resources exceeds the maximum allowed. Verify that your environment doesn't exceed the following service quotas:

Applications: 100 max

Deployment strategies: 20 max

Configuration profiles: 100 max per application

Environments: 20 max per application

To resolve this issue, you can delete one or more resources and try again. Or, you can request a quota increase. For more information about quotas and to request an increase, see Service quotas for AWS AppConfig in the Amazon Web Services General Reference.

HTTP Status Code: 402

Examples

Example

This example illustrates one usage of CreateHostedConfigurationVersion.

Sample Request

POST /applications/abc1234/configurationprofiles/ur8hx2f/hostedconfigurationversions HTTP/1.1 Host: appconfig.us-east-1.amazonaws.com Accept-Encoding: identity Content-Type: application/json User-Agent: aws-cli/2.2.4 Python/3.8.8 Linux/5.4.134-73.228.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/appconfig.create-hosted-configuration-version X-Amz-Date: 20210917T184857Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20210917/us-east-1/appconfig/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=39c3b3042cd2aEXAMPLE Content-Length: 27 { "Name": "ExampleApplication", "Id": ExampleID, "Rank": 7 }

Sample Response

{ "ApplicationId": "abc1234", "ConfigurationProfileId": "ur8hx2f", "VersionNumber": "1", "ContentType": "application/json" }

See Also

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