Amazon DataZone

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.

CreateRule (updated) Link ¶
Changes (both)
{'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
        }
    }
)
type action:

string

param action:

[REQUIRED]

The action of the rule.

type clientToken:

string

param clientToken:

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

This field is autopopulated if not provided.

type description:

string

param description:

The description of the rule.

type detail:

dict

param detail:

[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.

type domainIdentifier:

string

param domainIdentifier:

[REQUIRED]

The ID of the domain where the rule is created.

type name:

string

param name:

[REQUIRED]

The name of the rule.

type scope:

dict

param scope:

[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) --

type target:

dict

param target:

[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.

rtype:

dict

returns:

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.

GetRule (updated) Link ¶
Changes (response)
{'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'
)
type domainIdentifier:

string

param domainIdentifier:

[REQUIRED]

The ID of the domain where the GetRule action is to be invoked.

type identifier:

string

param identifier:

[REQUIRED]

The ID of the rule.

type revision:

string

param revision:

The revision of the rule.

rtype:

dict

returns:

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.

ListRules (updated) Link ¶
Changes (request, response)
Request
{'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'
)
type action:

string

param action:

The action of the rule.

type assetTypes:

list

param assetTypes:

The asset types of the rule.

  • (string) --

type dataProduct:

boolean

param dataProduct:

The data product of the rule.

type domainIdentifier:

string

param domainIdentifier:

[REQUIRED]

The ID of the domain in which the rules are to be listed.

type includeCascaded:

boolean

param includeCascaded:

Specifies whether to include cascading rules in the results.

type maxResults:

integer

param maxResults:

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.

type nextToken:

string

param nextToken:

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.

type projectIds:

list

param projectIds:

The IDs of projects in which rules are to be listed.

  • (string) --

type ruleType:

string

param ruleType:

The type of the rule.

type targetIdentifier:

string

param targetIdentifier:

[REQUIRED]

The target ID of the rule.

type targetType:

string

param targetType:

[REQUIRED]

The target type of the rule.

rtype:

dict

returns:

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.

UpdateRule (updated) Link ¶
Changes (response)
{'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',
            ]
        }
    }
)
type description:

string

param description:

The description of the rule.

type detail:

dict

param detail:

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.

type domainIdentifier:

string

param domainIdentifier:

[REQUIRED]

The ID of the domain in which a rule is to be updated.

type identifier:

string

param identifier:

[REQUIRED]

The ID of the rule that is to be updated

type includeChildDomainUnits:

boolean

param includeChildDomainUnits:

Specifies whether to update this rule in the child domain units.

type name:

string

param name:

The name of the rule.

type scope:

dict

param scope:

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) --

rtype:

dict

returns:

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.