aws-sdk-directoryservice 1.34.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
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