2025/03/27 - Amazon DataZone - 4 updated api methods
Changes This release adds new action type of Create Listing Changeset for the Metadata Enforcement Rule feature.
{'action': {'CREATE_LISTING_CHANGE_SET'}}
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.
See also: AWS API Documentation
Request Syntax
client.create_rule( action='CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', clientToken='string', description='string', detail={ 'metadataFormEnforcementDetail': { 'requiredMetadataForms': [ { 'typeIdentifier': 'string', 'typeRevision': 'string' }, ] } }, domainIdentifier='string', name='string', scope={ 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } }, target={ 'domainUnitTarget': { 'domainUnitId': 'string', 'includeChildDomainUnits': True|False } } )
string
[REQUIRED]
The action of the rule.
string
A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.
This field is autopopulated if not provided.
string
The description of the rule.
dict
[REQUIRED]
The detail of the rule.
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) -- [REQUIRED]
The type ID of the metadata form reference.
typeRevision (string) -- [REQUIRED]
The type revision of the metadata form reference.
string
[REQUIRED]
The ID of the domain where the rule is created.
string
[REQUIRED]
The name of the rule.
dict
[REQUIRED]
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
dict
[REQUIRED]
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) -- [REQUIRED]
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
dict
Response Syntax
{ 'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'description': 'string', 'detail': { 'metadataFormEnforcementDetail': { 'requiredMetadataForms': [ { 'typeIdentifier': 'string', 'typeRevision': 'string' }, ] } }, 'identifier': 'string', 'name': 'string', 'ruleType': 'METADATA_FORM_ENFORCEMENT', 'scope': { 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } }, 'target': { 'domainUnitTarget': { 'domainUnitId': 'string', 'includeChildDomainUnits': True|False } }, 'targetType': 'DOMAIN_UNIT' }
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule is created.
createdBy (string) --
The user who creates the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
name (string) --
The name of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
{'action': {'CREATE_LISTING_CHANGE_SET'}}
Gets the details of 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.
See also: AWS API Documentation
Request Syntax
client.get_rule( domainIdentifier='string', identifier='string', revision='string' )
string
[REQUIRED]
The ID of the domain where the GetRule action is to be invoked.
string
[REQUIRED]
The ID of the rule.
string
The revision of the rule.
dict
Response Syntax
{ 'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'description': 'string', 'detail': { 'metadataFormEnforcementDetail': { 'requiredMetadataForms': [ { 'typeIdentifier': 'string', 'typeRevision': 'string' }, ] } }, 'identifier': 'string', 'lastUpdatedBy': 'string', 'name': 'string', 'revision': 'string', 'ruleType': 'METADATA_FORM_ENFORCEMENT', 'scope': { 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } }, 'target': { 'domainUnitTarget': { 'domainUnitId': 'string', 'includeChildDomainUnits': True|False } }, 'targetType': 'DOMAIN_UNIT', 'updatedAt': datetime(2015, 1, 1) }
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule was created.
createdBy (string) --
The user who created the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
updatedAt (datetime) --
The timestamp at which the rule was last updated.
{'action': {'CREATE_LISTING_CHANGE_SET'}}Response
{'items': {'action': {'CREATE_LISTING_CHANGE_SET'}}}
Lists existing rules. 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.
See also: AWS API Documentation
Request Syntax
client.list_rules( action='CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', assetTypes=[ 'string', ], dataProduct=True|False, domainIdentifier='string', includeCascaded=True|False, maxResults=123, nextToken='string', projectIds=[ 'string', ], ruleType='METADATA_FORM_ENFORCEMENT', targetIdentifier='string', targetType='DOMAIN_UNIT' )
string
The action of the rule.
list
The asset types of the rule.
(string) --
boolean
The data product of the rule.
string
[REQUIRED]
The ID of the domain in which the rules are to be listed.
boolean
Specifies whether to include cascading rules in the results.
integer
The maximum number of rules to return in a single call to ListRules. When the number of rules to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListRules to list the next set of rules.
string
When the number of rules is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of rules, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListRules to list the next set of rules.
list
The IDs of projects in which rules are to be listed.
(string) --
string
The type of the rule.
string
[REQUIRED]
The target ID of the rule.
string
[REQUIRED]
The target type of the rule.
dict
Response Syntax
{ 'items': [ { 'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', 'identifier': 'string', 'lastUpdatedBy': 'string', 'name': 'string', 'revision': 'string', 'ruleType': 'METADATA_FORM_ENFORCEMENT', 'scope': { 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } }, 'target': { 'domainUnitTarget': { 'domainUnitId': 'string', 'includeChildDomainUnits': True|False } }, 'targetType': 'DOMAIN_UNIT', 'updatedAt': datetime(2015, 1, 1) }, ], 'nextToken': 'string' }
Response Structure
(dict) --
items (list) --
The results of the ListRules action.
(dict) --
The summary of the rule.
action (string) --
The action of the rule.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
targetType (string) --
The target type of the rule.
updatedAt (datetime) --
The timestamp at which the rule was last updated.
nextToken (string) --
When the number of rules is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of rules, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListRules to list the next set of rules.
{'action': {'CREATE_LISTING_CHANGE_SET'}}
Updates 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.
See also: AWS API Documentation
Request Syntax
client.update_rule( description='string', detail={ 'metadataFormEnforcementDetail': { 'requiredMetadataForms': [ { 'typeIdentifier': 'string', 'typeRevision': 'string' }, ] } }, domainIdentifier='string', identifier='string', includeChildDomainUnits=True|False, name='string', scope={ 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } } )
string
The description of the rule.
dict
The detail of the rule.
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) -- [REQUIRED]
The type ID of the metadata form reference.
typeRevision (string) -- [REQUIRED]
The type revision of the metadata form reference.
string
[REQUIRED]
The ID of the domain in which a rule is to be updated.
string
[REQUIRED]
The ID of the rule that is to be updated
boolean
Specifies whether to update this rule in the child domain units.
string
The name of the rule.
dict
The scrope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) -- [REQUIRED]
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
dict
Response Syntax
{ 'action': 'CREATE_LISTING_CHANGE_SET'|'CREATE_SUBSCRIPTION_REQUEST', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'description': 'string', 'detail': { 'metadataFormEnforcementDetail': { 'requiredMetadataForms': [ { 'typeIdentifier': 'string', 'typeRevision': 'string' }, ] } }, 'identifier': 'string', 'lastUpdatedBy': 'string', 'name': 'string', 'revision': 'string', 'ruleType': 'METADATA_FORM_ENFORCEMENT', 'scope': { 'assetType': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificAssetTypes': [ 'string', ] }, 'dataProduct': True|False, 'project': { 'selectionMode': 'ALL'|'SPECIFIC', 'specificProjects': [ 'string', ] } }, 'target': { 'domainUnitTarget': { 'domainUnitId': 'string', 'includeChildDomainUnits': True|False } }, 'updatedAt': datetime(2015, 1, 1) }
Response Structure
(dict) --
action (string) --
The action of the rule.
createdAt (datetime) --
The timestamp at which the rule was created.
createdBy (string) --
The user who created the rule.
description (string) --
The description of the rule.
detail (dict) --
The detail of the rule.
metadataFormEnforcementDetail (dict) --
The enforcement detail of the metadata form.
requiredMetadataForms (list) --
The required metadata forms.
(dict) --
The reference of a metadata form.
typeIdentifier (string) --
The type ID of the metadata form reference.
typeRevision (string) --
The type revision of the metadata form reference.
identifier (string) --
The ID of the rule.
lastUpdatedBy (string) --
The timestamp at which the rule was last updated.
name (string) --
The name of the rule.
revision (string) --
The revision of the rule.
ruleType (string) --
The type of the rule.
scope (dict) --
The scope of the rule.
assetType (dict) --
The asset type included in the rule scope.
selectionMode (string) --
The selection mode for the rule.
specificAssetTypes (list) --
The specific asset types that are included in the rule.
(string) --
dataProduct (boolean) --
The data product included in the rule scope.
project (dict) --
The project included in the rule scope.
selectionMode (string) --
The selection mode of the rule.
specificProjects (list) --
The specific projects in which the rule is created.
(string) --
target (dict) --
The target of the rule.
domainUnitTarget (dict) --
The ID of the domain unit.
domainUnitId (string) --
The ID of the domain unit.
includeChildDomainUnits (boolean) --
Specifies whether to apply a rule to the child domain units.
updatedAt (datetime) --
The timestamp at which the rule was last updated.