CreateRule - Amazon DataZone

CreateRule

Creates a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.

Request Syntax

POST /v2/domains/domainIdentifier/rules HTTP/1.1 Content-type: application/json { "action": "string", "clientToken": "string", "description": "string", "detail": { ... }, "name": "string", "scope": { "assetType": { "selectionMode": "string", "specificAssetTypes": [ "string" ] }, "dataProduct": boolean, "project": { "selectionMode": "string", "specificProjects": [ "string" ] } }, "target": { ... } }

URI Request Parameters

The request uses the following URI parameters.

domainIdentifier

The ID of the domain where the rule is created.

Pattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$

Required: Yes

Request Body

The request accepts the following data in JSON format.

action

The action of the rule.

Type: String

Valid Values: CREATE_SUBSCRIPTION_REQUEST

Required: Yes

clientToken

A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

Type: String

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

Pattern: ^[\x21-\x7E]+$

Required: No

description

The description of the rule.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

Required: No

detail

The detail of the rule.

Type: RuleDetail object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

name

The name of the rule.

Type: String

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

Pattern: ^[\w -]+$

Required: Yes

scope

The scope of the rule.

Type: RuleScope object

Required: Yes

target

The target of the rule.

Type: RuleTarget object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: Yes

Response Syntax

HTTP/1.1 201 Content-type: application/json { "action": "string", "createdAt": number, "createdBy": "string", "description": "string", "detail": { ... }, "identifier": "string", "name": "string", "ruleType": "string", "scope": { "assetType": { "selectionMode": "string", "specificAssetTypes": [ "string" ] }, "dataProduct": boolean, "project": { "selectionMode": "string", "specificProjects": [ "string" ] } }, "target": { ... }, "targetType": "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.

action

The action of the rule.

Type: String

Valid Values: CREATE_SUBSCRIPTION_REQUEST

createdAt

The timestamp at which the rule is created.

Type: Timestamp

createdBy

The user who creates the rule.

Type: String

description

The description of the rule.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

detail

The detail of the rule.

Type: RuleDetail object

Note: This object is a Union. Only one member of this object can be specified or returned.

identifier

The ID of the rule.

Type: String

Pattern: ^[a-zA-Z0-9_-]{1,36}$

name

The name of the rule.

Type: String

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

Pattern: ^[\w -]+$

ruleType

The type of the rule.

Type: String

Valid Values: METADATA_FORM_ENFORCEMENT

scope

The scope of the rule.

Type: RuleScope object

target

The target of the rule.

Type: RuleTarget object

Note: This object is a Union. Only one member of this object can be specified or returned.

targetType

The target type of the rule.

Type: String

Valid Values: DOMAIN_UNIT

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

There is a conflict while performing this action.

HTTP Status Code: 409

InternalServerException

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

HTTP Status Code: 500

ResourceNotFoundException

The specified resource cannot be found.

HTTP Status Code: 404

ServiceQuotaExceededException

The request has exceeded the specified service quota.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 429

UnauthorizedException

You do not have permission to perform this action.

HTTP Status Code: 401

ValidationException

The input fails to satisfy the constraints specified by the AWS service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: