CreateEnvironment
Creates an environment. For each application, you define one or more environments. An
environment is a deployment group of Amazon AppConfig targets, such as applications in a
Beta
or Production
environment. You can also define
environments for application subcomponents such as the Web
,
Mobile
and Back-end
components for your application. You can
configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a
configuration deployment. If an alarm is triggered, the system rolls back the
configuration.
Request Syntax
POST /applications/ApplicationId
/environments HTTP/1.1
Content-type: application/json
{
"Description": "string
",
"Monitors": [
{
"AlarmArn": "string
",
"AlarmRoleArn": "string
"
}
],
"Name": "string
",
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- ApplicationId
-
The application ID.
Pattern:
[a-z0-9]{4,7}
Required: Yes
Request Body
The request accepts the following data in JSON format.
- Description
-
A description of the environment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
Required: No
- Monitors
-
Amazon CloudWatch alarms to monitor during the deployment process.
Type: Array of Monitor objects
Array Members: Minimum number of 0 items. Maximum number of 5 items.
Required: No
- Name
-
A name for the environment.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Required: Yes
- Tags
-
Metadata to assign to the environment. Tags help organize and categorize your Amazon AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
"ApplicationId": "string",
"Description": "string",
"Id": "string",
"Monitors": [
{
"AlarmArn": "string",
"AlarmRoleArn": "string"
}
],
"Name": "string",
"State": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 201 response.
The following data is returned in JSON format by the service.
- ApplicationId
-
The application ID.
Type: String
Pattern:
[a-z0-9]{4,7}
- Description
-
The description of the environment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1024.
- Id
-
The environment ID.
Type: String
Pattern:
[a-z0-9]{4,7}
- Monitors
-
Amazon CloudWatch alarms monitored during the deployment.
Type: Array of Monitor objects
Array Members: Minimum number of 0 items. Maximum number of 5 items.
- Name
-
The name of the environment.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
- State
-
The state of the environment. An environment can be in one of the following states:
READY_FOR_DEPLOYMENT
,DEPLOYING
,ROLLING_BACK
, orROLLED_BACK
Type: String
Valid Values:
READY_FOR_DEPLOYMENT | DEPLOYING | ROLLING_BACK | ROLLED_BACK | REVERTED
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 Amazon service.
HTTP Status Code: 400
- InternalServerException
-
There was an internal failure in the Amazon AppConfig service.
HTTP Status Code: 500
- ResourceNotFoundException
-
The requested resource could not be found.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
The number of one more Amazon 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 Amazon AppConfig in the Amazon Web Services General Reference.
HTTP Status Code: 402
Examples
Example
This example illustrates one usage of CreateEnvironment.
Sample Request
POST /applications/abc1234/environments HTTP/1.1
Host: appconfig.us-east-1.amazonaws.com
Accept-Encoding: identity
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-environment
X-Amz-Date: 20210916T221023Z
Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20210916/us-east-1/appconfig/aws4_request, SignedHeaders=host;x-amz-date, Signature=39c3b3042cd2aEXAMPLE
Content-Length: 31
{
"Name": "Example-Environment"
}
Sample Response
{
"ApplicationId": "abc1234",
"Description": null,
"Id": "54j1r29",
"Monitors": null,
"Name": "Example-Environment",
"State": "ReadyForDeployment"
}
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: