CreateEnvironment
Creates an environment for your thin client devices.
Request Syntax
POST /environments HTTP/1.1
Content-type: application/json
{
   "clientToken": "string",
   "desiredSoftwareSetId": "string",
   "desktopArn": "string",
   "desktopEndpoint": "string",
   "deviceCreationTags": { 
      "string" : "string" 
   },
   "kmsKeyArn": "string",
   "maintenanceWindow": { 
      "applyTimeOf": "string",
      "daysOfTheWeek": [ "string" ],
      "endTimeHour": number,
      "endTimeMinute": number,
      "startTimeHour": number,
      "startTimeMinute": number,
      "type": "string"
   },
   "name": "string",
   "softwareSetUpdateMode": "string",
   "softwareSetUpdateSchedule": "string",
   "tags": { 
      "string" : "string" 
   }
}
    
      URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- clientToken
 - 
               
Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value
. If you don't provide this value, then AWS generates a random one for you.
If you retry the operation with the same
ClientToken, but with different parameters, the retry fails with anIdempotentParameterMismatcherror.Type: String
Length Constraints: Minimum length of 1. Maximum length of 512.
Required: No
 - desiredSoftwareSetId
 - 
               
The ID of the software set to apply.
Type: String
Pattern:
[0-9]{1,9}Required: No
 - desktopArn
 - 
               
The Amazon Resource Name (ARN) of the desktop to stream from Amazon WorkSpaces, WorkSpaces Secure Browser, or AppStream 2.0.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:[\w+=\/,.@-]+:[a-zA-Z0-9\-]+:[a-zA-Z0-9\-]*:[0-9]{0,12}:[a-zA-Z0-9\-\/\._]+Required: Yes
 - desktopEndpoint
 - 
               
The URL for the identity provider login (only for environments that use AppStream 2.0).
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Pattern:
(https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,32}(:[0-9]{1,5})?(\/.*)?Required: No
 - deviceCreationTags
 - 
               
A map of the key-value pairs of the tag or tags to assign to the newly created devices for this environment.
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.
Key Pattern:
(?!aws:)[A-Za-z0-9 _=@:.+-/]+Value Length Constraints: Minimum length of 0. Maximum length of 256.
Value Pattern:
[A-Za-z0-9 _=@:.+-/]+Required: No
 - kmsKeyArn
 - 
               
The Amazon Resource Name (ARN) of the AWS Key Management Service key to use to encrypt the environment.
Type: String
Length Constraints: Minimum length of 20. Maximum length of 2048.
Pattern:
arn:[\w+=\/,.@-]+:kms:[a-zA-Z0-9\-]*:[0-9]{0,12}:key\/[a-zA-Z0-9-]+Required: No
 - maintenanceWindow
 - 
               
A specification for a time window to apply software updates.
Type: MaintenanceWindow object
Required: No
 - name
 - 
               
The name for the environment.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 64.
Pattern:
$|^[0-9\p{IsAlphabetic}+:,.@'" -][0-9\p{IsAlphabetic}+=:,.@'" -]*Required: No
 - softwareSetUpdateMode
 - 
               
An option to define which software updates to apply.
Type: String
Valid Values:
USE_LATEST | USE_DESIREDRequired: No
 - softwareSetUpdateSchedule
 - 
               
An option to define if software updates should be applied within a maintenance window.
Type: String
Valid Values:
USE_MAINTENANCE_WINDOW | APPLY_IMMEDIATELYRequired: No
 - 
               
A map of the key-value pairs of the tag or tags to assign to the resource.
Type: String to string map
Required: No
 
Response Syntax
HTTP/1.1 201
Content-type: application/json
{
   "environment": { 
      "activationCode": "string",
      "arn": "string",
      "createdAt": number,
      "desiredSoftwareSetId": "string",
      "desktopArn": "string",
      "desktopEndpoint": "string",
      "desktopType": "string",
      "id": "string",
      "maintenanceWindow": { 
         "applyTimeOf": "string",
         "daysOfTheWeek": [ "string" ],
         "endTimeHour": number,
         "endTimeMinute": number,
         "startTimeHour": number,
         "startTimeMinute": number,
         "type": "string"
      },
      "name": "string",
      "pendingSoftwareSetId": "string",
      "softwareSetUpdateMode": "string",
      "softwareSetUpdateSchedule": "string",
      "updatedAt": number
   }
}
    
      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.
- environment
 - 
               
Describes an environment.
Type: EnvironmentSummary object
 
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
 - 
               
You do not have sufficient access to perform this action.
HTTP Status Code: 403
 - ConflictException
 - 
               
The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request.
- resourceId
 - 
                        
The ID of the resource associated with the request.
 - resourceType
 - 
                        
The type of the resource associated with the request.
 
HTTP Status Code: 409
 - InternalServerException
 - 
               
The server encountered an internal error and is unable to complete the request.
- retryAfterSeconds
 - 
                        
The number of seconds to wait before retrying the next request.
 
HTTP Status Code: 500
 - ResourceNotFoundException
 - 
               
The resource specified in the request was not found.
- resourceId
 - 
                        
The ID of the resource associated with the request.
 - resourceType
 - 
                        
The type of the resource associated with the request.
 
HTTP Status Code: 404
 - ServiceQuotaExceededException
 - 
               
Your request exceeds a service quota.
- quotaCode
 - 
                        
The code for the quota in Service Quotas.
 - resourceId
 - 
                        
The ID of the resource that exceeds the service quota.
 - resourceType
 - 
                        
The type of the resource that exceeds the service quota.
 - serviceCode
 - 
                        
The code for the service in Service Quotas.
 
HTTP Status Code: 402
 - ThrottlingException
 - 
               
The request was denied due to request throttling.
- quotaCode
 - 
                        
The code for the quota in Service Quotas.
 - retryAfterSeconds
 - 
                        
The number of seconds to wait before retrying the next request.
 - serviceCode
 - 
                        
The code for the service in Service Quotas.
 
HTTP Status Code: 429
 - ValidationException
 - 
               
The input fails to satisfy the specified constraints.
- fieldList
 - 
                        
A list of fields that didn't validate.
 - reason
 - 
                        
The reason for the exception.
 
HTTP Status Code: 400
 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: