aws-sdk-directoryservice 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1cea49c02b504a6fc811911f7872bdbbef0d68fe0e7c5ad08a426f1901269a0
4
- data.tar.gz: 70a9a445fd8dbe26ded903ede6b57785b77795fb34829aeb177c294ee62e7402
3
+ metadata.gz: 188258f32a60b7afbebf98119420322d7c3b452d996a89c17a9646484a968493
4
+ data.tar.gz: e82c9be6e1aeee7051652a514ddb6967774b5ba9f758288fd54a2c595849b771
5
5
  SHA512:
6
- metadata.gz: 1e9d130827934e49d81dc75ee0bec7617b85280dc81cac6d30b3e371f768d4457e17c44836b6e269fc8fc39e627beb371102fefe758710bb05964f766f2bb5ad
7
- data.tar.gz: 60a8d47b387bb9aa6fa2462b5d50548687b4d8d43ac3c5ef2434a1da77c285d5d5b9ea2f673d89e253ea6a1ab155288a601fec1dcbe7f6f4f2db5bf345ea89c8
6
+ metadata.gz: d854aee8d3b64f45f4a567213a32d5699c20e1de0624fc75ab0b95aa76054508b7a28ac6cbe2633a6558cf63aa775e9699714fd069110ad41506e5a7ef86d468
7
+ data.tar.gz: bc9e3940c3233b7ce61f78a125eeae9645a407715d8aaa0f357ecd06942b8e5f4580443811aaa058ddd05dc94dc15fbc42c72f1eb97fe386cddd15253d370c7d
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-directoryservice/customizations'
48
48
  # @!group service
49
49
  module Aws::DirectoryService
50
50
 
51
- GEM_VERSION = '1.34.0'
51
+ GEM_VERSION = '1.35.0'
52
52
 
53
53
  end
@@ -478,6 +478,43 @@ module Aws::DirectoryService
478
478
  req.send_request(options)
479
479
  end
480
480
 
481
+ # Adds two domain controllers in the specified Region for the specified
482
+ # directory.
483
+ #
484
+ # @option params [required, String] :directory_id
485
+ # The identifier of the directory to which you want to add Region
486
+ # replication.
487
+ #
488
+ # @option params [required, String] :region_name
489
+ # The name of the Region where you want to add domain controllers for
490
+ # replication. For example, `us-east-1`.
491
+ #
492
+ # @option params [required, Types::DirectoryVpcSettings] :vpc_settings
493
+ # Contains VPC information for the CreateDirectory or CreateMicrosoftAD
494
+ # operation.
495
+ #
496
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
497
+ #
498
+ # @example Request syntax with placeholder values
499
+ #
500
+ # resp = client.add_region({
501
+ # directory_id: "DirectoryId", # required
502
+ # region_name: "RegionName", # required
503
+ # vpc_settings: { # required
504
+ # vpc_id: "VpcId", # required
505
+ # subnet_ids: ["SubnetId"], # required
506
+ # },
507
+ # })
508
+ #
509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddRegion AWS API Documentation
510
+ #
511
+ # @overload add_region(params = {})
512
+ # @param [Hash] params ({})
513
+ def add_region(params = {}, options = {})
514
+ req = build_request(:add_region, params)
515
+ req.send_request(options)
516
+ end
517
+
481
518
  # Adds or overwrites one or more tags for the specified directory. Each
482
519
  # directory can have a maximum of 50 tags. Each tag consists of a key
483
520
  # and optional value. Tag keys must be unique to each resource.
@@ -659,8 +696,8 @@ module Aws::DirectoryService
659
696
  req.send_request(options)
660
697
  end
661
698
 
662
- # Creates a computer account in the specified directory, and joins the
663
- # computer to the directory.
699
+ # Creates an Active Directory computer object in the specified
700
+ # directory.
664
701
  #
665
702
  # @option params [required, String] :directory_id
666
703
  # The identifier of the directory in which to create the computer
@@ -783,6 +820,36 @@ module Aws::DirectoryService
783
820
  # If you need to change the password for the administrator account, you
784
821
  # can use the ResetUserPassword API call.
785
822
  #
823
+ # The regex pattern for this string is made up of the following
824
+ # conditions:
825
+ #
826
+ # * Length (?=^.\\\{8,64\\}$) – Must be between 8 and 64 characters
827
+ #
828
+ # ^
829
+ #
830
+ # AND any 3 of the following password complexity rules required by
831
+ # Active Directory:
832
+ #
833
+ # * Numbers and upper case and lowercase
834
+ # (?=.*\\d)(?=.*\[A-Z\])(?=.*\[a-z\])
835
+ #
836
+ # * Numbers and special characters and lower case
837
+ # (?=.*\\d)(?=.*\[^A-Za-z0-9\\s\])(?=.*\[a-z\])
838
+ #
839
+ # * Special characters and upper case and lower case
840
+ # (?=.*\[^A-Za-z0-9\\s\])(?=.*\[A-Z\])(?=.*\[a-z\])
841
+ #
842
+ # * Numbers and upper case and special characters
843
+ # (?=.*\\d)(?=.*\[A-Z\])(?=.*\[^A-Za-z0-9\\s\])
844
+ #
845
+ # For additional information about how Active Directory passwords are
846
+ # enforced, see [Password must meet complexity requirements][1] on the
847
+ # Microsoft website.
848
+ #
849
+ #
850
+ #
851
+ # [1]: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements
852
+ #
786
853
  # @option params [String] :description
787
854
  # A description for the directory.
788
855
  #
@@ -1448,6 +1515,9 @@ module Aws::DirectoryService
1448
1515
  # resp.directory_descriptions[0].owner_directory_description.radius_settings.display_label #=> String
1449
1516
  # resp.directory_descriptions[0].owner_directory_description.radius_settings.use_same_username #=> Boolean
1450
1517
  # resp.directory_descriptions[0].owner_directory_description.radius_status #=> String, one of "Creating", "Completed", "Failed"
1518
+ # resp.directory_descriptions[0].regions_info.primary_region #=> String
1519
+ # resp.directory_descriptions[0].regions_info.additional_regions #=> Array
1520
+ # resp.directory_descriptions[0].regions_info.additional_regions[0] #=> String
1451
1521
  # resp.next_token #=> String
1452
1522
  #
1453
1523
  # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories AWS API Documentation
@@ -1609,6 +1679,57 @@ module Aws::DirectoryService
1609
1679
  req.send_request(options)
1610
1680
  end
1611
1681
 
1682
+ # Provides information about the Regions that are configured for
1683
+ # multi-Region replication.
1684
+ #
1685
+ # @option params [required, String] :directory_id
1686
+ # The identifier of the directory.
1687
+ #
1688
+ # @option params [String] :region_name
1689
+ # The name of the Region. For example, `us-east-1`.
1690
+ #
1691
+ # @option params [String] :next_token
1692
+ # The *DescribeRegionsResult.NextToken* value from a previous call to
1693
+ # DescribeRegions. Pass null if this is the first call.
1694
+ #
1695
+ # @return [Types::DescribeRegionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1696
+ #
1697
+ # * {Types::DescribeRegionsResult#regions_description #regions_description} => Array<Types::RegionDescription>
1698
+ # * {Types::DescribeRegionsResult#next_token #next_token} => String
1699
+ #
1700
+ # @example Request syntax with placeholder values
1701
+ #
1702
+ # resp = client.describe_regions({
1703
+ # directory_id: "DirectoryId", # required
1704
+ # region_name: "RegionName",
1705
+ # next_token: "NextToken",
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ #
1710
+ # resp.regions_description #=> Array
1711
+ # resp.regions_description[0].directory_id #=> String
1712
+ # resp.regions_description[0].region_name #=> String
1713
+ # resp.regions_description[0].region_type #=> String, one of "Primary", "Additional"
1714
+ # resp.regions_description[0].status #=> String, one of "Requested", "Creating", "Created", "Active", "Inoperable", "Impaired", "Restoring", "RestoreFailed", "Deleting", "Deleted", "Failed"
1715
+ # resp.regions_description[0].vpc_settings.vpc_id #=> String
1716
+ # resp.regions_description[0].vpc_settings.subnet_ids #=> Array
1717
+ # resp.regions_description[0].vpc_settings.subnet_ids[0] #=> String
1718
+ # resp.regions_description[0].desired_number_of_domain_controllers #=> Integer
1719
+ # resp.regions_description[0].launch_time #=> Time
1720
+ # resp.regions_description[0].status_last_updated_date_time #=> Time
1721
+ # resp.regions_description[0].last_updated_date_time #=> Time
1722
+ # resp.next_token #=> String
1723
+ #
1724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegions AWS API Documentation
1725
+ #
1726
+ # @overload describe_regions(params = {})
1727
+ # @param [Hash] params ({})
1728
+ def describe_regions(params = {}, options = {})
1729
+ req = build_request(:describe_regions, params)
1730
+ req.send_request(options)
1731
+ end
1732
+
1612
1733
  # Returns the shared directories in your account.
1613
1734
  #
1614
1735
  # @option params [required, String] :owner_directory_id
@@ -2390,6 +2511,31 @@ module Aws::DirectoryService
2390
2511
  req.send_request(options)
2391
2512
  end
2392
2513
 
2514
+ # Stops all replication and removes the domain controllers from the
2515
+ # specified Region. You cannot remove the primary Region with this
2516
+ # operation. Instead, use the `DeleteDirectory` API.
2517
+ #
2518
+ # @option params [required, String] :directory_id
2519
+ # The identifier of the directory for which you want to remove Region
2520
+ # replication.
2521
+ #
2522
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2523
+ #
2524
+ # @example Request syntax with placeholder values
2525
+ #
2526
+ # resp = client.remove_region({
2527
+ # directory_id: "DirectoryId", # required
2528
+ # })
2529
+ #
2530
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegion AWS API Documentation
2531
+ #
2532
+ # @overload remove_region(params = {})
2533
+ # @param [Hash] params ({})
2534
+ def remove_region(params = {}, options = {})
2535
+ req = build_request(:remove_region, params)
2536
+ req.send_request(options)
2537
+ end
2538
+
2393
2539
  # Removes tags from a directory.
2394
2540
  #
2395
2541
  # @option params [required, String] :resource_id
@@ -2834,7 +2980,7 @@ module Aws::DirectoryService
2834
2980
  params: params,
2835
2981
  config: config)
2836
2982
  context[:gem_name] = 'aws-sdk-directoryservice'
2837
- context[:gem_version] = '1.34.0'
2983
+ context[:gem_version] = '1.35.0'
2838
2984
  Seahorse::Client::Request.new(handlers, context)
2839
2985
  end
2840
2986
 
@@ -19,9 +19,12 @@ module Aws::DirectoryService
19
19
  AccessUrl = Shapes::StringShape.new(name: 'AccessUrl')
20
20
  AddIpRoutesRequest = Shapes::StructureShape.new(name: 'AddIpRoutesRequest')
21
21
  AddIpRoutesResult = Shapes::StructureShape.new(name: 'AddIpRoutesResult')
22
+ AddRegionRequest = Shapes::StructureShape.new(name: 'AddRegionRequest')
23
+ AddRegionResult = Shapes::StructureShape.new(name: 'AddRegionResult')
22
24
  AddTagsToResourceRequest = Shapes::StructureShape.new(name: 'AddTagsToResourceRequest')
23
25
  AddTagsToResourceResult = Shapes::StructureShape.new(name: 'AddTagsToResourceResult')
24
26
  AddedDateTime = Shapes::TimestampShape.new(name: 'AddedDateTime')
27
+ AdditionalRegions = Shapes::ListShape.new(name: 'AdditionalRegions')
25
28
  AliasName = Shapes::StringShape.new(name: 'AliasName')
26
29
  Attribute = Shapes::StructureShape.new(name: 'Attribute')
27
30
  AttributeName = Shapes::StringShape.new(name: 'AttributeName')
@@ -106,6 +109,8 @@ module Aws::DirectoryService
106
109
  DescribeEventTopicsResult = Shapes::StructureShape.new(name: 'DescribeEventTopicsResult')
107
110
  DescribeLDAPSSettingsRequest = Shapes::StructureShape.new(name: 'DescribeLDAPSSettingsRequest')
108
111
  DescribeLDAPSSettingsResult = Shapes::StructureShape.new(name: 'DescribeLDAPSSettingsResult')
112
+ DescribeRegionsRequest = Shapes::StructureShape.new(name: 'DescribeRegionsRequest')
113
+ DescribeRegionsResult = Shapes::StructureShape.new(name: 'DescribeRegionsResult')
109
114
  DescribeSharedDirectoriesRequest = Shapes::StructureShape.new(name: 'DescribeSharedDirectoriesRequest')
110
115
  DescribeSharedDirectoriesResult = Shapes::StructureShape.new(name: 'DescribeSharedDirectoriesResult')
111
116
  DescribeSnapshotsRequest = Shapes::StructureShape.new(name: 'DescribeSnapshotsRequest')
@@ -114,6 +119,7 @@ module Aws::DirectoryService
114
119
  DescribeTrustsResult = Shapes::StructureShape.new(name: 'DescribeTrustsResult')
115
120
  Description = Shapes::StringShape.new(name: 'Description')
116
121
  DesiredNumberOfDomainControllers = Shapes::IntegerShape.new(name: 'DesiredNumberOfDomainControllers')
122
+ DirectoryAlreadyInRegionException = Shapes::StructureShape.new(name: 'DirectoryAlreadyInRegionException')
117
123
  DirectoryAlreadySharedException = Shapes::StructureShape.new(name: 'DirectoryAlreadySharedException')
118
124
  DirectoryConnectSettings = Shapes::StructureShape.new(name: 'DirectoryConnectSettings')
119
125
  DirectoryConnectSettingsDescription = Shapes::StructureShape.new(name: 'DirectoryConnectSettingsDescription')
@@ -219,6 +225,12 @@ module Aws::DirectoryService
219
225
  RadiusSharedSecret = Shapes::StringShape.new(name: 'RadiusSharedSecret')
220
226
  RadiusStatus = Shapes::StringShape.new(name: 'RadiusStatus')
221
227
  RadiusTimeout = Shapes::IntegerShape.new(name: 'RadiusTimeout')
228
+ RegionDescription = Shapes::StructureShape.new(name: 'RegionDescription')
229
+ RegionLimitExceededException = Shapes::StructureShape.new(name: 'RegionLimitExceededException')
230
+ RegionName = Shapes::StringShape.new(name: 'RegionName')
231
+ RegionType = Shapes::StringShape.new(name: 'RegionType')
232
+ RegionsDescription = Shapes::ListShape.new(name: 'RegionsDescription')
233
+ RegionsInfo = Shapes::StructureShape.new(name: 'RegionsInfo')
222
234
  RegisterCertificateRequest = Shapes::StructureShape.new(name: 'RegisterCertificateRequest')
223
235
  RegisterCertificateResult = Shapes::StructureShape.new(name: 'RegisterCertificateResult')
224
236
  RegisterEventTopicRequest = Shapes::StructureShape.new(name: 'RegisterEventTopicRequest')
@@ -229,6 +241,8 @@ module Aws::DirectoryService
229
241
  RemoteDomainNames = Shapes::ListShape.new(name: 'RemoteDomainNames')
230
242
  RemoveIpRoutesRequest = Shapes::StructureShape.new(name: 'RemoveIpRoutesRequest')
231
243
  RemoveIpRoutesResult = Shapes::StructureShape.new(name: 'RemoveIpRoutesResult')
244
+ RemoveRegionRequest = Shapes::StructureShape.new(name: 'RemoveRegionRequest')
245
+ RemoveRegionResult = Shapes::StructureShape.new(name: 'RemoveRegionResult')
232
246
  RemoveTagsFromResourceRequest = Shapes::StructureShape.new(name: 'RemoveTagsFromResourceRequest')
233
247
  RemoveTagsFromResourceResult = Shapes::StructureShape.new(name: 'RemoveTagsFromResourceResult')
234
248
  ReplicationScope = Shapes::StringShape.new(name: 'ReplicationScope')
@@ -335,12 +349,21 @@ module Aws::DirectoryService
335
349
 
336
350
  AddIpRoutesResult.struct_class = Types::AddIpRoutesResult
337
351
 
352
+ AddRegionRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
353
+ AddRegionRequest.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "RegionName"))
354
+ AddRegionRequest.add_member(:vpc_settings, Shapes::ShapeRef.new(shape: DirectoryVpcSettings, required: true, location_name: "VPCSettings"))
355
+ AddRegionRequest.struct_class = Types::AddRegionRequest
356
+
357
+ AddRegionResult.struct_class = Types::AddRegionResult
358
+
338
359
  AddTagsToResourceRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
339
360
  AddTagsToResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
340
361
  AddTagsToResourceRequest.struct_class = Types::AddTagsToResourceRequest
341
362
 
342
363
  AddTagsToResourceResult.struct_class = Types::AddTagsToResourceResult
343
364
 
365
+ AdditionalRegions.member = Shapes::ShapeRef.new(shape: RegionName)
366
+
344
367
  Attribute.add_member(:name, Shapes::ShapeRef.new(shape: AttributeName, location_name: "Name"))
345
368
  Attribute.add_member(:value, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "Value"))
346
369
  Attribute.struct_class = Types::Attribute
@@ -587,6 +610,15 @@ module Aws::DirectoryService
587
610
  DescribeLDAPSSettingsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
588
611
  DescribeLDAPSSettingsResult.struct_class = Types::DescribeLDAPSSettingsResult
589
612
 
613
+ DescribeRegionsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
614
+ DescribeRegionsRequest.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, location_name: "RegionName"))
615
+ DescribeRegionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
616
+ DescribeRegionsRequest.struct_class = Types::DescribeRegionsRequest
617
+
618
+ DescribeRegionsResult.add_member(:regions_description, Shapes::ShapeRef.new(shape: RegionsDescription, location_name: "RegionsDescription"))
619
+ DescribeRegionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
620
+ DescribeRegionsResult.struct_class = Types::DescribeRegionsResult
621
+
590
622
  DescribeSharedDirectoriesRequest.add_member(:owner_directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "OwnerDirectoryId"))
591
623
  DescribeSharedDirectoriesRequest.add_member(:shared_directory_ids, Shapes::ShapeRef.new(shape: DirectoryIds, location_name: "SharedDirectoryIds"))
592
624
  DescribeSharedDirectoriesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -617,6 +649,10 @@ module Aws::DirectoryService
617
649
  DescribeTrustsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
618
650
  DescribeTrustsResult.struct_class = Types::DescribeTrustsResult
619
651
 
652
+ DirectoryAlreadyInRegionException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
653
+ DirectoryAlreadyInRegionException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
654
+ DirectoryAlreadyInRegionException.struct_class = Types::DirectoryAlreadyInRegionException
655
+
620
656
  DirectoryAlreadySharedException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
621
657
  DirectoryAlreadySharedException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
622
658
  DirectoryAlreadySharedException.struct_class = Types::DirectoryAlreadySharedException
@@ -659,6 +695,7 @@ module Aws::DirectoryService
659
695
  DirectoryDescription.add_member(:sso_enabled, Shapes::ShapeRef.new(shape: SsoEnabled, location_name: "SsoEnabled"))
660
696
  DirectoryDescription.add_member(:desired_number_of_domain_controllers, Shapes::ShapeRef.new(shape: DesiredNumberOfDomainControllers, location_name: "DesiredNumberOfDomainControllers"))
661
697
  DirectoryDescription.add_member(:owner_directory_description, Shapes::ShapeRef.new(shape: OwnerDirectoryDescription, location_name: "OwnerDirectoryDescription"))
698
+ DirectoryDescription.add_member(:regions_info, Shapes::ShapeRef.new(shape: RegionsInfo, location_name: "RegionsInfo"))
662
699
  DirectoryDescription.struct_class = Types::DirectoryDescription
663
700
 
664
701
  DirectoryDescriptions.member = Shapes::ShapeRef.new(shape: DirectoryDescription)
@@ -924,6 +961,27 @@ module Aws::DirectoryService
924
961
  RadiusSettings.add_member(:use_same_username, Shapes::ShapeRef.new(shape: UseSameUsername, location_name: "UseSameUsername"))
925
962
  RadiusSettings.struct_class = Types::RadiusSettings
926
963
 
964
+ RegionDescription.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "DirectoryId"))
965
+ RegionDescription.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, location_name: "RegionName"))
966
+ RegionDescription.add_member(:region_type, Shapes::ShapeRef.new(shape: RegionType, location_name: "RegionType"))
967
+ RegionDescription.add_member(:status, Shapes::ShapeRef.new(shape: DirectoryStage, location_name: "Status"))
968
+ RegionDescription.add_member(:vpc_settings, Shapes::ShapeRef.new(shape: DirectoryVpcSettings, location_name: "VpcSettings"))
969
+ RegionDescription.add_member(:desired_number_of_domain_controllers, Shapes::ShapeRef.new(shape: DesiredNumberOfDomainControllers, location_name: "DesiredNumberOfDomainControllers"))
970
+ RegionDescription.add_member(:launch_time, Shapes::ShapeRef.new(shape: LaunchTime, location_name: "LaunchTime"))
971
+ RegionDescription.add_member(:status_last_updated_date_time, Shapes::ShapeRef.new(shape: StateLastUpdatedDateTime, location_name: "StatusLastUpdatedDateTime"))
972
+ RegionDescription.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: LastUpdatedDateTime, location_name: "LastUpdatedDateTime"))
973
+ RegionDescription.struct_class = Types::RegionDescription
974
+
975
+ RegionLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
976
+ RegionLimitExceededException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
977
+ RegionLimitExceededException.struct_class = Types::RegionLimitExceededException
978
+
979
+ RegionsDescription.member = Shapes::ShapeRef.new(shape: RegionDescription)
980
+
981
+ RegionsInfo.add_member(:primary_region, Shapes::ShapeRef.new(shape: RegionName, location_name: "PrimaryRegion"))
982
+ RegionsInfo.add_member(:additional_regions, Shapes::ShapeRef.new(shape: AdditionalRegions, location_name: "AdditionalRegions"))
983
+ RegionsInfo.struct_class = Types::RegionsInfo
984
+
927
985
  RegisterCertificateRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
928
986
  RegisterCertificateRequest.add_member(:certificate_data, Shapes::ShapeRef.new(shape: CertificateData, required: true, location_name: "CertificateData"))
929
987
  RegisterCertificateRequest.struct_class = Types::RegisterCertificateRequest
@@ -951,6 +1009,11 @@ module Aws::DirectoryService
951
1009
 
952
1010
  RemoveIpRoutesResult.struct_class = Types::RemoveIpRoutesResult
953
1011
 
1012
+ RemoveRegionRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
1013
+ RemoveRegionRequest.struct_class = Types::RemoveRegionRequest
1014
+
1015
+ RemoveRegionResult.struct_class = Types::RemoveRegionResult
1016
+
954
1017
  RemoveTagsFromResourceRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
955
1018
  RemoveTagsFromResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
956
1019
  RemoveTagsFromResourceRequest.struct_class = Types::RemoveTagsFromResourceRequest
@@ -1178,6 +1241,24 @@ module Aws::DirectoryService
1178
1241
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1179
1242
  end)
1180
1243
 
1244
+ api.add_operation(:add_region, Seahorse::Model::Operation.new.tap do |o|
1245
+ o.name = "AddRegion"
1246
+ o.http_method = "POST"
1247
+ o.http_request_uri = "/"
1248
+ o.input = Shapes::ShapeRef.new(shape: AddRegionRequest)
1249
+ o.output = Shapes::ShapeRef.new(shape: AddRegionResult)
1250
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryUnavailableException)
1251
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1252
+ o.errors << Shapes::ShapeRef.new(shape: EntityDoesNotExistException)
1253
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryAlreadyInRegionException)
1254
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1255
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1256
+ o.errors << Shapes::ShapeRef.new(shape: RegionLimitExceededException)
1257
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1258
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1259
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1260
+ end)
1261
+
1181
1262
  api.add_operation(:add_tags_to_resource, Seahorse::Model::Operation.new.tap do |o|
1182
1263
  o.name = "AddTagsToResource"
1183
1264
  o.http_method = "POST"
@@ -1501,6 +1582,21 @@ module Aws::DirectoryService
1501
1582
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1502
1583
  end)
1503
1584
 
1585
+ api.add_operation(:describe_regions, Seahorse::Model::Operation.new.tap do |o|
1586
+ o.name = "DescribeRegions"
1587
+ o.http_method = "POST"
1588
+ o.http_request_uri = "/"
1589
+ o.input = Shapes::ShapeRef.new(shape: DescribeRegionsRequest)
1590
+ o.output = Shapes::ShapeRef.new(shape: DescribeRegionsResult)
1591
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1592
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1593
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1594
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1595
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1596
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1597
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1598
+ end)
1599
+
1504
1600
  api.add_operation(:describe_shared_directories, Seahorse::Model::Operation.new.tap do |o|
1505
1601
  o.name = "DescribeSharedDirectories"
1506
1602
  o.http_method = "POST"
@@ -1764,6 +1860,20 @@ module Aws::DirectoryService
1764
1860
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1765
1861
  end)
1766
1862
 
1863
+ api.add_operation(:remove_region, Seahorse::Model::Operation.new.tap do |o|
1864
+ o.name = "RemoveRegion"
1865
+ o.http_method = "POST"
1866
+ o.http_request_uri = "/"
1867
+ o.input = Shapes::ShapeRef.new(shape: RemoveRegionRequest)
1868
+ o.output = Shapes::ShapeRef.new(shape: RemoveRegionResult)
1869
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryUnavailableException)
1870
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1871
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1872
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1873
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1874
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1875
+ end)
1876
+
1767
1877
  api.add_operation(:remove_tags_from_resource, Seahorse::Model::Operation.new.tap do |o|
1768
1878
  o.name = "RemoveTagsFromResource"
1769
1879
  o.http_method = "POST"
@@ -34,6 +34,7 @@ module Aws::DirectoryService
34
34
  # * {CertificateInUseException}
35
35
  # * {CertificateLimitExceededException}
36
36
  # * {ClientException}
37
+ # * {DirectoryAlreadyInRegionException}
37
38
  # * {DirectoryAlreadySharedException}
38
39
  # * {DirectoryDoesNotExistException}
39
40
  # * {DirectoryLimitExceededException}
@@ -52,6 +53,7 @@ module Aws::DirectoryService
52
53
  # * {IpRouteLimitExceededException}
53
54
  # * {NoAvailableCertificateException}
54
55
  # * {OrganizationsException}
56
+ # * {RegionLimitExceededException}
55
57
  # * {ServiceException}
56
58
  # * {ShareLimitExceededException}
57
59
  # * {SnapshotLimitExceededException}
@@ -205,6 +207,26 @@ module Aws::DirectoryService
205
207
  end
206
208
  end
207
209
 
210
+ class DirectoryAlreadyInRegionException < ServiceError
211
+
212
+ # @param [Seahorse::Client::RequestContext] context
213
+ # @param [String] message
214
+ # @param [Aws::DirectoryService::Types::DirectoryAlreadyInRegionException] data
215
+ def initialize(context, message, data = Aws::EmptyStructure.new)
216
+ super(context, message, data)
217
+ end
218
+
219
+ # @return [String]
220
+ def message
221
+ @message || @data[:message]
222
+ end
223
+
224
+ # @return [String]
225
+ def request_id
226
+ @data[:request_id]
227
+ end
228
+ end
229
+
208
230
  class DirectoryAlreadySharedException < ServiceError
209
231
 
210
232
  # @param [Seahorse::Client::RequestContext] context
@@ -565,6 +587,26 @@ module Aws::DirectoryService
565
587
  end
566
588
  end
567
589
 
590
+ class RegionLimitExceededException < ServiceError
591
+
592
+ # @param [Seahorse::Client::RequestContext] context
593
+ # @param [String] message
594
+ # @param [Aws::DirectoryService::Types::RegionLimitExceededException] data
595
+ def initialize(context, message, data = Aws::EmptyStructure.new)
596
+ super(context, message, data)
597
+ end
598
+
599
+ # @return [String]
600
+ def message
601
+ @message || @data[:message]
602
+ end
603
+
604
+ # @return [String]
605
+ def request_id
606
+ @data[:request_id]
607
+ end
608
+ end
609
+
568
610
  class ServiceException < ServiceError
569
611
 
570
612
  # @param [Seahorse::Client::RequestContext] context
@@ -166,6 +166,47 @@ module Aws::DirectoryService
166
166
  #
167
167
  class AddIpRoutesResult < Aws::EmptyStructure; end
168
168
 
169
+ # @note When making an API call, you may pass AddRegionRequest
170
+ # data as a hash:
171
+ #
172
+ # {
173
+ # directory_id: "DirectoryId", # required
174
+ # region_name: "RegionName", # required
175
+ # vpc_settings: { # required
176
+ # vpc_id: "VpcId", # required
177
+ # subnet_ids: ["SubnetId"], # required
178
+ # },
179
+ # }
180
+ #
181
+ # @!attribute [rw] directory_id
182
+ # The identifier of the directory to which you want to add Region
183
+ # replication.
184
+ # @return [String]
185
+ #
186
+ # @!attribute [rw] region_name
187
+ # The name of the Region where you want to add domain controllers for
188
+ # replication. For example, `us-east-1`.
189
+ # @return [String]
190
+ #
191
+ # @!attribute [rw] vpc_settings
192
+ # Contains VPC information for the CreateDirectory or
193
+ # CreateMicrosoftAD operation.
194
+ # @return [Types::DirectoryVpcSettings]
195
+ #
196
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddRegionRequest AWS API Documentation
197
+ #
198
+ class AddRegionRequest < Struct.new(
199
+ :directory_id,
200
+ :region_name,
201
+ :vpc_settings)
202
+ SENSITIVE = []
203
+ include Aws::Structure
204
+ end
205
+
206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/AddRegionResult AWS API Documentation
207
+ #
208
+ class AddRegionResult < Aws::EmptyStructure; end
209
+
169
210
  # @note When making an API call, you may pass AddTagsToResourceRequest
170
211
  # data as a hash:
171
212
  #
@@ -784,6 +825,36 @@ module Aws::DirectoryService
784
825
  #
785
826
  # If you need to change the password for the administrator account,
786
827
  # you can use the ResetUserPassword API call.
828
+ #
829
+ # The regex pattern for this string is made up of the following
830
+ # conditions:
831
+ #
832
+ # * Length (?=^.\\\{8,64\\}$) – Must be between 8 and 64 characters
833
+ #
834
+ # ^
835
+ #
836
+ # AND any 3 of the following password complexity rules required by
837
+ # Active Directory:
838
+ #
839
+ # * Numbers and upper case and lowercase
840
+ # (?=.*\\d)(?=.*\[A-Z\])(?=.*\[a-z\])
841
+ #
842
+ # * Numbers and special characters and lower case
843
+ # (?=.*\\d)(?=.*\[^A-Za-z0-9\\s\])(?=.*\[a-z\])
844
+ #
845
+ # * Special characters and upper case and lower case
846
+ # (?=.*\[^A-Za-z0-9\\s\])(?=.*\[A-Z\])(?=.*\[a-z\])
847
+ #
848
+ # * Numbers and upper case and special characters
849
+ # (?=.*\\d)(?=.*\[A-Z\])(?=.*\[^A-Za-z0-9\\s\])
850
+ #
851
+ # For additional information about how Active Directory passwords are
852
+ # enforced, see [Password must meet complexity requirements][1] on the
853
+ # Microsoft website.
854
+ #
855
+ #
856
+ #
857
+ # [1]: https://docs.microsoft.com/en-us/windows/security/threat-protection/security-policy-settings/password-must-meet-complexity-requirements
787
858
  # @return [String]
788
859
  #
789
860
  # @!attribute [rw] description
@@ -1629,6 +1700,58 @@ module Aws::DirectoryService
1629
1700
  include Aws::Structure
1630
1701
  end
1631
1702
 
1703
+ # @note When making an API call, you may pass DescribeRegionsRequest
1704
+ # data as a hash:
1705
+ #
1706
+ # {
1707
+ # directory_id: "DirectoryId", # required
1708
+ # region_name: "RegionName",
1709
+ # next_token: "NextToken",
1710
+ # }
1711
+ #
1712
+ # @!attribute [rw] directory_id
1713
+ # The identifier of the directory.
1714
+ # @return [String]
1715
+ #
1716
+ # @!attribute [rw] region_name
1717
+ # The name of the Region. For example, `us-east-1`.
1718
+ # @return [String]
1719
+ #
1720
+ # @!attribute [rw] next_token
1721
+ # The *DescribeRegionsResult.NextToken* value from a previous call to
1722
+ # DescribeRegions. Pass null if this is the first call.
1723
+ # @return [String]
1724
+ #
1725
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegionsRequest AWS API Documentation
1726
+ #
1727
+ class DescribeRegionsRequest < Struct.new(
1728
+ :directory_id,
1729
+ :region_name,
1730
+ :next_token)
1731
+ SENSITIVE = []
1732
+ include Aws::Structure
1733
+ end
1734
+
1735
+ # @!attribute [rw] regions_description
1736
+ # List of regional information related to the directory per replicated
1737
+ # Region.
1738
+ # @return [Array<Types::RegionDescription>]
1739
+ #
1740
+ # @!attribute [rw] next_token
1741
+ # If not null, more results are available. Pass this value for the
1742
+ # *NextToken* parameter in a subsequent call to DescribeRegions to
1743
+ # retrieve the next set of items.
1744
+ # @return [String]
1745
+ #
1746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegionsResult AWS API Documentation
1747
+ #
1748
+ class DescribeRegionsResult < Struct.new(
1749
+ :regions_description,
1750
+ :next_token)
1751
+ SENSITIVE = []
1752
+ include Aws::Structure
1753
+ end
1754
+
1632
1755
  # @note When making an API call, you may pass DescribeSharedDirectoriesRequest
1633
1756
  # data as a hash:
1634
1757
  #
@@ -1831,6 +1954,27 @@ module Aws::DirectoryService
1831
1954
  include Aws::Structure
1832
1955
  end
1833
1956
 
1957
+ # The Region you specified is the same Region where the AWS Managed
1958
+ # Microsoft AD directory was created. Specify a different Region and try
1959
+ # again.
1960
+ #
1961
+ # @!attribute [rw] message
1962
+ # The descriptive message for the exception.
1963
+ # @return [String]
1964
+ #
1965
+ # @!attribute [rw] request_id
1966
+ # The AWS request identifier.
1967
+ # @return [String]
1968
+ #
1969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DirectoryAlreadyInRegionException AWS API Documentation
1970
+ #
1971
+ class DirectoryAlreadyInRegionException < Struct.new(
1972
+ :message,
1973
+ :request_id)
1974
+ SENSITIVE = []
1975
+ include Aws::Structure
1976
+ end
1977
+
1834
1978
  # The specified directory has already been shared with this AWS account.
1835
1979
  #
1836
1980
  # @!attribute [rw] message
@@ -2062,6 +2206,10 @@ module Aws::DirectoryService
2062
2206
  # owner account.
2063
2207
  # @return [Types::OwnerDirectoryDescription]
2064
2208
  #
2209
+ # @!attribute [rw] regions_info
2210
+ # Lists the Regions where the directory has replicated.
2211
+ # @return [Types::RegionsInfo]
2212
+ #
2065
2213
  # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DirectoryDescription AWS API Documentation
2066
2214
  #
2067
2215
  class DirectoryDescription < Struct.new(
@@ -2088,7 +2236,8 @@ module Aws::DirectoryService
2088
2236
  :stage_reason,
2089
2237
  :sso_enabled,
2090
2238
  :desired_number_of_domain_controllers,
2091
- :owner_directory_description)
2239
+ :owner_directory_description,
2240
+ :regions_info)
2092
2241
  SENSITIVE = [:share_notes]
2093
2242
  include Aws::Structure
2094
2243
  end
@@ -3370,9 +3519,9 @@ module Aws::DirectoryService
3370
3519
  # }
3371
3520
  #
3372
3521
  # @!attribute [rw] radius_servers
3373
- # An array of strings that contains the IP addresses of the RADIUS
3374
- # server endpoints, or the IP addresses of your RADIUS server load
3375
- # balancer.
3522
+ # An array of strings that contains the fully qualified domain name
3523
+ # (FQDN) or IP addresses of the RADIUS server endpoints, or the FQDN
3524
+ # or IP addresses of your RADIUS server load balancer.
3376
3525
  # @return [Array<String>]
3377
3526
  #
3378
3527
  # @!attribute [rw] radius_port
@@ -3422,6 +3571,105 @@ module Aws::DirectoryService
3422
3571
  include Aws::Structure
3423
3572
  end
3424
3573
 
3574
+ # The replicated regional information for a directory.
3575
+ #
3576
+ # @!attribute [rw] directory_id
3577
+ # The identifier of the directory.
3578
+ # @return [String]
3579
+ #
3580
+ # @!attribute [rw] region_name
3581
+ # The name of the Region. For example, `us-east-1`.
3582
+ # @return [String]
3583
+ #
3584
+ # @!attribute [rw] region_type
3585
+ # Specifies if the Region is the primary Region or an additional
3586
+ # Region.
3587
+ # @return [String]
3588
+ #
3589
+ # @!attribute [rw] status
3590
+ # The status of the replication process for the specified Region.
3591
+ # @return [String]
3592
+ #
3593
+ # @!attribute [rw] vpc_settings
3594
+ # Contains VPC information for the CreateDirectory or
3595
+ # CreateMicrosoftAD operation.
3596
+ # @return [Types::DirectoryVpcSettings]
3597
+ #
3598
+ # @!attribute [rw] desired_number_of_domain_controllers
3599
+ # The desired number of domain controllers in the specified Region for
3600
+ # the specified directory.
3601
+ # @return [Integer]
3602
+ #
3603
+ # @!attribute [rw] launch_time
3604
+ # Specifies when the Region replication began.
3605
+ # @return [Time]
3606
+ #
3607
+ # @!attribute [rw] status_last_updated_date_time
3608
+ # The date and time that the Region status was last updated.
3609
+ # @return [Time]
3610
+ #
3611
+ # @!attribute [rw] last_updated_date_time
3612
+ # The date and time that the Region description was last updated.
3613
+ # @return [Time]
3614
+ #
3615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegionDescription AWS API Documentation
3616
+ #
3617
+ class RegionDescription < Struct.new(
3618
+ :directory_id,
3619
+ :region_name,
3620
+ :region_type,
3621
+ :status,
3622
+ :vpc_settings,
3623
+ :desired_number_of_domain_controllers,
3624
+ :launch_time,
3625
+ :status_last_updated_date_time,
3626
+ :last_updated_date_time)
3627
+ SENSITIVE = []
3628
+ include Aws::Structure
3629
+ end
3630
+
3631
+ # You have reached the limit for maximum number of simultaneous region
3632
+ # replications per directory.
3633
+ #
3634
+ # @!attribute [rw] message
3635
+ # The descriptive message for the exception.
3636
+ # @return [String]
3637
+ #
3638
+ # @!attribute [rw] request_id
3639
+ # The AWS request identifier.
3640
+ # @return [String]
3641
+ #
3642
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegionLimitExceededException AWS API Documentation
3643
+ #
3644
+ class RegionLimitExceededException < Struct.new(
3645
+ :message,
3646
+ :request_id)
3647
+ SENSITIVE = []
3648
+ include Aws::Structure
3649
+ end
3650
+
3651
+ # Provides information about the Regions that are configured for
3652
+ # multi-Region replication.
3653
+ #
3654
+ # @!attribute [rw] primary_region
3655
+ # The Region from where the AWS Managed Microsoft AD directory was
3656
+ # originally created.
3657
+ # @return [String]
3658
+ #
3659
+ # @!attribute [rw] additional_regions
3660
+ # Lists the Regions where the directory has been replicated, excluding
3661
+ # the primary Region.
3662
+ # @return [Array<String>]
3663
+ #
3664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RegionsInfo AWS API Documentation
3665
+ #
3666
+ class RegionsInfo < Struct.new(
3667
+ :primary_region,
3668
+ :additional_regions)
3669
+ SENSITIVE = []
3670
+ include Aws::Structure
3671
+ end
3672
+
3425
3673
  # @note When making an API call, you may pass RegisterCertificateRequest
3426
3674
  # data as a hash:
3427
3675
  #
@@ -3558,6 +3806,30 @@ module Aws::DirectoryService
3558
3806
  #
3559
3807
  class RemoveIpRoutesResult < Aws::EmptyStructure; end
3560
3808
 
3809
+ # @note When making an API call, you may pass RemoveRegionRequest
3810
+ # data as a hash:
3811
+ #
3812
+ # {
3813
+ # directory_id: "DirectoryId", # required
3814
+ # }
3815
+ #
3816
+ # @!attribute [rw] directory_id
3817
+ # The identifier of the directory for which you want to remove Region
3818
+ # replication.
3819
+ # @return [String]
3820
+ #
3821
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegionRequest AWS API Documentation
3822
+ #
3823
+ class RemoveRegionRequest < Struct.new(
3824
+ :directory_id)
3825
+ SENSITIVE = []
3826
+ include Aws::Structure
3827
+ end
3828
+
3829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegionResult AWS API Documentation
3830
+ #
3831
+ class RemoveRegionResult < Aws::EmptyStructure; end
3832
+
3561
3833
  # @note When making an API call, you may pass RemoveTagsFromResourceRequest
3562
3834
  # data as a hash:
3563
3835
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-directoryservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-30 00:00:00.000000000 Z
11
+ date: 2020-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core