PutClusterPolicy - Amazon Aurora DSQL

PutClusterPolicy

Attaches a resource-based policy to a cluster. This policy defines access permissions and conditions for the cluster, allowing you to control which principals can perform actions on the cluster.

Request Syntax

POST /cluster/identifier/policy HTTP/1.1 Content-type: application/json { "bypassPolicyLockoutSafetyCheck": boolean, "clientToken": "string", "expectedPolicyVersion": "string", "policy": "string" }

URI Request Parameters

The request uses the following URI parameters.

identifier

The ID of the cluster.

Pattern: [a-z0-9]{26}

Required: Yes

Request Body

The request accepts the following data in JSON format.

bypassPolicyLockoutSafetyCheck

A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.

Type: Boolean

Required: No

clientToken

Idempotency token so a request is only processed once.

Type: String

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

Pattern: [!-~]+

Required: No

expectedPolicyVersion

The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.

Type: String

Required: No

policy

The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.

Type: String

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

Required: Yes

Response Syntax

HTTP/1.1 200 Content-type: application/json { "policyVersion": "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.

policyVersion

The version of the policy after it has been updated or created.

Type: String

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 submitted action has conflicts.

resourceId

Resource Id

resourceType

Resource Type

HTTP Status Code: 409

InternalServerException

The request processing has failed because of an unknown error, exception or failure.

retryAfterSeconds

Retry after seconds.

HTTP Status Code: 500

ResourceNotFoundException

The resource could not be found.

resourceId

The resource ID could not be found.

resourceType

The resource type could not be found.

HTTP Status Code: 404

ThrottlingException

The request was denied due to request throttling.

message

The message that the request was denied due to request throttling.

quotaCode

The request exceeds a request rate quota.

retryAfterSeconds

The request exceeds a request rate quota. Retry after seconds.

serviceCode

The request exceeds a service quota.

HTTP Status Code: 429

ValidationException

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

fieldList

A list of fields that didn't validate.

reason

The reason for the validation 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: