CreatePolicy
Creates an AWS IoT policy.
The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.
Requires permission to access the CreatePolicy action.
Request Syntax
POST /policies/policyName
HTTP/1.1
Content-type: application/json
{
"policyDocument": "string
",
"tags": [
{
"Key": "string
",
"Value": "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
Request Body
The request accepts the following data in JSON format.
- policyDocument
-
The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 404600.
Pattern:
[\s\S]*
Required: Yes
-
Metadata which can be used to manage the policy.
Note
For URI Request parameters use format: ...key1=value1&key2=value2...
For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..."
For the cli-input-json file use format: "tags": "key1=value1&key2=value2..."
Type: Array of Tag objects
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"policyArn": "string",
"policyDocument": "string",
"policyName": "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.
- 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]*
- policyName
-
The policy name.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[\w+=,.@-]+
- 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
- ResourceAlreadyExistsException
-
The resource already exists.
HTTP Status Code: 409
- 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
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: