CreatePolicyVersion
Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one.
Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).
Requires permission to access the CreatePolicyVersion action.
Request Syntax
POST /policies/policyName
/version?setAsDefault=setAsDefault
HTTP/1.1
Content-type: application/json
{
"policyDocument": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- policyName
-
The policy name.
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\w+=,.@-]+
Required: Yes
- setAsDefault
-
Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).
Request Body
The request accepts the following data in JSON format.
- policyDocument
-
The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 404600.
Pattern:
[\s\S]*
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"isDefaultVersion": boolean,
"policyArn": "string",
"policyDocument": "string",
"policyVersionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- isDefaultVersion
-
Specifies whether the policy version is the default.
Type: Boolean
- policyArn
-
The policy ARN.
Type: String
- policyDocument
-
The JSON document that describes the policy.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 404600.
Pattern:
[\s\S]*
- policyVersionId
-
The policy version ID.
Type: String
Pattern:
[0-9]+
Errors
- InternalFailureException
-
An unexpected error has occurred.
HTTP Status Code: 500
- InvalidRequestException
-
The request is not valid.
HTTP Status Code: 400
- MalformedPolicyException
-
The policy documentation is not valid.
HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource does not exist.
HTTP Status Code: 404
- ServiceUnavailableException
-
The service is temporarily unavailable.
HTTP Status Code: 503
- ThrottlingException
-
The rate exceeds the limit.
HTTP Status Code: 400
- UnauthorizedException
-
You are not authorized to perform this operation.
HTTP Status Code: 401
- VersionsLimitExceededException
-
The number of policy versions exceeds the limit.
HTTP Status Code: 409
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: