aws-sdk-datazone 1.26.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -539,7 +539,9 @@ module Aws::DataZone
539
539
  # * {Types::AcceptSubscriptionRequestOutput#created_by #created_by} => String
540
540
  # * {Types::AcceptSubscriptionRequestOutput#decision_comment #decision_comment} => String
541
541
  # * {Types::AcceptSubscriptionRequestOutput#domain_id #domain_id} => String
542
+ # * {Types::AcceptSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String
542
543
  # * {Types::AcceptSubscriptionRequestOutput#id #id} => String
544
+ # * {Types::AcceptSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array<Types::FormOutput>
543
545
  # * {Types::AcceptSubscriptionRequestOutput#request_reason #request_reason} => String
544
546
  # * {Types::AcceptSubscriptionRequestOutput#reviewer_id #reviewer_id} => String
545
547
  # * {Types::AcceptSubscriptionRequestOutput#status #status} => String
@@ -568,7 +570,13 @@ module Aws::DataZone
568
570
  # resp.created_by #=> String
569
571
  # resp.decision_comment #=> String
570
572
  # resp.domain_id #=> String
573
+ # resp.existing_subscription_id #=> String
571
574
  # resp.id #=> String
575
+ # resp.metadata_forms #=> Array
576
+ # resp.metadata_forms[0].content #=> String
577
+ # resp.metadata_forms[0].form_name #=> String
578
+ # resp.metadata_forms[0].type_name #=> String
579
+ # resp.metadata_forms[0].type_revision #=> String
572
580
  # resp.request_reason #=> String
573
581
  # resp.reviewer_id #=> String
574
582
  # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -752,7 +760,7 @@ module Aws::DataZone
752
760
  # group_identifier: "GroupIdentifier",
753
761
  # },
754
762
  # project: {
755
- # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR
763
+ # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR, PROJECT_CATALOG_STEWARD
756
764
  # project_grant_filter: {
757
765
  # domain_unit_filter: {
758
766
  # domain_unit: "DomainUnitId", # required
@@ -992,7 +1000,7 @@ module Aws::DataZone
992
1000
  # content: "FormInputContentString",
993
1001
  # form_name: "FormName", # required
994
1002
  # type_identifier: "FormTypeIdentifier",
995
- # type_revision: "Revision",
1003
+ # type_revision: "RevisionInput",
996
1004
  # },
997
1005
  # ],
998
1006
  # glossary_terms: ["GlossaryTermId"],
@@ -1293,7 +1301,7 @@ module Aws::DataZone
1293
1301
  # content: "FormInputContentString",
1294
1302
  # form_name: "FormName", # required
1295
1303
  # type_identifier: "FormTypeIdentifier",
1296
- # type_revision: "Revision",
1304
+ # type_revision: "RevisionInput",
1297
1305
  # },
1298
1306
  # ],
1299
1307
  # glossary_terms: ["GlossaryTermId"],
@@ -1489,7 +1497,7 @@ module Aws::DataZone
1489
1497
  # content: "FormInputContentString",
1490
1498
  # form_name: "FormName", # required
1491
1499
  # type_identifier: "FormTypeIdentifier",
1492
- # type_revision: "Revision",
1500
+ # type_revision: "RevisionInput",
1493
1501
  # },
1494
1502
  # ],
1495
1503
  # glossary_terms: ["GlossaryTermId"],
@@ -1599,7 +1607,7 @@ module Aws::DataZone
1599
1607
  # content: "FormInputContentString",
1600
1608
  # form_name: "FormName", # required
1601
1609
  # type_identifier: "FormTypeIdentifier",
1602
- # type_revision: "Revision",
1610
+ # type_revision: "RevisionInput",
1603
1611
  # },
1604
1612
  # ],
1605
1613
  # glossary_terms: ["GlossaryTermId"],
@@ -1733,7 +1741,7 @@ module Aws::DataZone
1733
1741
  # content: "FormInputContentString",
1734
1742
  # form_name: "FormName", # required
1735
1743
  # type_identifier: "FormTypeIdentifier",
1736
- # type_revision: "Revision",
1744
+ # type_revision: "RevisionInput",
1737
1745
  # },
1738
1746
  # ],
1739
1747
  # client_token: "String",
@@ -2705,7 +2713,7 @@ module Aws::DataZone
2705
2713
  # @example Request syntax with placeholder values
2706
2714
  #
2707
2715
  # resp = client.create_project_membership({
2708
- # designation: "PROJECT_OWNER", # required, accepts PROJECT_OWNER, PROJECT_CONTRIBUTOR
2716
+ # designation: "PROJECT_OWNER", # required, accepts PROJECT_OWNER, PROJECT_CONTRIBUTOR, PROJECT_CATALOG_VIEWER, PROJECT_CATALOG_CONSUMER, PROJECT_CATALOG_STEWARD
2709
2717
  # domain_identifier: "DomainId", # required
2710
2718
  # member: { # required
2711
2719
  # group_identifier: "String",
@@ -2723,6 +2731,127 @@ module Aws::DataZone
2723
2731
  req.send_request(options)
2724
2732
  end
2725
2733
 
2734
+ # Creates a rule in Amazon DataZone. A rule is a formal agreement that
2735
+ # enforces specific requirements across user workflows (e.g., publishing
2736
+ # assets to the catalog, requesting subscriptions, creating projects)
2737
+ # within the Amazon DataZone data portal. These rules help maintain
2738
+ # consistency, ensure compliance, and uphold governance standards in
2739
+ # data management processes. For instance, a metadata enforcement rule
2740
+ # can specify the required information for creating a subscription
2741
+ # request or publishing a data asset to the catalog, ensuring alignment
2742
+ # with organizational standards.
2743
+ #
2744
+ # @option params [required, String] :action
2745
+ # The action of the rule.
2746
+ #
2747
+ # @option params [String] :client_token
2748
+ # A unique, case-sensitive identifier that is provided to ensure the
2749
+ # idempotency of the request.
2750
+ #
2751
+ # **A suitable default value is auto-generated.** You should normally
2752
+ # not need to pass this option.**
2753
+ #
2754
+ # @option params [String] :description
2755
+ # The description of the rule.
2756
+ #
2757
+ # @option params [required, Types::RuleDetail] :detail
2758
+ # The detail of the rule.
2759
+ #
2760
+ # @option params [required, String] :domain_identifier
2761
+ # The ID of the domain where the rule is created.
2762
+ #
2763
+ # @option params [required, String] :name
2764
+ # The name of the rule.
2765
+ #
2766
+ # @option params [required, Types::RuleScope] :scope
2767
+ # The scope of the rule.
2768
+ #
2769
+ # @option params [required, Types::RuleTarget] :target
2770
+ # The target of the rule.
2771
+ #
2772
+ # @return [Types::CreateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2773
+ #
2774
+ # * {Types::CreateRuleOutput#action #action} => String
2775
+ # * {Types::CreateRuleOutput#created_at #created_at} => Time
2776
+ # * {Types::CreateRuleOutput#created_by #created_by} => String
2777
+ # * {Types::CreateRuleOutput#description #description} => String
2778
+ # * {Types::CreateRuleOutput#detail #detail} => Types::RuleDetail
2779
+ # * {Types::CreateRuleOutput#identifier #identifier} => String
2780
+ # * {Types::CreateRuleOutput#name #name} => String
2781
+ # * {Types::CreateRuleOutput#rule_type #rule_type} => String
2782
+ # * {Types::CreateRuleOutput#scope #scope} => Types::RuleScope
2783
+ # * {Types::CreateRuleOutput#target #target} => Types::RuleTarget
2784
+ # * {Types::CreateRuleOutput#target_type #target_type} => String
2785
+ #
2786
+ # @example Request syntax with placeholder values
2787
+ #
2788
+ # resp = client.create_rule({
2789
+ # action: "CREATE_SUBSCRIPTION_REQUEST", # required, accepts CREATE_SUBSCRIPTION_REQUEST
2790
+ # client_token: "ClientToken",
2791
+ # description: "Description",
2792
+ # detail: { # required
2793
+ # metadata_form_enforcement_detail: {
2794
+ # required_metadata_forms: [
2795
+ # {
2796
+ # type_identifier: "FormTypeIdentifier", # required
2797
+ # type_revision: "Revision", # required
2798
+ # },
2799
+ # ],
2800
+ # },
2801
+ # },
2802
+ # domain_identifier: "DomainId", # required
2803
+ # name: "RuleName", # required
2804
+ # scope: { # required
2805
+ # asset_type: {
2806
+ # selection_mode: "ALL", # required, accepts ALL, SPECIFIC
2807
+ # specific_asset_types: ["AssetTypeIdentifier"],
2808
+ # },
2809
+ # data_product: false,
2810
+ # project: {
2811
+ # selection_mode: "ALL", # required, accepts ALL, SPECIFIC
2812
+ # specific_projects: ["ProjectId"],
2813
+ # },
2814
+ # },
2815
+ # target: { # required
2816
+ # domain_unit_target: {
2817
+ # domain_unit_id: "DomainUnitId", # required
2818
+ # include_child_domain_units: false,
2819
+ # },
2820
+ # },
2821
+ # })
2822
+ #
2823
+ # @example Response structure
2824
+ #
2825
+ # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST"
2826
+ # resp.created_at #=> Time
2827
+ # resp.created_by #=> String
2828
+ # resp.description #=> String
2829
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array
2830
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String
2831
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String
2832
+ # resp.identifier #=> String
2833
+ # resp.name #=> String
2834
+ # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT"
2835
+ # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC"
2836
+ # resp.scope.asset_type.specific_asset_types #=> Array
2837
+ # resp.scope.asset_type.specific_asset_types[0] #=> String
2838
+ # resp.scope.data_product #=> Boolean
2839
+ # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC"
2840
+ # resp.scope.project.specific_projects #=> Array
2841
+ # resp.scope.project.specific_projects[0] #=> String
2842
+ # resp.target.domain_unit_target.domain_unit_id #=> String
2843
+ # resp.target.domain_unit_target.include_child_domain_units #=> Boolean
2844
+ # resp.target_type #=> String, one of "DOMAIN_UNIT"
2845
+ #
2846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/CreateRule AWS API Documentation
2847
+ #
2848
+ # @overload create_rule(params = {})
2849
+ # @param [Hash] params ({})
2850
+ def create_rule(params = {}, options = {})
2851
+ req = build_request(:create_rule, params)
2852
+ req.send_request(options)
2853
+ end
2854
+
2726
2855
  # Creates a subsscription grant in Amazon DataZone.
2727
2856
  #
2728
2857
  # @option params [Array<Types::AssetTargetNameMap>] :asset_target_names
@@ -2833,6 +2962,9 @@ module Aws::DataZone
2833
2962
  # The ID of the Amazon DataZone domain in which the subscription request
2834
2963
  # is created.
2835
2964
  #
2965
+ # @option params [Array<Types::FormInput>] :metadata_forms
2966
+ # The metadata form included in the subscription request.
2967
+ #
2836
2968
  # @option params [required, String] :request_reason
2837
2969
  # The reason for the subscription request.
2838
2970
  #
@@ -2849,7 +2981,9 @@ module Aws::DataZone
2849
2981
  # * {Types::CreateSubscriptionRequestOutput#created_by #created_by} => String
2850
2982
  # * {Types::CreateSubscriptionRequestOutput#decision_comment #decision_comment} => String
2851
2983
  # * {Types::CreateSubscriptionRequestOutput#domain_id #domain_id} => String
2984
+ # * {Types::CreateSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String
2852
2985
  # * {Types::CreateSubscriptionRequestOutput#id #id} => String
2986
+ # * {Types::CreateSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt;
2853
2987
  # * {Types::CreateSubscriptionRequestOutput#request_reason #request_reason} => String
2854
2988
  # * {Types::CreateSubscriptionRequestOutput#reviewer_id #reviewer_id} => String
2855
2989
  # * {Types::CreateSubscriptionRequestOutput#status #status} => String
@@ -2863,6 +2997,14 @@ module Aws::DataZone
2863
2997
  # resp = client.create_subscription_request({
2864
2998
  # client_token: "String",
2865
2999
  # domain_identifier: "DomainId", # required
3000
+ # metadata_forms: [
3001
+ # {
3002
+ # content: "FormInputContentString",
3003
+ # form_name: "FormName", # required
3004
+ # type_identifier: "FormTypeIdentifier",
3005
+ # type_revision: "RevisionInput",
3006
+ # },
3007
+ # ],
2866
3008
  # request_reason: "RequestReason", # required
2867
3009
  # subscribed_listings: [ # required
2868
3010
  # {
@@ -2884,7 +3026,13 @@ module Aws::DataZone
2884
3026
  # resp.created_by #=> String
2885
3027
  # resp.decision_comment #=> String
2886
3028
  # resp.domain_id #=> String
3029
+ # resp.existing_subscription_id #=> String
2887
3030
  # resp.id #=> String
3031
+ # resp.metadata_forms #=> Array
3032
+ # resp.metadata_forms[0].content #=> String
3033
+ # resp.metadata_forms[0].form_name #=> String
3034
+ # resp.metadata_forms[0].type_name #=> String
3035
+ # resp.metadata_forms[0].type_revision #=> String
2888
3036
  # resp.request_reason #=> String
2889
3037
  # resp.reviewer_id #=> String
2890
3038
  # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -3682,6 +3830,40 @@ module Aws::DataZone
3682
3830
  req.send_request(options)
3683
3831
  end
3684
3832
 
3833
+ # Deletes a rule in Amazon DataZone. A rule is a formal agreement that
3834
+ # enforces specific requirements across user workflows (e.g., publishing
3835
+ # assets to the catalog, requesting subscriptions, creating projects)
3836
+ # within the Amazon DataZone data portal. These rules help maintain
3837
+ # consistency, ensure compliance, and uphold governance standards in
3838
+ # data management processes. For instance, a metadata enforcement rule
3839
+ # can specify the required information for creating a subscription
3840
+ # request or publishing a data asset to the catalog, ensuring alignment
3841
+ # with organizational standards.
3842
+ #
3843
+ # @option params [required, String] :domain_identifier
3844
+ # The ID of the domain that where the rule is to be deleted.
3845
+ #
3846
+ # @option params [required, String] :identifier
3847
+ # The ID of the rule that is to be deleted.
3848
+ #
3849
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3850
+ #
3851
+ # @example Request syntax with placeholder values
3852
+ #
3853
+ # resp = client.delete_rule({
3854
+ # domain_identifier: "DomainId", # required
3855
+ # identifier: "RuleId", # required
3856
+ # })
3857
+ #
3858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/DeleteRule AWS API Documentation
3859
+ #
3860
+ # @overload delete_rule(params = {})
3861
+ # @param [Hash] params ({})
3862
+ def delete_rule(params = {}, options = {})
3863
+ req = build_request(:delete_rule, params)
3864
+ req.send_request(options)
3865
+ end
3866
+
3685
3867
  # Deletes and subscription grant in Amazon DataZone.
3686
3868
  #
3687
3869
  # @option params [required, String] :domain_identifier
@@ -5329,6 +5511,85 @@ module Aws::DataZone
5329
5511
  req.send_request(options)
5330
5512
  end
5331
5513
 
5514
+ # Gets the details of a rule in Amazon DataZone. A rule is a formal
5515
+ # agreement that enforces specific requirements across user workflows
5516
+ # (e.g., publishing assets to the catalog, requesting subscriptions,
5517
+ # creating projects) within the Amazon DataZone data portal. These rules
5518
+ # help maintain consistency, ensure compliance, and uphold governance
5519
+ # standards in data management processes. For instance, a metadata
5520
+ # enforcement rule can specify the required information for creating a
5521
+ # subscription request or publishing a data asset to the catalog,
5522
+ # ensuring alignment with organizational standards.
5523
+ #
5524
+ # @option params [required, String] :domain_identifier
5525
+ # The ID of the domain where the `GetRule` action is to be invoked.
5526
+ #
5527
+ # @option params [required, String] :identifier
5528
+ # The ID of the rule.
5529
+ #
5530
+ # @option params [String] :revision
5531
+ # The revision of the rule.
5532
+ #
5533
+ # @return [Types::GetRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5534
+ #
5535
+ # * {Types::GetRuleOutput#action #action} => String
5536
+ # * {Types::GetRuleOutput#created_at #created_at} => Time
5537
+ # * {Types::GetRuleOutput#created_by #created_by} => String
5538
+ # * {Types::GetRuleOutput#description #description} => String
5539
+ # * {Types::GetRuleOutput#detail #detail} => Types::RuleDetail
5540
+ # * {Types::GetRuleOutput#identifier #identifier} => String
5541
+ # * {Types::GetRuleOutput#last_updated_by #last_updated_by} => String
5542
+ # * {Types::GetRuleOutput#name #name} => String
5543
+ # * {Types::GetRuleOutput#revision #revision} => String
5544
+ # * {Types::GetRuleOutput#rule_type #rule_type} => String
5545
+ # * {Types::GetRuleOutput#scope #scope} => Types::RuleScope
5546
+ # * {Types::GetRuleOutput#target #target} => Types::RuleTarget
5547
+ # * {Types::GetRuleOutput#target_type #target_type} => String
5548
+ # * {Types::GetRuleOutput#updated_at #updated_at} => Time
5549
+ #
5550
+ # @example Request syntax with placeholder values
5551
+ #
5552
+ # resp = client.get_rule({
5553
+ # domain_identifier: "DomainId", # required
5554
+ # identifier: "RuleId", # required
5555
+ # revision: "Revision",
5556
+ # })
5557
+ #
5558
+ # @example Response structure
5559
+ #
5560
+ # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST"
5561
+ # resp.created_at #=> Time
5562
+ # resp.created_by #=> String
5563
+ # resp.description #=> String
5564
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array
5565
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String
5566
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String
5567
+ # resp.identifier #=> String
5568
+ # resp.last_updated_by #=> String
5569
+ # resp.name #=> String
5570
+ # resp.revision #=> String
5571
+ # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT"
5572
+ # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC"
5573
+ # resp.scope.asset_type.specific_asset_types #=> Array
5574
+ # resp.scope.asset_type.specific_asset_types[0] #=> String
5575
+ # resp.scope.data_product #=> Boolean
5576
+ # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC"
5577
+ # resp.scope.project.specific_projects #=> Array
5578
+ # resp.scope.project.specific_projects[0] #=> String
5579
+ # resp.target.domain_unit_target.domain_unit_id #=> String
5580
+ # resp.target.domain_unit_target.include_child_domain_units #=> Boolean
5581
+ # resp.target_type #=> String, one of "DOMAIN_UNIT"
5582
+ # resp.updated_at #=> Time
5583
+ #
5584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/GetRule AWS API Documentation
5585
+ #
5586
+ # @overload get_rule(params = {})
5587
+ # @param [Hash] params ({})
5588
+ def get_rule(params = {}, options = {})
5589
+ req = build_request(:get_rule, params)
5590
+ req.send_request(options)
5591
+ end
5592
+
5332
5593
  # Gets a subscription in Amazon DataZone.
5333
5594
  #
5334
5595
  # @option params [required, String] :domain_identifier
@@ -5492,7 +5753,9 @@ module Aws::DataZone
5492
5753
  # * {Types::GetSubscriptionRequestDetailsOutput#created_by #created_by} => String
5493
5754
  # * {Types::GetSubscriptionRequestDetailsOutput#decision_comment #decision_comment} => String
5494
5755
  # * {Types::GetSubscriptionRequestDetailsOutput#domain_id #domain_id} => String
5756
+ # * {Types::GetSubscriptionRequestDetailsOutput#existing_subscription_id #existing_subscription_id} => String
5495
5757
  # * {Types::GetSubscriptionRequestDetailsOutput#id #id} => String
5758
+ # * {Types::GetSubscriptionRequestDetailsOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt;
5496
5759
  # * {Types::GetSubscriptionRequestDetailsOutput#request_reason #request_reason} => String
5497
5760
  # * {Types::GetSubscriptionRequestDetailsOutput#reviewer_id #reviewer_id} => String
5498
5761
  # * {Types::GetSubscriptionRequestDetailsOutput#status #status} => String
@@ -5514,7 +5777,13 @@ module Aws::DataZone
5514
5777
  # resp.created_by #=> String
5515
5778
  # resp.decision_comment #=> String
5516
5779
  # resp.domain_id #=> String
5780
+ # resp.existing_subscription_id #=> String
5517
5781
  # resp.id #=> String
5782
+ # resp.metadata_forms #=> Array
5783
+ # resp.metadata_forms[0].content #=> String
5784
+ # resp.metadata_forms[0].form_name #=> String
5785
+ # resp.metadata_forms[0].type_name #=> String
5786
+ # resp.metadata_forms[0].type_revision #=> String
5518
5787
  # resp.request_reason #=> String
5519
5788
  # resp.reviewer_id #=> String
5520
5789
  # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -7004,7 +7273,7 @@ module Aws::DataZone
7004
7273
  # resp.grant_list[0].principal.domain_unit.domain_unit_designation #=> String, one of "OWNER"
7005
7274
  # resp.grant_list[0].principal.domain_unit.domain_unit_identifier #=> String
7006
7275
  # resp.grant_list[0].principal.group.group_identifier #=> String
7007
- # resp.grant_list[0].principal.project.project_designation #=> String, one of "OWNER", "CONTRIBUTOR"
7276
+ # resp.grant_list[0].principal.project.project_designation #=> String, one of "OWNER", "CONTRIBUTOR", "PROJECT_CATALOG_STEWARD"
7008
7277
  # resp.grant_list[0].principal.project.project_grant_filter.domain_unit_filter.domain_unit #=> String
7009
7278
  # resp.grant_list[0].principal.project.project_grant_filter.domain_unit_filter.include_child_domain_units #=> Boolean
7010
7279
  # resp.grant_list[0].principal.project.project_identifier #=> String
@@ -7071,7 +7340,7 @@ module Aws::DataZone
7071
7340
  # @example Response structure
7072
7341
  #
7073
7342
  # resp.members #=> Array
7074
- # resp.members[0].designation #=> String, one of "PROJECT_OWNER", "PROJECT_CONTRIBUTOR"
7343
+ # resp.members[0].designation #=> String, one of "PROJECT_OWNER", "PROJECT_CONTRIBUTOR", "PROJECT_CATALOG_VIEWER", "PROJECT_CATALOG_CONSUMER", "PROJECT_CATALOG_STEWARD"
7075
7344
  # resp.members[0].member_details.group.group_id #=> String
7076
7345
  # resp.members[0].member_details.user.user_id #=> String
7077
7346
  # resp.next_token #=> String
@@ -7158,6 +7427,111 @@ module Aws::DataZone
7158
7427
  req.send_request(options)
7159
7428
  end
7160
7429
 
7430
+ # Lists existing rules. In Amazon DataZone, a rule is a formal agreement
7431
+ # that enforces specific requirements across user workflows (e.g.,
7432
+ # publishing assets to the catalog, requesting subscriptions, creating
7433
+ # projects) within the Amazon DataZone data portal. These rules help
7434
+ # maintain consistency, ensure compliance, and uphold governance
7435
+ # standards in data management processes. For instance, a metadata
7436
+ # enforcement rule can specify the required information for creating a
7437
+ # subscription request or publishing a data asset to the catalog,
7438
+ # ensuring alignment with organizational standards.
7439
+ #
7440
+ # @option params [String] :action
7441
+ # The action of the rule.
7442
+ #
7443
+ # @option params [Array<String>] :asset_types
7444
+ # The asset types of the rule.
7445
+ #
7446
+ # @option params [Boolean] :data_product
7447
+ # The data product of the rule.
7448
+ #
7449
+ # @option params [required, String] :domain_identifier
7450
+ # The ID of the domain in which the rules are to be listed.
7451
+ #
7452
+ # @option params [Boolean] :include_cascaded
7453
+ # Specifies whether to include cascading rules in the results.
7454
+ #
7455
+ # @option params [Integer] :max_results
7456
+ # The maximum number of rules to return in a single call to `ListRules`.
7457
+ # When the number of rules to be listed is greater than the value of
7458
+ # `MaxResults`, the response contains a `NextToken` value that you can
7459
+ # use in a subsequent call to `ListRules` to list the next set of rules.
7460
+ #
7461
+ # @option params [String] :next_token
7462
+ # When the number of rules is greater than the default value for the
7463
+ # `MaxResults` parameter, or if you explicitly specify a value for
7464
+ # `MaxResults` that is less than the number of rules, the response
7465
+ # includes a pagination token named `NextToken`. You can specify this
7466
+ # `NextToken` value in a subsequent call to `ListRules` to list the next
7467
+ # set of rules.
7468
+ #
7469
+ # @option params [Array<String>] :project_ids
7470
+ # The IDs of projects in which rules are to be listed.
7471
+ #
7472
+ # @option params [String] :rule_type
7473
+ # The type of the rule.
7474
+ #
7475
+ # @option params [required, String] :target_identifier
7476
+ # The target ID of the rule.
7477
+ #
7478
+ # @option params [required, String] :target_type
7479
+ # The target type of the rule.
7480
+ #
7481
+ # @return [Types::ListRulesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7482
+ #
7483
+ # * {Types::ListRulesOutput#items #items} => Array&lt;Types::RuleSummary&gt;
7484
+ # * {Types::ListRulesOutput#next_token #next_token} => String
7485
+ #
7486
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7487
+ #
7488
+ # @example Request syntax with placeholder values
7489
+ #
7490
+ # resp = client.list_rules({
7491
+ # action: "CREATE_SUBSCRIPTION_REQUEST", # accepts CREATE_SUBSCRIPTION_REQUEST
7492
+ # asset_types: ["AssetTypeIdentifier"],
7493
+ # data_product: false,
7494
+ # domain_identifier: "DomainId", # required
7495
+ # include_cascaded: false,
7496
+ # max_results: 1,
7497
+ # next_token: "PaginationToken",
7498
+ # project_ids: ["ProjectId"],
7499
+ # rule_type: "METADATA_FORM_ENFORCEMENT", # accepts METADATA_FORM_ENFORCEMENT
7500
+ # target_identifier: "String", # required
7501
+ # target_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT
7502
+ # })
7503
+ #
7504
+ # @example Response structure
7505
+ #
7506
+ # resp.items #=> Array
7507
+ # resp.items[0].action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST"
7508
+ # resp.items[0].identifier #=> String
7509
+ # resp.items[0].last_updated_by #=> String
7510
+ # resp.items[0].name #=> String
7511
+ # resp.items[0].revision #=> String
7512
+ # resp.items[0].rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT"
7513
+ # resp.items[0].scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC"
7514
+ # resp.items[0].scope.asset_type.specific_asset_types #=> Array
7515
+ # resp.items[0].scope.asset_type.specific_asset_types[0] #=> String
7516
+ # resp.items[0].scope.data_product #=> Boolean
7517
+ # resp.items[0].scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC"
7518
+ # resp.items[0].scope.project.specific_projects #=> Array
7519
+ # resp.items[0].scope.project.specific_projects[0] #=> String
7520
+ # resp.items[0].target.domain_unit_target.domain_unit_id #=> String
7521
+ # resp.items[0].target.domain_unit_target.include_child_domain_units #=> Boolean
7522
+ # resp.items[0].target_type #=> String, one of "DOMAIN_UNIT"
7523
+ # resp.items[0].updated_at #=> Time
7524
+ # resp.next_token #=> String
7525
+ #
7526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListRules AWS API Documentation
7527
+ #
7528
+ # @overload list_rules(params = {})
7529
+ # @param [Hash] params ({})
7530
+ def list_rules(params = {}, options = {})
7531
+ req = build_request(:list_rules, params)
7532
+ req.send_request(options)
7533
+ end
7534
+
7161
7535
  # Lists subscription grants.
7162
7536
  #
7163
7537
  # @option params [required, String] :domain_identifier
@@ -7332,7 +7706,12 @@ module Aws::DataZone
7332
7706
  # resp.items[0].created_by #=> String
7333
7707
  # resp.items[0].decision_comment #=> String
7334
7708
  # resp.items[0].domain_id #=> String
7709
+ # resp.items[0].existing_subscription_id #=> String
7335
7710
  # resp.items[0].id #=> String
7711
+ # resp.items[0].metadata_forms_summary #=> Array
7712
+ # resp.items[0].metadata_forms_summary[0].form_name #=> String
7713
+ # resp.items[0].metadata_forms_summary[0].type_name #=> String
7714
+ # resp.items[0].metadata_forms_summary[0].type_revision #=> String
7336
7715
  # resp.items[0].request_reason #=> String
7337
7716
  # resp.items[0].reviewer_id #=> String
7338
7717
  # resp.items[0].status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -7975,7 +8354,9 @@ module Aws::DataZone
7975
8354
  # * {Types::RejectSubscriptionRequestOutput#created_by #created_by} => String
7976
8355
  # * {Types::RejectSubscriptionRequestOutput#decision_comment #decision_comment} => String
7977
8356
  # * {Types::RejectSubscriptionRequestOutput#domain_id #domain_id} => String
8357
+ # * {Types::RejectSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String
7978
8358
  # * {Types::RejectSubscriptionRequestOutput#id #id} => String
8359
+ # * {Types::RejectSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt;
7979
8360
  # * {Types::RejectSubscriptionRequestOutput#request_reason #request_reason} => String
7980
8361
  # * {Types::RejectSubscriptionRequestOutput#reviewer_id #reviewer_id} => String
7981
8362
  # * {Types::RejectSubscriptionRequestOutput#status #status} => String
@@ -7998,7 +8379,13 @@ module Aws::DataZone
7998
8379
  # resp.created_by #=> String
7999
8380
  # resp.decision_comment #=> String
8000
8381
  # resp.domain_id #=> String
8382
+ # resp.existing_subscription_id #=> String
8001
8383
  # resp.id #=> String
8384
+ # resp.metadata_forms #=> Array
8385
+ # resp.metadata_forms[0].content #=> String
8386
+ # resp.metadata_forms[0].form_name #=> String
8387
+ # resp.metadata_forms[0].type_name #=> String
8388
+ # resp.metadata_forms[0].type_revision #=> String
8002
8389
  # resp.request_reason #=> String
8003
8390
  # resp.reviewer_id #=> String
8004
8391
  # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -8143,7 +8530,7 @@ module Aws::DataZone
8143
8530
  # group_identifier: "GroupIdentifier",
8144
8531
  # },
8145
8532
  # project: {
8146
- # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR
8533
+ # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR, PROJECT_CATALOG_STEWARD
8147
8534
  # project_grant_filter: {
8148
8535
  # domain_unit_filter: {
8149
8536
  # domain_unit: "DomainUnitId", # required
@@ -9257,7 +9644,7 @@ module Aws::DataZone
9257
9644
  # content: "FormInputContentString",
9258
9645
  # form_name: "FormName", # required
9259
9646
  # type_identifier: "FormTypeIdentifier",
9260
- # type_revision: "Revision",
9647
+ # type_revision: "RevisionInput",
9261
9648
  # },
9262
9649
  # ],
9263
9650
  # configuration: {
@@ -10040,6 +10427,118 @@ module Aws::DataZone
10040
10427
  req.send_request(options)
10041
10428
  end
10042
10429
 
10430
+ # Updates a rule. In Amazon DataZone, a rule is a formal agreement that
10431
+ # enforces specific requirements across user workflows (e.g., publishing
10432
+ # assets to the catalog, requesting subscriptions, creating projects)
10433
+ # within the Amazon DataZone data portal. These rules help maintain
10434
+ # consistency, ensure compliance, and uphold governance standards in
10435
+ # data management processes. For instance, a metadata enforcement rule
10436
+ # can specify the required information for creating a subscription
10437
+ # request or publishing a data asset to the catalog, ensuring alignment
10438
+ # with organizational standards.
10439
+ #
10440
+ # @option params [String] :description
10441
+ # The description of the rule.
10442
+ #
10443
+ # @option params [Types::RuleDetail] :detail
10444
+ # The detail of the rule.
10445
+ #
10446
+ # @option params [required, String] :domain_identifier
10447
+ # The ID of the domain in which a rule is to be updated.
10448
+ #
10449
+ # @option params [required, String] :identifier
10450
+ # The ID of the rule that is to be updated
10451
+ #
10452
+ # @option params [Boolean] :include_child_domain_units
10453
+ # Specifies whether to update this rule in the child domain units.
10454
+ #
10455
+ # @option params [String] :name
10456
+ # The name of the rule.
10457
+ #
10458
+ # @option params [Types::RuleScope] :scope
10459
+ # The scrope of the rule.
10460
+ #
10461
+ # @return [Types::UpdateRuleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10462
+ #
10463
+ # * {Types::UpdateRuleOutput#action #action} => String
10464
+ # * {Types::UpdateRuleOutput#created_at #created_at} => Time
10465
+ # * {Types::UpdateRuleOutput#created_by #created_by} => String
10466
+ # * {Types::UpdateRuleOutput#description #description} => String
10467
+ # * {Types::UpdateRuleOutput#detail #detail} => Types::RuleDetail
10468
+ # * {Types::UpdateRuleOutput#identifier #identifier} => String
10469
+ # * {Types::UpdateRuleOutput#last_updated_by #last_updated_by} => String
10470
+ # * {Types::UpdateRuleOutput#name #name} => String
10471
+ # * {Types::UpdateRuleOutput#revision #revision} => String
10472
+ # * {Types::UpdateRuleOutput#rule_type #rule_type} => String
10473
+ # * {Types::UpdateRuleOutput#scope #scope} => Types::RuleScope
10474
+ # * {Types::UpdateRuleOutput#target #target} => Types::RuleTarget
10475
+ # * {Types::UpdateRuleOutput#updated_at #updated_at} => Time
10476
+ #
10477
+ # @example Request syntax with placeholder values
10478
+ #
10479
+ # resp = client.update_rule({
10480
+ # description: "Description",
10481
+ # detail: {
10482
+ # metadata_form_enforcement_detail: {
10483
+ # required_metadata_forms: [
10484
+ # {
10485
+ # type_identifier: "FormTypeIdentifier", # required
10486
+ # type_revision: "Revision", # required
10487
+ # },
10488
+ # ],
10489
+ # },
10490
+ # },
10491
+ # domain_identifier: "DomainId", # required
10492
+ # identifier: "RuleId", # required
10493
+ # include_child_domain_units: false,
10494
+ # name: "RuleName",
10495
+ # scope: {
10496
+ # asset_type: {
10497
+ # selection_mode: "ALL", # required, accepts ALL, SPECIFIC
10498
+ # specific_asset_types: ["AssetTypeIdentifier"],
10499
+ # },
10500
+ # data_product: false,
10501
+ # project: {
10502
+ # selection_mode: "ALL", # required, accepts ALL, SPECIFIC
10503
+ # specific_projects: ["ProjectId"],
10504
+ # },
10505
+ # },
10506
+ # })
10507
+ #
10508
+ # @example Response structure
10509
+ #
10510
+ # resp.action #=> String, one of "CREATE_SUBSCRIPTION_REQUEST"
10511
+ # resp.created_at #=> Time
10512
+ # resp.created_by #=> String
10513
+ # resp.description #=> String
10514
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms #=> Array
10515
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_identifier #=> String
10516
+ # resp.detail.metadata_form_enforcement_detail.required_metadata_forms[0].type_revision #=> String
10517
+ # resp.identifier #=> String
10518
+ # resp.last_updated_by #=> String
10519
+ # resp.name #=> String
10520
+ # resp.revision #=> String
10521
+ # resp.rule_type #=> String, one of "METADATA_FORM_ENFORCEMENT"
10522
+ # resp.scope.asset_type.selection_mode #=> String, one of "ALL", "SPECIFIC"
10523
+ # resp.scope.asset_type.specific_asset_types #=> Array
10524
+ # resp.scope.asset_type.specific_asset_types[0] #=> String
10525
+ # resp.scope.data_product #=> Boolean
10526
+ # resp.scope.project.selection_mode #=> String, one of "ALL", "SPECIFIC"
10527
+ # resp.scope.project.specific_projects #=> Array
10528
+ # resp.scope.project.specific_projects[0] #=> String
10529
+ # resp.target.domain_unit_target.domain_unit_id #=> String
10530
+ # resp.target.domain_unit_target.include_child_domain_units #=> Boolean
10531
+ # resp.updated_at #=> Time
10532
+ #
10533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/UpdateRule AWS API Documentation
10534
+ #
10535
+ # @overload update_rule(params = {})
10536
+ # @param [Hash] params ({})
10537
+ def update_rule(params = {}, options = {})
10538
+ req = build_request(:update_rule, params)
10539
+ req.send_request(options)
10540
+ end
10541
+
10043
10542
  # Updates the status of the specified subscription grant status in
10044
10543
  # Amazon DataZone.
10045
10544
  #
@@ -10148,7 +10647,9 @@ module Aws::DataZone
10148
10647
  # * {Types::UpdateSubscriptionRequestOutput#created_by #created_by} => String
10149
10648
  # * {Types::UpdateSubscriptionRequestOutput#decision_comment #decision_comment} => String
10150
10649
  # * {Types::UpdateSubscriptionRequestOutput#domain_id #domain_id} => String
10650
+ # * {Types::UpdateSubscriptionRequestOutput#existing_subscription_id #existing_subscription_id} => String
10151
10651
  # * {Types::UpdateSubscriptionRequestOutput#id #id} => String
10652
+ # * {Types::UpdateSubscriptionRequestOutput#metadata_forms #metadata_forms} => Array&lt;Types::FormOutput&gt;
10152
10653
  # * {Types::UpdateSubscriptionRequestOutput#request_reason #request_reason} => String
10153
10654
  # * {Types::UpdateSubscriptionRequestOutput#reviewer_id #reviewer_id} => String
10154
10655
  # * {Types::UpdateSubscriptionRequestOutput#status #status} => String
@@ -10171,7 +10672,13 @@ module Aws::DataZone
10171
10672
  # resp.created_by #=> String
10172
10673
  # resp.decision_comment #=> String
10173
10674
  # resp.domain_id #=> String
10675
+ # resp.existing_subscription_id #=> String
10174
10676
  # resp.id #=> String
10677
+ # resp.metadata_forms #=> Array
10678
+ # resp.metadata_forms[0].content #=> String
10679
+ # resp.metadata_forms[0].form_name #=> String
10680
+ # resp.metadata_forms[0].type_name #=> String
10681
+ # resp.metadata_forms[0].type_revision #=> String
10175
10682
  # resp.request_reason #=> String
10176
10683
  # resp.reviewer_id #=> String
10177
10684
  # resp.status #=> String, one of "PENDING", "ACCEPTED", "REJECTED"
@@ -10395,7 +10902,7 @@ module Aws::DataZone
10395
10902
  tracer: tracer
10396
10903
  )
10397
10904
  context[:gem_name] = 'aws-sdk-datazone'
10398
- context[:gem_version] = '1.26.0'
10905
+ context[:gem_version] = '1.28.0'
10399
10906
  Seahorse::Client::Request.new(handlers, context)
10400
10907
  end
10401
10908