lib/aws-sdk-datazone/client.rb in aws-sdk-datazone-1.27.0 vs lib/aws-sdk-datazone/client.rb in aws-sdk-datazone-1.28.0

- old
+ new

@@ -537,11 +537,13 @@ # # * {Types::AcceptSubscriptionRequestOutput#created_at #created_at} => Time # * {Types::AcceptSubscriptionRequestOutput#created_by #created_by} => String # * {Types::AcceptSubscriptionRequestOutput#decision_comment #decision_comment} => String # * {Types::AcceptSubscriptionRequestOutput#domain_id #domain_id} => String + # * {Types::AcceptSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String # * {Types::AcceptSubscriptionRequestOutput#id #id} => String + # * {Types::AcceptSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt; # * {Types::AcceptSubscriptionRequestOutput#request_reason #request_reason} => String # * {Types::AcceptSubscriptionRequestOutput#reviewer_id #reviewer_id} => String # * {Types::AcceptSubscriptionRequestOutput#status #status} => String # * {Types::AcceptSubscriptionRequestOutput#subscribed_listings #subscribed_listings} => Array&lt;Types::SubscribedListing&gt; # * {Types::AcceptSubscriptionRequestOutput#subscribed_principals #subscribed_principals} => Array&lt;Types::SubscribedPrincipal&gt; @@ -566,11 +568,17 @@ # # resp.created_at #=> Time # resp.created_by #=> String # resp.decision_comment #=> String # resp.domain_id #=> String + # resp.existing_subscription_id #=> String # resp.id #=> String + # resp.metadata_forms #=> Array + # resp.metadata_forms[0].content #=> String + # resp.metadata_forms[0].form_name #=> String + # resp.metadata_forms[0].type_name #=> String + # resp.metadata_forms[0].type_revision #=> String # resp.request_reason #=> String # resp.reviewer_id #=> String # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.subscribed_listings #=> Array # resp.subscribed_listings[0].description #=> String @@ -990,11 +998,11 @@ # forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # glossary_terms: ["GlossaryTermId"], # name: "AssetName", # required # owning_project_identifier: "ProjectId", # required @@ -1291,11 +1299,11 @@ # forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # glossary_terms: ["GlossaryTermId"], # identifier: "AssetIdentifier", # required # name: "AssetName", # required @@ -1487,11 +1495,11 @@ # forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # glossary_terms: ["GlossaryTermId"], # items: [ # { @@ -1597,11 +1605,11 @@ # forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # glossary_terms: ["GlossaryTermId"], # identifier: "DataProductId", # required # items: [ @@ -1731,11 +1739,11 @@ # asset_forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # client_token: "String", # configuration: { # glue_run_configuration: { @@ -2721,10 +2729,131 @@ def create_project_membership(params = {}, options = {}) req = build_request(:create_project_membership, params) req.send_request(options) end + # 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. + # + # @option params [required, String] :action + # The action of the rule. + # + # @option params [String] :client_token + # A unique, case-sensitive identifier that is provided to ensure the + # idempotency of the request. + # + # **A suitable default value is auto-generated.** You should normally + # not need to pass this option.** + # + # @option params [String] :description + # The description of the rule. + # + # @option params [required, Types::RuleDetail] :detail + # The detail of the rule. + # + # @option params [required, String] :domain_identifier + # The ID of the domain where the rule is created. + # + # @option params [required, String] :name + # The name of the rule. + # + # @option params [required, Types::RuleScope] :scope + # The scope of the rule. + # + # @option params [required, Types::RuleTarget] :target + # The target of the rule. + # + # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreateRuleOutput#action #action} => String + # * {Types::CreateRuleOutput#created_at #created_at} => Time + # * {Types::CreateRuleOutput#created_by #created_by} => String + # * {Types::CreateRuleOutput#description #description} => String + # * {Types::CreateRuleOutput#detail #detail} => Types::RuleDetail + # * {Types::CreateRuleOutput#identifier #identifier} => String + # * {Types::CreateRuleOutput#name #name} => String + # * {Types::CreateRuleOutput#rule_type #rule_type} => String + # * {Types::CreateRuleOutput#scope #scope} => Types::RuleScope + # * {Types::CreateRuleOutput#target #target} => Types::RuleTarget + # * {Types::CreateRuleOutput#target_type #target_type} => String + # + # @example Request syntax with placeholder values + # + # resp = client.create_rule({ + # action: "CREATE_SUBSCRIPTION_REQUEST", # required, accepts CREATE_SUBSCRIPTION_REQUEST + # client_token: "ClientToken", + # description: "Description", + # detail: { # required + # metadata_form_enforcement_detail: { + # required_metadata_forms: [ + # { + # type_identifier: "FormTypeIdentifier", # required + # type_revision: "Revision", # required + # }, + # ], + # }, + # }, + # domain_identifier: "DomainId", # required + # name: "RuleName", # required + # scope: { # required + # asset_type: { + # selection_mode: "ALL", # required, accepts ALL, SPECIFIC + # specific_asset_types: ["AssetTypeIdentifier"], + # }, + # data_product: false, + # project: { + # selection_mode: "ALL", # required, accepts ALL, SPECIFIC + # specific_projects: ["ProjectId"], + # }, + # }, + # target: { # required + # domain_unit_target: { + # domain_unit_id: "DomainUnitId", # required + # include_child_domain_units: false, + # }, + # }, + # }) + # + # @example Response structure + # + # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST" + # resp.created_at #=> Time + # resp.created_by #=> String + # resp.description #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String + # resp.identifier #=> String + # resp.name #=> String + # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT" + # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.asset_type.specific_asset_types #=> Array + # resp.scope.asset_type.specific_asset_types[0] #=> String + # resp.scope.data_product #=> Boolean + # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.project.specific_projects #=> Array + # resp.scope.project.specific_projects[0] #=> String + # resp.target.domain_unit_target.domain_unit_id #=> String + # resp.target.domain_unit_target.include_child_domain_units #=> Boolean + # resp.target_type #=> String, one of "DOMAIN_UNIT" + # + # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/CreateRule AWS API Documentation + # + # @overload create_rule(params = {}) + # @param [Hash] params ({}) + def create_rule(params = {}, options = {}) + req = build_request(:create_rule, params) + req.send_request(options) + end + # Creates a subsscription grant in Amazon DataZone. # # @option params [Array<Types::AssetTargetNameMap>] :asset_target_names # The names of the assets for which the subscription grant is created. # @@ -2831,10 +2960,13 @@ # # @option params [required, String] :domain_identifier # The ID of the Amazon DataZone domain in which the subscription request # is created. # + # @option params [Array<Types::FormInput>] :metadata_forms + # The metadata form included in the subscription request. + # # @option params [required, String] :request_reason # The reason for the subscription request. # # @option params [required, Array<Types::SubscribedListingInput>] :subscribed_listings # The published asset for which the subscription grant is to be created. @@ -2847,11 +2979,13 @@ # # * {Types::CreateSubscriptionRequestOutput#created_at #created_at} => Time # * {Types::CreateSubscriptionRequestOutput#created_by #created_by} => String # * {Types::CreateSubscriptionRequestOutput#decision_comment #decision_comment} => String # * {Types::CreateSubscriptionRequestOutput#domain_id #domain_id} => String + # * {Types::CreateSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String # * {Types::CreateSubscriptionRequestOutput#id #id} => String + # * {Types::CreateSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt; # * {Types::CreateSubscriptionRequestOutput#request_reason #request_reason} => String # * {Types::CreateSubscriptionRequestOutput#reviewer_id #reviewer_id} => String # * {Types::CreateSubscriptionRequestOutput#status #status} => String # * {Types::CreateSubscriptionRequestOutput#subscribed_listings #subscribed_listings} => Array&lt;Types::SubscribedListing&gt; # * {Types::CreateSubscriptionRequestOutput#subscribed_principals #subscribed_principals} => Array&lt;Types::SubscribedPrincipal&gt; @@ -2861,10 +2995,18 @@ # @example Request syntax with placeholder values # # resp = client.create_subscription_request({ # client_token: "String", # domain_identifier: "DomainId", # required + # metadata_forms: [ + # { + # content: "FormInputContentString", + # form_name: "FormName", # required + # type_identifier: "FormTypeIdentifier", + # type_revision: "RevisionInput", + # }, + # ], # request_reason: "RequestReason", # required # subscribed_listings: [ # required # { # identifier: "ListingId", # required # }, @@ -2882,11 +3024,17 @@ # # resp.created_at #=> Time # resp.created_by #=> String # resp.decision_comment #=> String # resp.domain_id #=> String + # resp.existing_subscription_id #=> String # resp.id #=> String + # resp.metadata_forms #=> Array + # resp.metadata_forms[0].content #=> String + # resp.metadata_forms[0].form_name #=> String + # resp.metadata_forms[0].type_name #=> String + # resp.metadata_forms[0].type_revision #=> String # resp.request_reason #=> String # resp.reviewer_id #=> String # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.subscribed_listings #=> Array # resp.subscribed_listings[0].description #=> String @@ -3680,10 +3828,44 @@ def delete_project_membership(params = {}, options = {}) req = build_request(:delete_project_membership, params) req.send_request(options) end + # Deletes 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. + # + # @option params [required, String] :domain_identifier + # The ID of the domain that where the rule is to be deleted. + # + # @option params [required, String] :identifier + # The ID of the rule that is to be deleted. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.delete_rule({ + # domain_identifier: "DomainId", # required + # identifier: "RuleId", # required + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/DeleteRule AWS API Documentation + # + # @overload delete_rule(params = {}) + # @param [Hash] params ({}) + def delete_rule(params = {}, options = {}) + req = build_request(:delete_rule, params) + req.send_request(options) + end + # Deletes and subscription grant in Amazon DataZone. # # @option params [required, String] :domain_identifier # The ID of the Amazon DataZone domain where the subscription grant is # deleted. @@ -5327,10 +5509,89 @@ def get_project(params = {}, options = {}) req = build_request(:get_project, params) req.send_request(options) end + # 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. + # + # @option params [required, String] :domain_identifier + # The ID of the domain where the `GetRule` action is to be invoked. + # + # @option params [required, String] :identifier + # The ID of the rule. + # + # @option params [String] :revision + # The revision of the rule. + # + # @return [Types::GetRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetRuleOutput#action #action} => String + # * {Types::GetRuleOutput#created_at #created_at} => Time + # * {Types::GetRuleOutput#created_by #created_by} => String + # * {Types::GetRuleOutput#description #description} => String + # * {Types::GetRuleOutput#detail #detail} => Types::RuleDetail + # * {Types::GetRuleOutput#identifier #identifier} => String + # * {Types::GetRuleOutput#last_updated_by #last_updated_by} => String + # * {Types::GetRuleOutput#name #name} => String + # * {Types::GetRuleOutput#revision #revision} => String + # * {Types::GetRuleOutput#rule_type #rule_type} => String + # * {Types::GetRuleOutput#scope #scope} => Types::RuleScope + # * {Types::GetRuleOutput#target #target} => Types::RuleTarget + # * {Types::GetRuleOutput#target_type #target_type} => String + # * {Types::GetRuleOutput#updated_at #updated_at} => Time + # + # @example Request syntax with placeholder values + # + # resp = client.get_rule({ + # domain_identifier: "DomainId", # required + # identifier: "RuleId", # required + # revision: "Revision", + # }) + # + # @example Response structure + # + # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST" + # resp.created_at #=> Time + # resp.created_by #=> String + # resp.description #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String + # resp.identifier #=> String + # resp.last_updated_by #=> String + # resp.name #=> String + # resp.revision #=> String + # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT" + # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.asset_type.specific_asset_types #=> Array + # resp.scope.asset_type.specific_asset_types[0] #=> String + # resp.scope.data_product #=> Boolean + # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.project.specific_projects #=> Array + # resp.scope.project.specific_projects[0] #=> String + # resp.target.domain_unit_target.domain_unit_id #=> String + # resp.target.domain_unit_target.include_child_domain_units #=> Boolean + # resp.target_type #=> String, one of "DOMAIN_UNIT" + # resp.updated_at #=> Time + # + # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/GetRule AWS API Documentation + # + # @overload get_rule(params = {}) + # @param [Hash] params ({}) + def get_rule(params = {}, options = {}) + req = build_request(:get_rule, params) + req.send_request(options) + end + # Gets a subscription in Amazon DataZone. # # @option params [required, String] :domain_identifier # The ID of the Amazon DataZone domain in which the subscription exists. # @@ -5490,11 +5751,13 @@ # # * {Types::GetSubscriptionRequestDetailsOutput#created_at #created_at} => Time # * {Types::GetSubscriptionRequestDetailsOutput#created_by #created_by} => String # * {Types::GetSubscriptionRequestDetailsOutput#decision_comment #decision_comment} => String # * {Types::GetSubscriptionRequestDetailsOutput#domain_id #domain_id} => String + # * {Types::GetSubscriptionRequestDetailsOutput#existing_subscription_id #existing_subscription_id} => String # * {Types::GetSubscriptionRequestDetailsOutput#id #id} => String + # * {Types::GetSubscriptionRequestDetailsOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt; # * {Types::GetSubscriptionRequestDetailsOutput#request_reason #request_reason} => String # * {Types::GetSubscriptionRequestDetailsOutput#reviewer_id #reviewer_id} => String # * {Types::GetSubscriptionRequestDetailsOutput#status #status} => String # * {Types::GetSubscriptionRequestDetailsOutput#subscribed_listings #subscribed_listings} => Array&lt;Types::SubscribedListing&gt; # * {Types::GetSubscriptionRequestDetailsOutput#subscribed_principals #subscribed_principals} => Array&lt;Types::SubscribedPrincipal&gt; @@ -5512,11 +5775,17 @@ # # resp.created_at #=> Time # resp.created_by #=> String # resp.decision_comment #=> String # resp.domain_id #=> String + # resp.existing_subscription_id #=> String # resp.id #=> String + # resp.metadata_forms #=> Array + # resp.metadata_forms[0].content #=> String + # resp.metadata_forms[0].form_name #=> String + # resp.metadata_forms[0].type_name #=> String + # resp.metadata_forms[0].type_revision #=> String # resp.request_reason #=> String # resp.reviewer_id #=> String # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.subscribed_listings #=> Array # resp.subscribed_listings[0].description #=> String @@ -7156,10 +7425,115 @@ def list_projects(params = {}, options = {}) req = build_request(:list_projects, params) req.send_request(options) end + # 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. + # + # @option params [String] :action + # The action of the rule. + # + # @option params [Array<String>] :asset_types + # The asset types of the rule. + # + # @option params [Boolean] :data_product + # The data product of the rule. + # + # @option params [required, String] :domain_identifier + # The ID of the domain in which the rules are to be listed. + # + # @option params [Boolean] :include_cascaded + # Specifies whether to include cascading rules in the results. + # + # @option params [Integer] :max_results + # 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. + # + # @option params [String] :next_token + # 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. + # + # @option params [Array<String>] :project_ids + # The IDs of projects in which rules are to be listed. + # + # @option params [String] :rule_type + # The type of the rule. + # + # @option params [required, String] :target_identifier + # The target ID of the rule. + # + # @option params [required, String] :target_type + # The target type of the rule. + # + # @return [Types::ListRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListRulesOutput#items #items} => Array&lt;Types::RuleSummary&gt; + # * {Types::ListRulesOutput#next_token #next_token} => String + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_rules({ + # action: "CREATE_SUBSCRIPTION_REQUEST", # accepts CREATE_SUBSCRIPTION_REQUEST + # asset_types: ["AssetTypeIdentifier"], + # data_product: false, + # domain_identifier: "DomainId", # required + # include_cascaded: false, + # max_results: 1, + # next_token: "PaginationToken", + # project_ids: ["ProjectId"], + # rule_type: "METADATA_FORM_ENFORCEMENT", # accepts METADATA_FORM_ENFORCEMENT + # target_identifier: "String", # required + # target_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT + # }) + # + # @example Response structure + # + # resp.items #=> Array + # resp.items[0].action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST" + # resp.items[0].identifier #=> String + # resp.items[0].last_updated_by #=> String + # resp.items[0].name #=> String + # resp.items[0].revision #=> String + # resp.items[0].rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT" + # resp.items[0].scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.items[0].scope.asset_type.specific_asset_types #=> Array + # resp.items[0].scope.asset_type.specific_asset_types[0] #=> String + # resp.items[0].scope.data_product #=> Boolean + # resp.items[0].scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.items[0].scope.project.specific_projects #=> Array + # resp.items[0].scope.project.specific_projects[0] #=> String + # resp.items[0].target.domain_unit_target.domain_unit_id #=> String + # resp.items[0].target.domain_unit_target.include_child_domain_units #=> Boolean + # resp.items[0].target_type #=> String, one of "DOMAIN_UNIT" + # resp.items[0].updated_at #=> Time + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListRules AWS API Documentation + # + # @overload list_rules(params = {}) + # @param [Hash] params ({}) + def list_rules(params = {}, options = {}) + req = build_request(:list_rules, params) + req.send_request(options) + end + # Lists subscription grants. # # @option params [required, String] :domain_identifier # The identifier of the Amazon DataZone domain. # @@ -7330,11 +7704,16 @@ # resp.items #=> Array # resp.items[0].created_at #=> Time # resp.items[0].created_by #=> String # resp.items[0].decision_comment #=> String # resp.items[0].domain_id #=> String + # resp.items[0].existing_subscription_id #=> String # resp.items[0].id #=> String + # resp.items[0].metadata_forms_summary #=> Array + # resp.items[0].metadata_forms_summary[0].form_name #=> String + # resp.items[0].metadata_forms_summary[0].type_name #=> String + # resp.items[0].metadata_forms_summary[0].type_revision #=> String # resp.items[0].request_reason #=> String # resp.items[0].reviewer_id #=> String # resp.items[0].status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.items[0].subscribed_listings #=> Array # resp.items[0].subscribed_listings[0].description #=> String @@ -7973,11 +8352,13 @@ # # * {Types::RejectSubscriptionRequestOutput#created_at #created_at} => Time # * {Types::RejectSubscriptionRequestOutput#created_by #created_by} => String # * {Types::RejectSubscriptionRequestOutput#decision_comment #decision_comment} => String # * {Types::RejectSubscriptionRequestOutput#domain_id #domain_id} => String + # * {Types::RejectSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String # * {Types::RejectSubscriptionRequestOutput#id #id} => String + # * {Types::RejectSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt; # * {Types::RejectSubscriptionRequestOutput#request_reason #request_reason} => String # * {Types::RejectSubscriptionRequestOutput#reviewer_id #reviewer_id} => String # * {Types::RejectSubscriptionRequestOutput#status #status} => String # * {Types::RejectSubscriptionRequestOutput#subscribed_listings #subscribed_listings} => Array&lt;Types::SubscribedListing&gt; # * {Types::RejectSubscriptionRequestOutput#subscribed_principals #subscribed_principals} => Array&lt;Types::SubscribedPrincipal&gt; @@ -7996,11 +8377,17 @@ # # resp.created_at #=> Time # resp.created_by #=> String # resp.decision_comment #=> String # resp.domain_id #=> String + # resp.existing_subscription_id #=> String # resp.id #=> String + # resp.metadata_forms #=> Array + # resp.metadata_forms[0].content #=> String + # resp.metadata_forms[0].form_name #=> String + # resp.metadata_forms[0].type_name #=> String + # resp.metadata_forms[0].type_revision #=> String # resp.request_reason #=> String # resp.reviewer_id #=> String # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.subscribed_listings #=> Array # resp.subscribed_listings[0].description #=> String @@ -9255,11 +9642,11 @@ # asset_forms_input: [ # { # content: "FormInputContentString", # form_name: "FormName", # required # type_identifier: "FormTypeIdentifier", - # type_revision: "Revision", + # type_revision: "RevisionInput", # }, # ], # configuration: { # glue_run_configuration: { # auto_import_data_quality_result: false, @@ -10038,10 +10425,122 @@ def update_project(params = {}, options = {}) req = build_request(:update_project, params) req.send_request(options) end + # 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. + # + # @option params [String] :description + # The description of the rule. + # + # @option params [Types::RuleDetail] :detail + # The detail of the rule. + # + # @option params [required, String] :domain_identifier + # The ID of the domain in which a rule is to be updated. + # + # @option params [required, String] :identifier + # The ID of the rule that is to be updated + # + # @option params [Boolean] :include_child_domain_units + # Specifies whether to update this rule in the child domain units. + # + # @option params [String] :name + # The name of the rule. + # + # @option params [Types::RuleScope] :scope + # The scrope of the rule. + # + # @return [Types::UpdateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::UpdateRuleOutput#action #action} => String + # * {Types::UpdateRuleOutput#created_at #created_at} => Time + # * {Types::UpdateRuleOutput#created_by #created_by} => String + # * {Types::UpdateRuleOutput#description #description} => String + # * {Types::UpdateRuleOutput#detail #detail} => Types::RuleDetail + # * {Types::UpdateRuleOutput#identifier #identifier} => String + # * {Types::UpdateRuleOutput#last_updated_by #last_updated_by} => String + # * {Types::UpdateRuleOutput#name #name} => String + # * {Types::UpdateRuleOutput#revision #revision} => String + # * {Types::UpdateRuleOutput#rule_type #rule_type} => String + # * {Types::UpdateRuleOutput#scope #scope} => Types::RuleScope + # * {Types::UpdateRuleOutput#target #target} => Types::RuleTarget + # * {Types::UpdateRuleOutput#updated_at #updated_at} => Time + # + # @example Request syntax with placeholder values + # + # resp = client.update_rule({ + # description: "Description", + # detail: { + # metadata_form_enforcement_detail: { + # required_metadata_forms: [ + # { + # type_identifier: "FormTypeIdentifier", # required + # type_revision: "Revision", # required + # }, + # ], + # }, + # }, + # domain_identifier: "DomainId", # required + # identifier: "RuleId", # required + # include_child_domain_units: false, + # name: "RuleName", + # scope: { + # asset_type: { + # selection_mode: "ALL", # required, accepts ALL, SPECIFIC + # specific_asset_types: ["AssetTypeIdentifier"], + # }, + # data_product: false, + # project: { + # selection_mode: "ALL", # required, accepts ALL, SPECIFIC + # specific_projects: ["ProjectId"], + # }, + # }, + # }) + # + # @example Response structure + # + # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST" + # resp.created_at #=> Time + # resp.created_by #=> String + # resp.description #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String + # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String + # resp.identifier #=> String + # resp.last_updated_by #=> String + # resp.name #=> String + # resp.revision #=> String + # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT" + # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.asset_type.specific_asset_types #=> Array + # resp.scope.asset_type.specific_asset_types[0] #=> String + # resp.scope.data_product #=> Boolean + # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC" + # resp.scope.project.specific_projects #=> Array + # resp.scope.project.specific_projects[0] #=> String + # resp.target.domain_unit_target.domain_unit_id #=> String + # resp.target.domain_unit_target.include_child_domain_units #=> Boolean + # resp.updated_at #=> Time + # + # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/UpdateRule AWS API Documentation + # + # @overload update_rule(params = {}) + # @param [Hash] params ({}) + def update_rule(params = {}, options = {}) + req = build_request(:update_rule, params) + req.send_request(options) + end + # Updates the status of the specified subscription grant status in # Amazon DataZone. # # @option params [required, String] :asset_identifier # The identifier of the asset the subscription grant status of which is @@ -10146,11 +10645,13 @@ # # * {Types::UpdateSubscriptionRequestOutput#created_at #created_at} => Time # * {Types::UpdateSubscriptionRequestOutput#created_by #created_by} => String # * {Types::UpdateSubscriptionRequestOutput#decision_comment #decision_comment} => String # * {Types::UpdateSubscriptionRequestOutput#domain_id #domain_id} => String + # * {Types::UpdateSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String # * {Types::UpdateSubscriptionRequestOutput#id #id} => String + # * {Types::UpdateSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt; # * {Types::UpdateSubscriptionRequestOutput#request_reason #request_reason} => String # * {Types::UpdateSubscriptionRequestOutput#reviewer_id #reviewer_id} => String # * {Types::UpdateSubscriptionRequestOutput#status #status} => String # * {Types::UpdateSubscriptionRequestOutput#subscribed_listings #subscribed_listings} => Array&lt;Types::SubscribedListing&gt; # * {Types::UpdateSubscriptionRequestOutput#subscribed_principals #subscribed_principals} => Array&lt;Types::SubscribedPrincipal&gt; @@ -10169,11 +10670,17 @@ # # resp.created_at #=> Time # resp.created_by #=> String # resp.decision_comment #=> String # resp.domain_id #=> String + # resp.existing_subscription_id #=> String # resp.id #=> String + # resp.metadata_forms #=> Array + # resp.metadata_forms[0].content #=> String + # resp.metadata_forms[0].form_name #=> String + # resp.metadata_forms[0].type_name #=> String + # resp.metadata_forms[0].type_revision #=> String # resp.request_reason #=> String # resp.reviewer_id #=> String # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED" # resp.subscribed_listings #=> Array # resp.subscribed_listings[0].description #=> String @@ -10393,10 +10900,10 @@ params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-datazone' - context[:gem_version] = '1.27.0' + context[:gem_version] = '1.28.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated