aws-sdk-datazone 1.19.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -581,6 +581,167 @@ module Aws::DataZone
581
581
  req.send_request(options)
582
582
  end
583
583
 
584
+ # Adds the owner of an entity (a domain unit).
585
+ #
586
+ # @option params [String] :client_token
587
+ # A unique, case-sensitive identifier that is provided to ensure the
588
+ # idempotency of the request.
589
+ #
590
+ # **A suitable default value is auto-generated.** You should normally
591
+ # not need to pass this option.**
592
+ #
593
+ # @option params [required, String] :domain_identifier
594
+ # The ID of the domain in which you want to add the entity owner.
595
+ #
596
+ # @option params [required, String] :entity_identifier
597
+ # The ID of the entity to which you want to add an owner.
598
+ #
599
+ # @option params [required, String] :entity_type
600
+ # The type of an entity.
601
+ #
602
+ # @option params [required, Types::OwnerProperties] :owner
603
+ # The owner that you want to add to the entity.
604
+ #
605
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
606
+ #
607
+ # @example Request syntax with placeholder values
608
+ #
609
+ # resp = client.add_entity_owner({
610
+ # client_token: "ClientToken",
611
+ # domain_identifier: "DomainId", # required
612
+ # entity_identifier: "String", # required
613
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT
614
+ # owner: { # required
615
+ # group: {
616
+ # group_identifier: "GroupIdentifier", # required
617
+ # },
618
+ # user: {
619
+ # user_identifier: "UserIdentifier", # required
620
+ # },
621
+ # },
622
+ # })
623
+ #
624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/AddEntityOwner AWS API Documentation
625
+ #
626
+ # @overload add_entity_owner(params = {})
627
+ # @param [Hash] params ({})
628
+ def add_entity_owner(params = {}, options = {})
629
+ req = build_request(:add_entity_owner, params)
630
+ req.send_request(options)
631
+ end
632
+
633
+ # Adds a policy grant (an authorization policy) to a specified entity,
634
+ # including domain units, environment blueprint configurations, or
635
+ # environment profiles.
636
+ #
637
+ # @option params [String] :client_token
638
+ # A unique, case-sensitive identifier that is provided to ensure the
639
+ # idempotency of the request.
640
+ #
641
+ # **A suitable default value is auto-generated.** You should normally
642
+ # not need to pass this option.**
643
+ #
644
+ # @option params [required, Types::PolicyGrantDetail] :detail
645
+ # The details of the policy grant.
646
+ #
647
+ # @option params [required, String] :domain_identifier
648
+ # The ID of the domain where you want to add a policy grant.
649
+ #
650
+ # @option params [required, String] :entity_identifier
651
+ # The ID of the entity (resource) to which you want to add a policy
652
+ # grant.
653
+ #
654
+ # @option params [required, String] :entity_type
655
+ # The type of entity (resource) to which the grant is added.
656
+ #
657
+ # @option params [required, String] :policy_type
658
+ # The type of policy that you want to grant.
659
+ #
660
+ # @option params [required, Types::PolicyGrantPrincipal] :principal
661
+ # The principal to whom the permissions are granted.
662
+ #
663
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
664
+ #
665
+ # @example Request syntax with placeholder values
666
+ #
667
+ # resp = client.add_policy_grant({
668
+ # client_token: "ClientToken",
669
+ # detail: { # required
670
+ # add_to_project_member_pool: {
671
+ # include_child_domain_units: false,
672
+ # },
673
+ # create_asset_type: {
674
+ # include_child_domain_units: false,
675
+ # },
676
+ # create_domain_unit: {
677
+ # include_child_domain_units: false,
678
+ # },
679
+ # create_environment: {
680
+ # },
681
+ # create_environment_profile: {
682
+ # domain_unit_id: "DomainUnitId",
683
+ # },
684
+ # create_form_type: {
685
+ # include_child_domain_units: false,
686
+ # },
687
+ # create_glossary: {
688
+ # include_child_domain_units: false,
689
+ # },
690
+ # create_project: {
691
+ # include_child_domain_units: false,
692
+ # },
693
+ # delegate_create_environment_profile: {
694
+ # },
695
+ # override_domain_unit_owners: {
696
+ # include_child_domain_units: false,
697
+ # },
698
+ # override_project_owners: {
699
+ # include_child_domain_units: false,
700
+ # },
701
+ # },
702
+ # domain_identifier: "DomainId", # required
703
+ # entity_identifier: "String", # required
704
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT, ENVIRONMENT_BLUEPRINT_CONFIGURATION, ENVIRONMENT_PROFILE
705
+ # policy_type: "CREATE_DOMAIN_UNIT", # required, accepts CREATE_DOMAIN_UNIT, OVERRIDE_DOMAIN_UNIT_OWNERS, ADD_TO_PROJECT_MEMBER_POOL, OVERRIDE_PROJECT_OWNERS, CREATE_GLOSSARY, CREATE_FORM_TYPE, CREATE_ASSET_TYPE, CREATE_PROJECT, CREATE_ENVIRONMENT_PROFILE, DELEGATE_CREATE_ENVIRONMENT_PROFILE, CREATE_ENVIRONMENT
706
+ # principal: { # required
707
+ # domain_unit: {
708
+ # domain_unit_designation: "OWNER", # required, accepts OWNER
709
+ # domain_unit_grant_filter: {
710
+ # all_domain_units_grant_filter: {
711
+ # },
712
+ # },
713
+ # domain_unit_identifier: "DomainUnitId",
714
+ # },
715
+ # group: {
716
+ # group_identifier: "GroupIdentifier",
717
+ # },
718
+ # project: {
719
+ # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR
720
+ # project_grant_filter: {
721
+ # domain_unit_filter: {
722
+ # domain_unit: "DomainUnitId", # required
723
+ # include_child_domain_units: false,
724
+ # },
725
+ # },
726
+ # project_identifier: "ProjectId",
727
+ # },
728
+ # user: {
729
+ # all_users_grant_filter: {
730
+ # },
731
+ # user_identifier: "UserIdentifier",
732
+ # },
733
+ # },
734
+ # })
735
+ #
736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/AddPolicyGrant AWS API Documentation
737
+ #
738
+ # @overload add_policy_grant(params = {})
739
+ # @param [Hash] params ({})
740
+ def add_policy_grant(params = {}, options = {})
741
+ req = build_request(:add_policy_grant, params)
742
+ req.send_request(options)
743
+ end
744
+
584
745
  # Associates the environment role in Amazon DataZone.
585
746
  #
586
747
  # @option params [required, String] :domain_identifier
@@ -1696,6 +1857,7 @@ module Aws::DataZone
1696
1857
  # * {Types::CreateDomainOutput#kms_key_identifier #kms_key_identifier} => String
1697
1858
  # * {Types::CreateDomainOutput#name #name} => String
1698
1859
  # * {Types::CreateDomainOutput#portal_url #portal_url} => String
1860
+ # * {Types::CreateDomainOutput#root_domain_unit_id #root_domain_unit_id} => String
1699
1861
  # * {Types::CreateDomainOutput#single_sign_on #single_sign_on} => Types::SingleSignOn
1700
1862
  # * {Types::CreateDomainOutput#status #status} => String
1701
1863
  # * {Types::CreateDomainOutput#tags #tags} => Hash<String,String>
@@ -1726,6 +1888,7 @@ module Aws::DataZone
1726
1888
  # resp.kms_key_identifier #=> String
1727
1889
  # resp.name #=> String
1728
1890
  # resp.portal_url #=> String
1891
+ # resp.root_domain_unit_id #=> String
1729
1892
  # resp.single_sign_on.type #=> String, one of "IAM_IDC", "DISABLED"
1730
1893
  # resp.single_sign_on.user_assignment #=> String, one of "AUTOMATIC", "MANUAL"
1731
1894
  # resp.status #=> String, one of "CREATING", "AVAILABLE", "CREATION_FAILED", "DELETING", "DELETED", "DELETION_FAILED"
@@ -1741,6 +1904,73 @@ module Aws::DataZone
1741
1904
  req.send_request(options)
1742
1905
  end
1743
1906
 
1907
+ # Creates a domain unit in Amazon DataZone.
1908
+ #
1909
+ # @option params [String] :client_token
1910
+ # A unique, case-sensitive identifier that is provided to ensure the
1911
+ # idempotency of the request.
1912
+ #
1913
+ # **A suitable default value is auto-generated.** You should normally
1914
+ # not need to pass this option.**
1915
+ #
1916
+ # @option params [String] :description
1917
+ # The description of the domain unit.
1918
+ #
1919
+ # @option params [required, String] :domain_identifier
1920
+ # The ID of the domain where you want to crate a domain unit.
1921
+ #
1922
+ # @option params [required, String] :name
1923
+ # The name of the domain unit.
1924
+ #
1925
+ # @option params [required, String] :parent_domain_unit_identifier
1926
+ # The ID of the parent domain unit.
1927
+ #
1928
+ # @return [Types::CreateDomainUnitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1929
+ #
1930
+ # * {Types::CreateDomainUnitOutput#ancestor_domain_unit_ids #ancestor_domain_unit_ids} => Array<String>
1931
+ # * {Types::CreateDomainUnitOutput#created_at #created_at} => Time
1932
+ # * {Types::CreateDomainUnitOutput#created_by #created_by} => String
1933
+ # * {Types::CreateDomainUnitOutput#description #description} => String
1934
+ # * {Types::CreateDomainUnitOutput#domain_id #domain_id} => String
1935
+ # * {Types::CreateDomainUnitOutput#id #id} => String
1936
+ # * {Types::CreateDomainUnitOutput#name #name} => String
1937
+ # * {Types::CreateDomainUnitOutput#owners #owners} => Array<Types::DomainUnitOwnerProperties>
1938
+ # * {Types::CreateDomainUnitOutput#parent_domain_unit_id #parent_domain_unit_id} => String
1939
+ #
1940
+ # @example Request syntax with placeholder values
1941
+ #
1942
+ # resp = client.create_domain_unit({
1943
+ # client_token: "ClientToken",
1944
+ # description: "DomainUnitDescription",
1945
+ # domain_identifier: "DomainId", # required
1946
+ # name: "DomainUnitName", # required
1947
+ # parent_domain_unit_identifier: "DomainUnitId", # required
1948
+ # })
1949
+ #
1950
+ # @example Response structure
1951
+ #
1952
+ # resp.ancestor_domain_unit_ids #=> Array
1953
+ # resp.ancestor_domain_unit_ids[0] #=> String
1954
+ # resp.created_at #=> Time
1955
+ # resp.created_by #=> String
1956
+ # resp.description #=> String
1957
+ # resp.domain_id #=> String
1958
+ # resp.id #=> String
1959
+ # resp.name #=> String
1960
+ # resp.owners #=> Array
1961
+ # resp.owners[0].group.group_id #=> String
1962
+ # resp.owners[0].user.user_id #=> String
1963
+ # resp.parent_domain_unit_id #=> String
1964
+ #
1965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/CreateDomainUnit AWS API Documentation
1966
+ #
1967
+ # @overload create_domain_unit(params = {})
1968
+ # @param [Hash] params ({})
1969
+ def create_domain_unit(params = {}, options = {})
1970
+ req = build_request(:create_domain_unit, params)
1971
+ req.send_request(options)
1972
+ end
1973
+
1744
1974
  # Create an Amazon DataZone environment.
1745
1975
  #
1746
1976
  # @option params [String] :description
@@ -2353,6 +2583,11 @@ module Aws::DataZone
2353
2583
  # @option params [required, String] :domain_identifier
2354
2584
  # The ID of the Amazon DataZone domain in which this project is created.
2355
2585
  #
2586
+ # @option params [String] :domain_unit_id
2587
+ # The ID of the domain unit. This parameter is not required and if it is
2588
+ # not specified, then the project is created at the root domain unit
2589
+ # level.
2590
+ #
2356
2591
  # @option params [Array<String>] :glossary_terms
2357
2592
  # The glossary terms that can be used in this Amazon DataZone project.
2358
2593
  #
@@ -2365,6 +2600,7 @@ module Aws::DataZone
2365
2600
  # * {Types::CreateProjectOutput#created_by #created_by} => String
2366
2601
  # * {Types::CreateProjectOutput#description #description} => String
2367
2602
  # * {Types::CreateProjectOutput#domain_id #domain_id} => String
2603
+ # * {Types::CreateProjectOutput#domain_unit_id #domain_unit_id} => String
2368
2604
  # * {Types::CreateProjectOutput#failure_reasons #failure_reasons} => Array&lt;Types::ProjectDeletionError&gt;
2369
2605
  # * {Types::CreateProjectOutput#glossary_terms #glossary_terms} => Array&lt;String&gt;
2370
2606
  # * {Types::CreateProjectOutput#id #id} => String
@@ -2377,6 +2613,7 @@ module Aws::DataZone
2377
2613
  # resp = client.create_project({
2378
2614
  # description: "Description",
2379
2615
  # domain_identifier: "DomainId", # required
2616
+ # domain_unit_id: "DomainUnitId",
2380
2617
  # glossary_terms: ["GlossaryTermId"],
2381
2618
  # name: "ProjectName", # required
2382
2619
  # })
@@ -2387,6 +2624,7 @@ module Aws::DataZone
2387
2624
  # resp.created_by #=> String
2388
2625
  # resp.description #=> String
2389
2626
  # resp.domain_id #=> String
2627
+ # resp.domain_unit_id #=> String
2390
2628
  # resp.failure_reasons #=> Array
2391
2629
  # resp.failure_reasons[0].code #=> String
2392
2630
  # resp.failure_reasons[0].message #=> String
@@ -3081,6 +3319,32 @@ module Aws::DataZone
3081
3319
  req.send_request(options)
3082
3320
  end
3083
3321
 
3322
+ # Deletes a domain unit.
3323
+ #
3324
+ # @option params [required, String] :domain_identifier
3325
+ # The ID of the domain where you want to delete a domain unit.
3326
+ #
3327
+ # @option params [required, String] :identifier
3328
+ # The ID of the domain unit that you want to delete.
3329
+ #
3330
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3331
+ #
3332
+ # @example Request syntax with placeholder values
3333
+ #
3334
+ # resp = client.delete_domain_unit({
3335
+ # domain_identifier: "DomainId", # required
3336
+ # identifier: "DomainUnitId", # required
3337
+ # })
3338
+ #
3339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/DeleteDomainUnit AWS API Documentation
3340
+ #
3341
+ # @overload delete_domain_unit(params = {})
3342
+ # @param [Hash] params ({})
3343
+ def delete_domain_unit(params = {}, options = {})
3344
+ req = build_request(:delete_domain_unit, params)
3345
+ req.send_request(options)
3346
+ end
3347
+
3084
3348
  # Deletes an environment in Amazon DataZone.
3085
3349
  #
3086
3350
  # @option params [required, String] :domain_identifier
@@ -4055,6 +4319,7 @@ module Aws::DataZone
4055
4319
  # * {Types::GetDomainOutput#last_updated_at #last_updated_at} => Time
4056
4320
  # * {Types::GetDomainOutput#name #name} => String
4057
4321
  # * {Types::GetDomainOutput#portal_url #portal_url} => String
4322
+ # * {Types::GetDomainOutput#root_domain_unit_id #root_domain_unit_id} => String
4058
4323
  # * {Types::GetDomainOutput#single_sign_on #single_sign_on} => Types::SingleSignOn
4059
4324
  # * {Types::GetDomainOutput#status #status} => String
4060
4325
  # * {Types::GetDomainOutput#tags #tags} => Hash&lt;String,String&gt;
@@ -4076,6 +4341,7 @@ module Aws::DataZone
4076
4341
  # resp.last_updated_at #=> Time
4077
4342
  # resp.name #=> String
4078
4343
  # resp.portal_url #=> String
4344
+ # resp.root_domain_unit_id #=> String
4079
4345
  # resp.single_sign_on.type #=> String, one of "IAM_IDC", "DISABLED"
4080
4346
  # resp.single_sign_on.user_assignment #=> String, one of "AUTOMATIC", "MANUAL"
4081
4347
  # resp.status #=> String, one of "CREATING", "AVAILABLE", "CREATION_FAILED", "DELETING", "DELETED", "DELETION_FAILED"
@@ -4091,6 +4357,58 @@ module Aws::DataZone
4091
4357
  req.send_request(options)
4092
4358
  end
4093
4359
 
4360
+ # Gets the details of the specified domain unit.
4361
+ #
4362
+ # @option params [required, String] :domain_identifier
4363
+ # The ID of the domain where you want to get a domain unit.
4364
+ #
4365
+ # @option params [required, String] :identifier
4366
+ # The identifier of the domain unit that you want to get.
4367
+ #
4368
+ # @return [Types::GetDomainUnitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4369
+ #
4370
+ # * {Types::GetDomainUnitOutput#created_at #created_at} => Time
4371
+ # * {Types::GetDomainUnitOutput#created_by #created_by} => String
4372
+ # * {Types::GetDomainUnitOutput#description #description} => String
4373
+ # * {Types::GetDomainUnitOutput#domain_id #domain_id} => String
4374
+ # * {Types::GetDomainUnitOutput#id #id} => String
4375
+ # * {Types::GetDomainUnitOutput#last_updated_at #last_updated_at} => Time
4376
+ # * {Types::GetDomainUnitOutput#last_updated_by #last_updated_by} => String
4377
+ # * {Types::GetDomainUnitOutput#name #name} => String
4378
+ # * {Types::GetDomainUnitOutput#owners #owners} => Array&lt;Types::DomainUnitOwnerProperties&gt;
4379
+ # * {Types::GetDomainUnitOutput#parent_domain_unit_id #parent_domain_unit_id} => String
4380
+ #
4381
+ # @example Request syntax with placeholder values
4382
+ #
4383
+ # resp = client.get_domain_unit({
4384
+ # domain_identifier: "DomainId", # required
4385
+ # identifier: "DomainUnitId", # required
4386
+ # })
4387
+ #
4388
+ # @example Response structure
4389
+ #
4390
+ # resp.created_at #=> Time
4391
+ # resp.created_by #=> String
4392
+ # resp.description #=> String
4393
+ # resp.domain_id #=> String
4394
+ # resp.id #=> String
4395
+ # resp.last_updated_at #=> Time
4396
+ # resp.last_updated_by #=> String
4397
+ # resp.name #=> String
4398
+ # resp.owners #=> Array
4399
+ # resp.owners[0].group.group_id #=> String
4400
+ # resp.owners[0].user.user_id #=> String
4401
+ # resp.parent_domain_unit_id #=> String
4402
+ #
4403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/GetDomainUnit AWS API Documentation
4404
+ #
4405
+ # @overload get_domain_unit(params = {})
4406
+ # @param [Hash] params ({})
4407
+ def get_domain_unit(params = {}, options = {})
4408
+ req = build_request(:get_domain_unit, params)
4409
+ req.send_request(options)
4410
+ end
4411
+
4094
4412
  # Gets an Amazon DataZone environment.
4095
4413
  #
4096
4414
  # @option params [required, String] :domain_identifier
@@ -4914,6 +5232,7 @@ module Aws::DataZone
4914
5232
  # * {Types::GetProjectOutput#created_by #created_by} => String
4915
5233
  # * {Types::GetProjectOutput#description #description} => String
4916
5234
  # * {Types::GetProjectOutput#domain_id #domain_id} => String
5235
+ # * {Types::GetProjectOutput#domain_unit_id #domain_unit_id} => String
4917
5236
  # * {Types::GetProjectOutput#failure_reasons #failure_reasons} => Array&lt;Types::ProjectDeletionError&gt;
4918
5237
  # * {Types::GetProjectOutput#glossary_terms #glossary_terms} => Array&lt;String&gt;
4919
5238
  # * {Types::GetProjectOutput#id #id} => String
@@ -4934,6 +5253,7 @@ module Aws::DataZone
4934
5253
  # resp.created_by #=> String
4935
5254
  # resp.description #=> String
4936
5255
  # resp.domain_id #=> String
5256
+ # resp.domain_unit_id #=> String
4937
5257
  # resp.failure_reasons #=> Array
4938
5258
  # resp.failure_reasons[0].code #=> String
4939
5259
  # resp.failure_reasons[0].message #=> String
@@ -5764,6 +6084,62 @@ module Aws::DataZone
5764
6084
  req.send_request(options)
5765
6085
  end
5766
6086
 
6087
+ # Lists child domain units for the specified parent domain unit.
6088
+ #
6089
+ # @option params [required, String] :domain_identifier
6090
+ # The ID of the domain in which you want to list domain units for a
6091
+ # parent domain unit.
6092
+ #
6093
+ # @option params [Integer] :max_results
6094
+ # The maximum number of domain units to return in a single call to
6095
+ # ListDomainUnitsForParent. When the number of domain units to be listed
6096
+ # is greater than the value of MaxResults, the response contains a
6097
+ # NextToken value that you can use in a subsequent call to
6098
+ # ListDomainUnitsForParent to list the next set of domain units.
6099
+ #
6100
+ # @option params [String] :next_token
6101
+ # When the number of domain units is greater than the default value for
6102
+ # the MaxResults parameter, or if you explicitly specify a value for
6103
+ # MaxResults that is less than the number of domain units, the response
6104
+ # includes a pagination token named NextToken. You can specify this
6105
+ # NextToken value in a subsequent call to ListDomainUnitsForParent to
6106
+ # list the next set of domain units.
6107
+ #
6108
+ # @option params [required, String] :parent_domain_unit_identifier
6109
+ # The ID of the parent domain unit.
6110
+ #
6111
+ # @return [Types::ListDomainUnitsForParentOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6112
+ #
6113
+ # * {Types::ListDomainUnitsForParentOutput#items #items} => Array&lt;Types::DomainUnitSummary&gt;
6114
+ # * {Types::ListDomainUnitsForParentOutput#next_token #next_token} => String
6115
+ #
6116
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6117
+ #
6118
+ # @example Request syntax with placeholder values
6119
+ #
6120
+ # resp = client.list_domain_units_for_parent({
6121
+ # domain_identifier: "DomainId", # required
6122
+ # max_results: 1,
6123
+ # next_token: "PaginationToken",
6124
+ # parent_domain_unit_identifier: "DomainUnitId", # required
6125
+ # })
6126
+ #
6127
+ # @example Response structure
6128
+ #
6129
+ # resp.items #=> Array
6130
+ # resp.items[0].id #=> String
6131
+ # resp.items[0].name #=> String
6132
+ # resp.next_token #=> String
6133
+ #
6134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListDomainUnitsForParent AWS API Documentation
6135
+ #
6136
+ # @overload list_domain_units_for_parent(params = {})
6137
+ # @param [Hash] params ({})
6138
+ def list_domain_units_for_parent(params = {}, options = {})
6139
+ req = build_request(:list_domain_units_for_parent, params)
6140
+ req.send_request(options)
6141
+ end
6142
+
5767
6143
  # Lists Amazon DataZone domains.
5768
6144
  #
5769
6145
  # @option params [Integer] :max_results
@@ -5822,6 +6198,65 @@ module Aws::DataZone
5822
6198
  req.send_request(options)
5823
6199
  end
5824
6200
 
6201
+ # Lists the entity (domain units) owners.
6202
+ #
6203
+ # @option params [required, String] :domain_identifier
6204
+ # The ID of the domain where you want to list entity owners.
6205
+ #
6206
+ # @option params [required, String] :entity_identifier
6207
+ # The ID of the entity that you want to list.
6208
+ #
6209
+ # @option params [required, String] :entity_type
6210
+ # The type of the entity that you want to list.
6211
+ #
6212
+ # @option params [Integer] :max_results
6213
+ # The maximum number of entities to return in a single call to
6214
+ # `ListEntityOwners`. When the number of entities to be listed is
6215
+ # greater than the value of `MaxResults`, the response contains a
6216
+ # `NextToken` value that you can use in a subsequent call to
6217
+ # `ListEntityOwners` to list the next set of entities.
6218
+ #
6219
+ # @option params [String] :next_token
6220
+ # When the number of entities is greater than the default value for the
6221
+ # `MaxResults` parameter, or if you explicitly specify a value for
6222
+ # `MaxResults` that is less than the number of entities, the response
6223
+ # includes a pagination token named `NextToken`. You can specify this
6224
+ # `NextToken` value in a subsequent call to `ListEntityOwners` to list
6225
+ # the next set of entities.
6226
+ #
6227
+ # @return [Types::ListEntityOwnersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6228
+ #
6229
+ # * {Types::ListEntityOwnersOutput#next_token #next_token} => String
6230
+ # * {Types::ListEntityOwnersOutput#owners #owners} => Array&lt;Types::OwnerPropertiesOutput&gt;
6231
+ #
6232
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6233
+ #
6234
+ # @example Request syntax with placeholder values
6235
+ #
6236
+ # resp = client.list_entity_owners({
6237
+ # domain_identifier: "DomainId", # required
6238
+ # entity_identifier: "String", # required
6239
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT
6240
+ # max_results: 1,
6241
+ # next_token: "PaginationToken",
6242
+ # })
6243
+ #
6244
+ # @example Response structure
6245
+ #
6246
+ # resp.next_token #=> String
6247
+ # resp.owners #=> Array
6248
+ # resp.owners[0].group.group_id #=> String
6249
+ # resp.owners[0].user.user_id #=> String
6250
+ #
6251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListEntityOwners AWS API Documentation
6252
+ #
6253
+ # @overload list_entity_owners(params = {})
6254
+ # @param [Hash] params ({})
6255
+ def list_entity_owners(params = {}, options = {})
6256
+ req = build_request(:list_entity_owners, params)
6257
+ req.send_request(options)
6258
+ end
6259
+
5825
6260
  # Lists existing environment actions.
5826
6261
  #
5827
6262
  # @option params [required, String] :domain_identifier
@@ -6434,6 +6869,86 @@ module Aws::DataZone
6434
6869
  req.send_request(options)
6435
6870
  end
6436
6871
 
6872
+ # Lists policy grants.
6873
+ #
6874
+ # @option params [required, String] :domain_identifier
6875
+ # The ID of the domain where you want to list policy grants.
6876
+ #
6877
+ # @option params [required, String] :entity_identifier
6878
+ # The ID of the entity for which you want to list policy grants.
6879
+ #
6880
+ # @option params [required, String] :entity_type
6881
+ # The type of entity for which you want to list policy grants.
6882
+ #
6883
+ # @option params [Integer] :max_results
6884
+ # The maximum number of grants to return in a single call to
6885
+ # `ListPolicyGrants`. When the number of grants to be listed is greater
6886
+ # than the value of `MaxResults`, the response contains a `NextToken`
6887
+ # value that you can use in a subsequent call to `ListPolicyGrants` to
6888
+ # list the next set of grants.
6889
+ #
6890
+ # @option params [String] :next_token
6891
+ # When the number of grants is greater than the default value for the
6892
+ # `MaxResults` parameter, or if you explicitly specify a value for
6893
+ # `MaxResults` that is less than the number of grants, the response
6894
+ # includes a pagination token named `NextToken`. You can specify this
6895
+ # `NextToken` value in a subsequent call to `ListPolicyGrants` to list
6896
+ # the next set of grants.
6897
+ #
6898
+ # @option params [required, String] :policy_type
6899
+ # The type of policy that you want to list.
6900
+ #
6901
+ # @return [Types::ListPolicyGrantsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6902
+ #
6903
+ # * {Types::ListPolicyGrantsOutput#grant_list #grant_list} => Array&lt;Types::PolicyGrantMember&gt;
6904
+ # * {Types::ListPolicyGrantsOutput#next_token #next_token} => String
6905
+ #
6906
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6907
+ #
6908
+ # @example Request syntax with placeholder values
6909
+ #
6910
+ # resp = client.list_policy_grants({
6911
+ # domain_identifier: "DomainId", # required
6912
+ # entity_identifier: "String", # required
6913
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT, ENVIRONMENT_BLUEPRINT_CONFIGURATION, ENVIRONMENT_PROFILE
6914
+ # max_results: 1,
6915
+ # next_token: "PaginationToken",
6916
+ # policy_type: "CREATE_DOMAIN_UNIT", # required, accepts CREATE_DOMAIN_UNIT, OVERRIDE_DOMAIN_UNIT_OWNERS, ADD_TO_PROJECT_MEMBER_POOL, OVERRIDE_PROJECT_OWNERS, CREATE_GLOSSARY, CREATE_FORM_TYPE, CREATE_ASSET_TYPE, CREATE_PROJECT, CREATE_ENVIRONMENT_PROFILE, DELEGATE_CREATE_ENVIRONMENT_PROFILE, CREATE_ENVIRONMENT
6917
+ # })
6918
+ #
6919
+ # @example Response structure
6920
+ #
6921
+ # resp.grant_list #=> Array
6922
+ # resp.grant_list[0].created_at #=> Time
6923
+ # resp.grant_list[0].created_by #=> String
6924
+ # resp.grant_list[0].detail.add_to_project_member_pool.include_child_domain_units #=> Boolean
6925
+ # resp.grant_list[0].detail.create_asset_type.include_child_domain_units #=> Boolean
6926
+ # resp.grant_list[0].detail.create_domain_unit.include_child_domain_units #=> Boolean
6927
+ # resp.grant_list[0].detail.create_environment_profile.domain_unit_id #=> String
6928
+ # resp.grant_list[0].detail.create_form_type.include_child_domain_units #=> Boolean
6929
+ # resp.grant_list[0].detail.create_glossary.include_child_domain_units #=> Boolean
6930
+ # resp.grant_list[0].detail.create_project.include_child_domain_units #=> Boolean
6931
+ # resp.grant_list[0].detail.override_domain_unit_owners.include_child_domain_units #=> Boolean
6932
+ # resp.grant_list[0].detail.override_project_owners.include_child_domain_units #=> Boolean
6933
+ # resp.grant_list[0].principal.domain_unit.domain_unit_designation #=> String, one of "OWNER"
6934
+ # resp.grant_list[0].principal.domain_unit.domain_unit_identifier #=> String
6935
+ # resp.grant_list[0].principal.group.group_identifier #=> String
6936
+ # resp.grant_list[0].principal.project.project_designation #=> String, one of "OWNER", "CONTRIBUTOR"
6937
+ # resp.grant_list[0].principal.project.project_grant_filter.domain_unit_filter.domain_unit #=> String
6938
+ # resp.grant_list[0].principal.project.project_grant_filter.domain_unit_filter.include_child_domain_units #=> Boolean
6939
+ # resp.grant_list[0].principal.project.project_identifier #=> String
6940
+ # resp.grant_list[0].principal.user.user_identifier #=> String
6941
+ # resp.next_token #=> String
6942
+ #
6943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/ListPolicyGrants AWS API Documentation
6944
+ #
6945
+ # @overload list_policy_grants(params = {})
6946
+ # @param [Hash] params ({})
6947
+ def list_policy_grants(params = {}, options = {})
6948
+ req = build_request(:list_policy_grants, params)
6949
+ req.send_request(options)
6950
+ end
6951
+
6437
6952
  # Lists all members of the specified project.
6438
6953
  #
6439
6954
  # @option params [required, String] :domain_identifier
@@ -6553,6 +7068,7 @@ module Aws::DataZone
6553
7068
  # resp.items[0].created_by #=> String
6554
7069
  # resp.items[0].description #=> String
6555
7070
  # resp.items[0].domain_id #=> String
7071
+ # resp.items[0].domain_unit_id #=> String
6556
7072
  # resp.items[0].failure_reasons #=> Array
6557
7073
  # resp.items[0].failure_reasons[0].code #=> String
6558
7074
  # resp.items[0].failure_reasons[0].message #=> String
@@ -7440,6 +7956,128 @@ module Aws::DataZone
7440
7956
  req.send_request(options)
7441
7957
  end
7442
7958
 
7959
+ # Removes an owner from an entity.
7960
+ #
7961
+ # @option params [String] :client_token
7962
+ # A unique, case-sensitive identifier that is provided to ensure the
7963
+ # idempotency of the request.
7964
+ #
7965
+ # **A suitable default value is auto-generated.** You should normally
7966
+ # not need to pass this option.**
7967
+ #
7968
+ # @option params [required, String] :domain_identifier
7969
+ # The ID of the domain where you want to remove an owner from an entity.
7970
+ #
7971
+ # @option params [required, String] :entity_identifier
7972
+ # The ID of the entity from which you want to remove an owner.
7973
+ #
7974
+ # @option params [required, String] :entity_type
7975
+ # The type of the entity from which you want to remove an owner.
7976
+ #
7977
+ # @option params [required, Types::OwnerProperties] :owner
7978
+ # The owner that you want to remove from an entity.
7979
+ #
7980
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7981
+ #
7982
+ # @example Request syntax with placeholder values
7983
+ #
7984
+ # resp = client.remove_entity_owner({
7985
+ # client_token: "ClientToken",
7986
+ # domain_identifier: "DomainId", # required
7987
+ # entity_identifier: "String", # required
7988
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT
7989
+ # owner: { # required
7990
+ # group: {
7991
+ # group_identifier: "GroupIdentifier", # required
7992
+ # },
7993
+ # user: {
7994
+ # user_identifier: "UserIdentifier", # required
7995
+ # },
7996
+ # },
7997
+ # })
7998
+ #
7999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/RemoveEntityOwner AWS API Documentation
8000
+ #
8001
+ # @overload remove_entity_owner(params = {})
8002
+ # @param [Hash] params ({})
8003
+ def remove_entity_owner(params = {}, options = {})
8004
+ req = build_request(:remove_entity_owner, params)
8005
+ req.send_request(options)
8006
+ end
8007
+
8008
+ # Removes a policy grant.
8009
+ #
8010
+ # @option params [String] :client_token
8011
+ # A unique, case-sensitive identifier that is provided to ensure the
8012
+ # idempotency of the request.
8013
+ #
8014
+ # **A suitable default value is auto-generated.** You should normally
8015
+ # not need to pass this option.**
8016
+ #
8017
+ # @option params [required, String] :domain_identifier
8018
+ # The ID of the domain where you want to remove a policy grant.
8019
+ #
8020
+ # @option params [required, String] :entity_identifier
8021
+ # The ID of the entity from which you want to remove a policy grant.
8022
+ #
8023
+ # @option params [required, String] :entity_type
8024
+ # The type of the entity from which you want to remove a policy grant.
8025
+ #
8026
+ # @option params [required, String] :policy_type
8027
+ # The type of the policy that you want to remove.
8028
+ #
8029
+ # @option params [required, Types::PolicyGrantPrincipal] :principal
8030
+ # The principal from which you want to remove a policy grant.
8031
+ #
8032
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8033
+ #
8034
+ # @example Request syntax with placeholder values
8035
+ #
8036
+ # resp = client.remove_policy_grant({
8037
+ # client_token: "ClientToken",
8038
+ # domain_identifier: "DomainId", # required
8039
+ # entity_identifier: "String", # required
8040
+ # entity_type: "DOMAIN_UNIT", # required, accepts DOMAIN_UNIT, ENVIRONMENT_BLUEPRINT_CONFIGURATION, ENVIRONMENT_PROFILE
8041
+ # policy_type: "CREATE_DOMAIN_UNIT", # required, accepts CREATE_DOMAIN_UNIT, OVERRIDE_DOMAIN_UNIT_OWNERS, ADD_TO_PROJECT_MEMBER_POOL, OVERRIDE_PROJECT_OWNERS, CREATE_GLOSSARY, CREATE_FORM_TYPE, CREATE_ASSET_TYPE, CREATE_PROJECT, CREATE_ENVIRONMENT_PROFILE, DELEGATE_CREATE_ENVIRONMENT_PROFILE, CREATE_ENVIRONMENT
8042
+ # principal: { # required
8043
+ # domain_unit: {
8044
+ # domain_unit_designation: "OWNER", # required, accepts OWNER
8045
+ # domain_unit_grant_filter: {
8046
+ # all_domain_units_grant_filter: {
8047
+ # },
8048
+ # },
8049
+ # domain_unit_identifier: "DomainUnitId",
8050
+ # },
8051
+ # group: {
8052
+ # group_identifier: "GroupIdentifier",
8053
+ # },
8054
+ # project: {
8055
+ # project_designation: "OWNER", # required, accepts OWNER, CONTRIBUTOR
8056
+ # project_grant_filter: {
8057
+ # domain_unit_filter: {
8058
+ # domain_unit: "DomainUnitId", # required
8059
+ # include_child_domain_units: false,
8060
+ # },
8061
+ # },
8062
+ # project_identifier: "ProjectId",
8063
+ # },
8064
+ # user: {
8065
+ # all_users_grant_filter: {
8066
+ # },
8067
+ # user_identifier: "UserIdentifier",
8068
+ # },
8069
+ # },
8070
+ # })
8071
+ #
8072
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/RemovePolicyGrant AWS API Documentation
8073
+ #
8074
+ # @overload remove_policy_grant(params = {})
8075
+ # @param [Hash] params ({})
8076
+ def remove_policy_grant(params = {}, options = {})
8077
+ req = build_request(:remove_policy_grant, params)
8078
+ req.send_request(options)
8079
+ end
8080
+
7443
8081
  # Revokes a specified subscription in Amazon DataZone.
7444
8082
  #
7445
8083
  # @option params [required, String] :domain_identifier
@@ -8690,6 +9328,7 @@ module Aws::DataZone
8690
9328
  # * {Types::UpdateDomainOutput#id #id} => String
8691
9329
  # * {Types::UpdateDomainOutput#last_updated_at #last_updated_at} => Time
8692
9330
  # * {Types::UpdateDomainOutput#name #name} => String
9331
+ # * {Types::UpdateDomainOutput#root_domain_unit_id #root_domain_unit_id} => String
8693
9332
  # * {Types::UpdateDomainOutput#single_sign_on #single_sign_on} => Types::SingleSignOn
8694
9333
  #
8695
9334
  # @example Request syntax with placeholder values
@@ -8713,6 +9352,7 @@ module Aws::DataZone
8713
9352
  # resp.id #=> String
8714
9353
  # resp.last_updated_at #=> Time
8715
9354
  # resp.name #=> String
9355
+ # resp.root_domain_unit_id #=> String
8716
9356
  # resp.single_sign_on.type #=> String, one of "IAM_IDC", "DISABLED"
8717
9357
  # resp.single_sign_on.user_assignment #=> String, one of "AUTOMATIC", "MANUAL"
8718
9358
  #
@@ -8725,6 +9365,66 @@ module Aws::DataZone
8725
9365
  req.send_request(options)
8726
9366
  end
8727
9367
 
9368
+ # Updates the domain unit.
9369
+ #
9370
+ # @option params [String] :description
9371
+ # The description of the domain unit that you want to update.
9372
+ #
9373
+ # @option params [required, String] :domain_identifier
9374
+ # The ID of the domain where you want to update a domain unit.
9375
+ #
9376
+ # @option params [required, String] :identifier
9377
+ # The ID of the domain unit that you want to update.
9378
+ #
9379
+ # @option params [String] :name
9380
+ # The name of the domain unit that you want to update.
9381
+ #
9382
+ # @return [Types::UpdateDomainUnitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9383
+ #
9384
+ # * {Types::UpdateDomainUnitOutput#created_at #created_at} => Time
9385
+ # * {Types::UpdateDomainUnitOutput#created_by #created_by} => String
9386
+ # * {Types::UpdateDomainUnitOutput#description #description} => String
9387
+ # * {Types::UpdateDomainUnitOutput#domain_id #domain_id} => String
9388
+ # * {Types::UpdateDomainUnitOutput#id #id} => String
9389
+ # * {Types::UpdateDomainUnitOutput#last_updated_at #last_updated_at} => Time
9390
+ # * {Types::UpdateDomainUnitOutput#last_updated_by #last_updated_by} => String
9391
+ # * {Types::UpdateDomainUnitOutput#name #name} => String
9392
+ # * {Types::UpdateDomainUnitOutput#owners #owners} => Array&lt;Types::DomainUnitOwnerProperties&gt;
9393
+ # * {Types::UpdateDomainUnitOutput#parent_domain_unit_id #parent_domain_unit_id} => String
9394
+ #
9395
+ # @example Request syntax with placeholder values
9396
+ #
9397
+ # resp = client.update_domain_unit({
9398
+ # description: "DomainUnitDescription",
9399
+ # domain_identifier: "DomainId", # required
9400
+ # identifier: "DomainUnitId", # required
9401
+ # name: "DomainUnitName",
9402
+ # })
9403
+ #
9404
+ # @example Response structure
9405
+ #
9406
+ # resp.created_at #=> Time
9407
+ # resp.created_by #=> String
9408
+ # resp.description #=> String
9409
+ # resp.domain_id #=> String
9410
+ # resp.id #=> String
9411
+ # resp.last_updated_at #=> Time
9412
+ # resp.last_updated_by #=> String
9413
+ # resp.name #=> String
9414
+ # resp.owners #=> Array
9415
+ # resp.owners[0].group.group_id #=> String
9416
+ # resp.owners[0].user.user_id #=> String
9417
+ # resp.parent_domain_unit_id #=> String
9418
+ #
9419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/UpdateDomainUnit AWS API Documentation
9420
+ #
9421
+ # @overload update_domain_unit(params = {})
9422
+ # @param [Hash] params ({})
9423
+ def update_domain_unit(params = {}, options = {})
9424
+ req = build_request(:update_domain_unit, params)
9425
+ req.send_request(options)
9426
+ end
9427
+
8728
9428
  # Updates the specified environment in Amazon DataZone.
8729
9429
  #
8730
9430
  # @option params [String] :description
@@ -9182,8 +9882,7 @@ module Aws::DataZone
9182
9882
  # The description to be updated as part of the `UpdateProject` action.
9183
9883
  #
9184
9884
  # @option params [required, String] :domain_identifier
9185
- # The identifier of the Amazon DataZone domain in which a project is to
9186
- # be updated.
9885
+ # The ID of the Amazon DataZone domain where a project is being updated.
9187
9886
  #
9188
9887
  # @option params [Array<String>] :glossary_terms
9189
9888
  # The glossary terms to be updated as part of the `UpdateProject`
@@ -9201,6 +9900,7 @@ module Aws::DataZone
9201
9900
  # * {Types::UpdateProjectOutput#created_by #created_by} => String
9202
9901
  # * {Types::UpdateProjectOutput#description #description} => String
9203
9902
  # * {Types::UpdateProjectOutput#domain_id #domain_id} => String
9903
+ # * {Types::UpdateProjectOutput#domain_unit_id #domain_unit_id} => String
9204
9904
  # * {Types::UpdateProjectOutput#failure_reasons #failure_reasons} => Array&lt;Types::ProjectDeletionError&gt;
9205
9905
  # * {Types::UpdateProjectOutput#glossary_terms #glossary_terms} => Array&lt;String&gt;
9206
9906
  # * {Types::UpdateProjectOutput#id #id} => String
@@ -9224,6 +9924,7 @@ module Aws::DataZone
9224
9924
  # resp.created_by #=> String
9225
9925
  # resp.description #=> String
9226
9926
  # resp.domain_id #=> String
9927
+ # resp.domain_unit_id #=> String
9227
9928
  # resp.failure_reasons #=> Array
9228
9929
  # resp.failure_reasons[0].code #=> String
9229
9930
  # resp.failure_reasons[0].message #=> String
@@ -9583,7 +10284,7 @@ module Aws::DataZone
9583
10284
  params: params,
9584
10285
  config: config)
9585
10286
  context[:gem_name] = 'aws-sdk-datazone'
9586
- context[:gem_version] = '1.19.0'
10287
+ context[:gem_version] = '1.20.0'
9587
10288
  Seahorse::Client::Request.new(handlers, context)
9588
10289
  end
9589
10290