aws-sdk-directoryservice 1.33.0 → 1.38.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: 7337be39fd2dfb64a8e9a65c8525a7527e6a33993f7e4504f5928cc87c8ee19f
4
- data.tar.gz: ddd2eee1fa7084deb16c745d44929da30034a1f974b09ab6354a73d192e63fd0
3
+ metadata.gz: 9962a2f44348b33e61d9d4ec8c4ee08aa16dd5d2cc844cca82eee44d761968de
4
+ data.tar.gz: b27309ffd4766deb4af4e6f2466402427a38e94ba6b0791fbde5f3b0c2b8f427
5
5
  SHA512:
6
- metadata.gz: e2783f474abfe90d66fe9a10020033abd357463d0637fa58b35e7e24a3c7827a9167b8733def7cbbb7b8d8ca4bc015cd70715e3dfcf02e6e568b041f119138d3
7
- data.tar.gz: b5e1c43f118464b169fe21cbe6c4e321b74af15fd4a634f033c3eae0a6eab35b7aefb6ffe81f89ccc69ce02ca8e32adb1c98bbd117dc382177ebb87d9cd8ff9c
6
+ metadata.gz: 78bb297916d512a0ad05bbcbef83794973620190f132130a1511e1b75955d382a40a1df7b4e26ce6f614079611d7af7e60dd67e96a4b6cba0a6fd496789fb57d
7
+ data.tar.gz: 65d15eb8ea0edd7e7364e320fc6772c3a341cdfa8ae1824d1d28da96d623ba66e72f11144ba3553a2ed7ba98f5fbee8f4cbf8c84b8a97786ba659ae9783ca486
@@ -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.33.0'
51
+ GEM_VERSION = '1.38.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
  #
@@ -1199,8 +1266,8 @@ module Aws::DirectoryService
1199
1266
  req.send_request(options)
1200
1267
  end
1201
1268
 
1202
- # Deletes from the system the certificate that was registered for a
1203
- # secured LDAP connection.
1269
+ # Deletes from the system the certificate that was registered for secure
1270
+ # LDAP or client certificate authentication.
1204
1271
  #
1205
1272
  # @option params [required, String] :directory_id
1206
1273
  # The identifier of the directory.
@@ -1255,8 +1322,8 @@ module Aws::DirectoryService
1255
1322
  req.send_request(options)
1256
1323
  end
1257
1324
 
1258
- # Displays information about the certificate registered for a secured
1259
- # LDAP connection.
1325
+ # Displays information about the certificate registered for secure LDAP
1326
+ # or client certificate authentication.
1260
1327
  #
1261
1328
  # @option params [required, String] :directory_id
1262
1329
  # The identifier of the directory.
@@ -1283,6 +1350,8 @@ module Aws::DirectoryService
1283
1350
  # resp.certificate.common_name #=> String
1284
1351
  # resp.certificate.registered_date_time #=> Time
1285
1352
  # resp.certificate.expiry_date_time #=> Time
1353
+ # resp.certificate.type #=> String, one of "ClientCertAuth", "ClientLDAPS"
1354
+ # resp.certificate.client_cert_auth_settings.ocsp_url #=> String
1286
1355
  #
1287
1356
  # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeCertificate AWS API Documentation
1288
1357
  #
@@ -1448,6 +1517,9 @@ module Aws::DirectoryService
1448
1517
  # resp.directory_descriptions[0].owner_directory_description.radius_settings.display_label #=> String
1449
1518
  # resp.directory_descriptions[0].owner_directory_description.radius_settings.use_same_username #=> Boolean
1450
1519
  # resp.directory_descriptions[0].owner_directory_description.radius_status #=> String, one of "Creating", "Completed", "Failed"
1520
+ # resp.directory_descriptions[0].regions_info.primary_region #=> String
1521
+ # resp.directory_descriptions[0].regions_info.additional_regions #=> Array
1522
+ # resp.directory_descriptions[0].regions_info.additional_regions[0] #=> String
1451
1523
  # resp.next_token #=> String
1452
1524
  #
1453
1525
  # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeDirectories AWS API Documentation
@@ -1609,6 +1681,57 @@ module Aws::DirectoryService
1609
1681
  req.send_request(options)
1610
1682
  end
1611
1683
 
1684
+ # Provides information about the Regions that are configured for
1685
+ # multi-Region replication.
1686
+ #
1687
+ # @option params [required, String] :directory_id
1688
+ # The identifier of the directory.
1689
+ #
1690
+ # @option params [String] :region_name
1691
+ # The name of the Region. For example, `us-east-1`.
1692
+ #
1693
+ # @option params [String] :next_token
1694
+ # The `DescribeRegionsResult.NextToken` value from a previous call to
1695
+ # DescribeRegions. Pass null if this is the first call.
1696
+ #
1697
+ # @return [Types::DescribeRegionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1698
+ #
1699
+ # * {Types::DescribeRegionsResult#regions_description #regions_description} => Array<Types::RegionDescription>
1700
+ # * {Types::DescribeRegionsResult#next_token #next_token} => String
1701
+ #
1702
+ # @example Request syntax with placeholder values
1703
+ #
1704
+ # resp = client.describe_regions({
1705
+ # directory_id: "DirectoryId", # required
1706
+ # region_name: "RegionName",
1707
+ # next_token: "NextToken",
1708
+ # })
1709
+ #
1710
+ # @example Response structure
1711
+ #
1712
+ # resp.regions_description #=> Array
1713
+ # resp.regions_description[0].directory_id #=> String
1714
+ # resp.regions_description[0].region_name #=> String
1715
+ # resp.regions_description[0].region_type #=> String, one of "Primary", "Additional"
1716
+ # resp.regions_description[0].status #=> String, one of "Requested", "Creating", "Created", "Active", "Inoperable", "Impaired", "Restoring", "RestoreFailed", "Deleting", "Deleted", "Failed"
1717
+ # resp.regions_description[0].vpc_settings.vpc_id #=> String
1718
+ # resp.regions_description[0].vpc_settings.subnet_ids #=> Array
1719
+ # resp.regions_description[0].vpc_settings.subnet_ids[0] #=> String
1720
+ # resp.regions_description[0].desired_number_of_domain_controllers #=> Integer
1721
+ # resp.regions_description[0].launch_time #=> Time
1722
+ # resp.regions_description[0].status_last_updated_date_time #=> Time
1723
+ # resp.regions_description[0].last_updated_date_time #=> Time
1724
+ # resp.next_token #=> String
1725
+ #
1726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DescribeRegions AWS API Documentation
1727
+ #
1728
+ # @overload describe_regions(params = {})
1729
+ # @param [Hash] params ({})
1730
+ def describe_regions(params = {}, options = {})
1731
+ req = build_request(:describe_regions, params)
1732
+ req.send_request(options)
1733
+ end
1734
+
1612
1735
  # Returns the shared directories in your account.
1613
1736
  #
1614
1737
  # @option params [required, String] :owner_directory_id
@@ -1787,6 +1910,34 @@ module Aws::DirectoryService
1787
1910
  req.send_request(options)
1788
1911
  end
1789
1912
 
1913
+ # Disables alternative client authentication methods for the specified
1914
+ # directory.
1915
+ #
1916
+ # @option params [required, String] :directory_id
1917
+ # The identifier of the directory
1918
+ #
1919
+ # @option params [required, String] :type
1920
+ # The type of client authentication to disable. Currently, only the
1921
+ # parameter, `SmartCard` is supported.
1922
+ #
1923
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1924
+ #
1925
+ # @example Request syntax with placeholder values
1926
+ #
1927
+ # resp = client.disable_client_authentication({
1928
+ # directory_id: "DirectoryId", # required
1929
+ # type: "SmartCard", # required, accepts SmartCard
1930
+ # })
1931
+ #
1932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/DisableClientAuthentication AWS API Documentation
1933
+ #
1934
+ # @overload disable_client_authentication(params = {})
1935
+ # @param [Hash] params ({})
1936
+ def disable_client_authentication(params = {}, options = {})
1937
+ req = build_request(:disable_client_authentication, params)
1938
+ req.send_request(options)
1939
+ end
1940
+
1790
1941
  # Deactivates LDAP secure calls for the specified directory.
1791
1942
  #
1792
1943
  # @option params [required, String] :directory_id
@@ -1878,6 +2029,36 @@ module Aws::DirectoryService
1878
2029
  req.send_request(options)
1879
2030
  end
1880
2031
 
2032
+ # Enables alternative client authentication methods for the specified
2033
+ # directory.
2034
+ #
2035
+ # @option params [required, String] :directory_id
2036
+ # The identifier of the specified directory.
2037
+ #
2038
+ # @option params [required, String] :type
2039
+ # The type of client authentication to enable. Currently only the value
2040
+ # `SmartCard` is supported. Smart card authentication in AD Connector
2041
+ # requires that you enable Kerberos Constrained Delegation for the
2042
+ # Service User to the LDAP service in the on-premises AD.
2043
+ #
2044
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2045
+ #
2046
+ # @example Request syntax with placeholder values
2047
+ #
2048
+ # resp = client.enable_client_authentication({
2049
+ # directory_id: "DirectoryId", # required
2050
+ # type: "SmartCard", # required, accepts SmartCard
2051
+ # })
2052
+ #
2053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableClientAuthentication AWS API Documentation
2054
+ #
2055
+ # @overload enable_client_authentication(params = {})
2056
+ # @param [Hash] params ({})
2057
+ def enable_client_authentication(params = {}, options = {})
2058
+ req = build_request(:enable_client_authentication, params)
2059
+ req.send_request(options)
2060
+ end
2061
+
1881
2062
  # Activates the switch for the specific directory to always use LDAP
1882
2063
  # secure calls.
1883
2064
  #
@@ -2044,7 +2225,7 @@ module Aws::DirectoryService
2044
2225
  end
2045
2226
 
2046
2227
  # For the specified directory, lists all the certificates registered for
2047
- # a secured LDAP connection.
2228
+ # a secure LDAP or client certificate authentication.
2048
2229
  #
2049
2230
  # @option params [required, String] :directory_id
2050
2231
  # The identifier of the directory.
@@ -2079,6 +2260,7 @@ module Aws::DirectoryService
2079
2260
  # resp.certificates_info[0].common_name #=> String
2080
2261
  # resp.certificates_info[0].state #=> String, one of "Registering", "Registered", "RegisterFailed", "Deregistering", "Deregistered", "DeregisterFailed"
2081
2262
  # resp.certificates_info[0].expiry_date_time #=> Time
2263
+ # resp.certificates_info[0].type #=> String, one of "ClientCertAuth", "ClientLDAPS"
2082
2264
  #
2083
2265
  # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/ListCertificates AWS API Documentation
2084
2266
  #
@@ -2268,7 +2450,8 @@ module Aws::DirectoryService
2268
2450
  req.send_request(options)
2269
2451
  end
2270
2452
 
2271
- # Registers a certificate for secured LDAP connection.
2453
+ # Registers a certificate for a secure LDAP or client certificate
2454
+ # authentication.
2272
2455
  #
2273
2456
  # @option params [required, String] :directory_id
2274
2457
  # The identifier of the directory.
@@ -2276,6 +2459,15 @@ module Aws::DirectoryService
2276
2459
  # @option params [required, String] :certificate_data
2277
2460
  # The certificate PEM string that needs to be registered.
2278
2461
  #
2462
+ # @option params [String] :type
2463
+ # The function that the registered certificate performs. Valid values
2464
+ # include `ClientLDAPS` or `ClientCertAuth`. The default value is
2465
+ # `ClientLDAPS`.
2466
+ #
2467
+ # @option params [Types::ClientCertAuthSettings] :client_cert_auth_settings
2468
+ # A `ClientCertAuthSettings` object that contains client certificate
2469
+ # authentication settings.
2470
+ #
2279
2471
  # @return [Types::RegisterCertificateResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2280
2472
  #
2281
2473
  # * {Types::RegisterCertificateResult#certificate_id #certificate_id} => String
@@ -2285,6 +2477,10 @@ module Aws::DirectoryService
2285
2477
  # resp = client.register_certificate({
2286
2478
  # directory_id: "DirectoryId", # required
2287
2479
  # certificate_data: "CertificateData", # required
2480
+ # type: "ClientCertAuth", # accepts ClientCertAuth, ClientLDAPS
2481
+ # client_cert_auth_settings: {
2482
+ # ocsp_url: "OCSPUrl",
2483
+ # },
2288
2484
  # })
2289
2485
  #
2290
2486
  # @example Response structure
@@ -2390,6 +2586,31 @@ module Aws::DirectoryService
2390
2586
  req.send_request(options)
2391
2587
  end
2392
2588
 
2589
+ # Stops all replication and removes the domain controllers from the
2590
+ # specified Region. You cannot remove the primary Region with this
2591
+ # operation. Instead, use the `DeleteDirectory` API.
2592
+ #
2593
+ # @option params [required, String] :directory_id
2594
+ # The identifier of the directory for which you want to remove Region
2595
+ # replication.
2596
+ #
2597
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2598
+ #
2599
+ # @example Request syntax with placeholder values
2600
+ #
2601
+ # resp = client.remove_region({
2602
+ # directory_id: "DirectoryId", # required
2603
+ # })
2604
+ #
2605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/RemoveRegion AWS API Documentation
2606
+ #
2607
+ # @overload remove_region(params = {})
2608
+ # @param [Hash] params ({})
2609
+ def remove_region(params = {}, options = {})
2610
+ req = build_request(:remove_region, params)
2611
+ req.send_request(options)
2612
+ end
2613
+
2393
2614
  # Removes tags from a directory.
2394
2615
  #
2395
2616
  # @option params [required, String] :resource_id
@@ -2834,7 +3055,7 @@ module Aws::DirectoryService
2834
3055
  params: params,
2835
3056
  config: config)
2836
3057
  context[:gem_name] = 'aws-sdk-directoryservice'
2837
- context[:gem_version] = '1.33.0'
3058
+ context[:gem_version] = '1.38.0'
2838
3059
  Seahorse::Client::Request.new(handlers, context)
2839
3060
  end
2840
3061
 
@@ -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')
@@ -45,9 +48,12 @@ module Aws::DirectoryService
45
48
  CertificateRegisteredDateTime = Shapes::TimestampShape.new(name: 'CertificateRegisteredDateTime')
46
49
  CertificateState = Shapes::StringShape.new(name: 'CertificateState')
47
50
  CertificateStateReason = Shapes::StringShape.new(name: 'CertificateStateReason')
51
+ CertificateType = Shapes::StringShape.new(name: 'CertificateType')
48
52
  CertificatesInfo = Shapes::ListShape.new(name: 'CertificatesInfo')
49
53
  CidrIp = Shapes::StringShape.new(name: 'CidrIp')
50
54
  CidrIps = Shapes::ListShape.new(name: 'CidrIps')
55
+ ClientAuthenticationType = Shapes::StringShape.new(name: 'ClientAuthenticationType')
56
+ ClientCertAuthSettings = Shapes::StructureShape.new(name: 'ClientCertAuthSettings')
51
57
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
52
58
  CloudOnlyDirectoriesLimitReached = Shapes::BooleanShape.new(name: 'CloudOnlyDirectoriesLimitReached')
53
59
  Computer = Shapes::StructureShape.new(name: 'Computer')
@@ -106,6 +112,8 @@ module Aws::DirectoryService
106
112
  DescribeEventTopicsResult = Shapes::StructureShape.new(name: 'DescribeEventTopicsResult')
107
113
  DescribeLDAPSSettingsRequest = Shapes::StructureShape.new(name: 'DescribeLDAPSSettingsRequest')
108
114
  DescribeLDAPSSettingsResult = Shapes::StructureShape.new(name: 'DescribeLDAPSSettingsResult')
115
+ DescribeRegionsRequest = Shapes::StructureShape.new(name: 'DescribeRegionsRequest')
116
+ DescribeRegionsResult = Shapes::StructureShape.new(name: 'DescribeRegionsResult')
109
117
  DescribeSharedDirectoriesRequest = Shapes::StructureShape.new(name: 'DescribeSharedDirectoriesRequest')
110
118
  DescribeSharedDirectoriesResult = Shapes::StructureShape.new(name: 'DescribeSharedDirectoriesResult')
111
119
  DescribeSnapshotsRequest = Shapes::StructureShape.new(name: 'DescribeSnapshotsRequest')
@@ -114,6 +122,7 @@ module Aws::DirectoryService
114
122
  DescribeTrustsResult = Shapes::StructureShape.new(name: 'DescribeTrustsResult')
115
123
  Description = Shapes::StringShape.new(name: 'Description')
116
124
  DesiredNumberOfDomainControllers = Shapes::IntegerShape.new(name: 'DesiredNumberOfDomainControllers')
125
+ DirectoryAlreadyInRegionException = Shapes::StructureShape.new(name: 'DirectoryAlreadyInRegionException')
117
126
  DirectoryAlreadySharedException = Shapes::StructureShape.new(name: 'DirectoryAlreadySharedException')
118
127
  DirectoryConnectSettings = Shapes::StructureShape.new(name: 'DirectoryConnectSettings')
119
128
  DirectoryConnectSettingsDescription = Shapes::StructureShape.new(name: 'DirectoryConnectSettingsDescription')
@@ -134,6 +143,8 @@ module Aws::DirectoryService
134
143
  DirectoryUnavailableException = Shapes::StructureShape.new(name: 'DirectoryUnavailableException')
135
144
  DirectoryVpcSettings = Shapes::StructureShape.new(name: 'DirectoryVpcSettings')
136
145
  DirectoryVpcSettingsDescription = Shapes::StructureShape.new(name: 'DirectoryVpcSettingsDescription')
146
+ DisableClientAuthenticationRequest = Shapes::StructureShape.new(name: 'DisableClientAuthenticationRequest')
147
+ DisableClientAuthenticationResult = Shapes::StructureShape.new(name: 'DisableClientAuthenticationResult')
137
148
  DisableLDAPSRequest = Shapes::StructureShape.new(name: 'DisableLDAPSRequest')
138
149
  DisableLDAPSResult = Shapes::StructureShape.new(name: 'DisableLDAPSResult')
139
150
  DisableRadiusRequest = Shapes::StructureShape.new(name: 'DisableRadiusRequest')
@@ -148,6 +159,8 @@ module Aws::DirectoryService
148
159
  DomainControllerStatus = Shapes::StringShape.new(name: 'DomainControllerStatus')
149
160
  DomainControllerStatusReason = Shapes::StringShape.new(name: 'DomainControllerStatusReason')
150
161
  DomainControllers = Shapes::ListShape.new(name: 'DomainControllers')
162
+ EnableClientAuthenticationRequest = Shapes::StructureShape.new(name: 'EnableClientAuthenticationRequest')
163
+ EnableClientAuthenticationResult = Shapes::StructureShape.new(name: 'EnableClientAuthenticationResult')
151
164
  EnableLDAPSRequest = Shapes::StructureShape.new(name: 'EnableLDAPSRequest')
152
165
  EnableLDAPSResult = Shapes::StructureShape.new(name: 'EnableLDAPSResult')
153
166
  EnableRadiusRequest = Shapes::StructureShape.new(name: 'EnableRadiusRequest')
@@ -166,6 +179,7 @@ module Aws::DirectoryService
166
179
  GetSnapshotLimitsResult = Shapes::StructureShape.new(name: 'GetSnapshotLimitsResult')
167
180
  InsufficientPermissionsException = Shapes::StructureShape.new(name: 'InsufficientPermissionsException')
168
181
  InvalidCertificateException = Shapes::StructureShape.new(name: 'InvalidCertificateException')
182
+ InvalidClientAuthStatusException = Shapes::StructureShape.new(name: 'InvalidClientAuthStatusException')
169
183
  InvalidLDAPSStatusException = Shapes::StructureShape.new(name: 'InvalidLDAPSStatusException')
170
184
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
171
185
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
@@ -206,6 +220,7 @@ module Aws::DirectoryService
206
220
  NextToken = Shapes::StringShape.new(name: 'NextToken')
207
221
  NoAvailableCertificateException = Shapes::StructureShape.new(name: 'NoAvailableCertificateException')
208
222
  Notes = Shapes::StringShape.new(name: 'Notes')
223
+ OCSPUrl = Shapes::StringShape.new(name: 'OCSPUrl')
209
224
  OrganizationalUnitDN = Shapes::StringShape.new(name: 'OrganizationalUnitDN')
210
225
  OrganizationsException = Shapes::StructureShape.new(name: 'OrganizationsException')
211
226
  OwnerDirectoryDescription = Shapes::StructureShape.new(name: 'OwnerDirectoryDescription')
@@ -219,6 +234,12 @@ module Aws::DirectoryService
219
234
  RadiusSharedSecret = Shapes::StringShape.new(name: 'RadiusSharedSecret')
220
235
  RadiusStatus = Shapes::StringShape.new(name: 'RadiusStatus')
221
236
  RadiusTimeout = Shapes::IntegerShape.new(name: 'RadiusTimeout')
237
+ RegionDescription = Shapes::StructureShape.new(name: 'RegionDescription')
238
+ RegionLimitExceededException = Shapes::StructureShape.new(name: 'RegionLimitExceededException')
239
+ RegionName = Shapes::StringShape.new(name: 'RegionName')
240
+ RegionType = Shapes::StringShape.new(name: 'RegionType')
241
+ RegionsDescription = Shapes::ListShape.new(name: 'RegionsDescription')
242
+ RegionsInfo = Shapes::StructureShape.new(name: 'RegionsInfo')
222
243
  RegisterCertificateRequest = Shapes::StructureShape.new(name: 'RegisterCertificateRequest')
223
244
  RegisterCertificateResult = Shapes::StructureShape.new(name: 'RegisterCertificateResult')
224
245
  RegisterEventTopicRequest = Shapes::StructureShape.new(name: 'RegisterEventTopicRequest')
@@ -229,6 +250,8 @@ module Aws::DirectoryService
229
250
  RemoteDomainNames = Shapes::ListShape.new(name: 'RemoteDomainNames')
230
251
  RemoveIpRoutesRequest = Shapes::StructureShape.new(name: 'RemoveIpRoutesRequest')
231
252
  RemoveIpRoutesResult = Shapes::StructureShape.new(name: 'RemoveIpRoutesResult')
253
+ RemoveRegionRequest = Shapes::StructureShape.new(name: 'RemoveRegionRequest')
254
+ RemoveRegionResult = Shapes::StructureShape.new(name: 'RemoveRegionResult')
232
255
  RemoveTagsFromResourceRequest = Shapes::StructureShape.new(name: 'RemoveTagsFromResourceRequest')
233
256
  RemoveTagsFromResourceResult = Shapes::StructureShape.new(name: 'RemoveTagsFromResourceResult')
234
257
  ReplicationScope = Shapes::StringShape.new(name: 'ReplicationScope')
@@ -335,12 +358,21 @@ module Aws::DirectoryService
335
358
 
336
359
  AddIpRoutesResult.struct_class = Types::AddIpRoutesResult
337
360
 
361
+ AddRegionRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
362
+ AddRegionRequest.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, required: true, location_name: "RegionName"))
363
+ AddRegionRequest.add_member(:vpc_settings, Shapes::ShapeRef.new(shape: DirectoryVpcSettings, required: true, location_name: "VPCSettings"))
364
+ AddRegionRequest.struct_class = Types::AddRegionRequest
365
+
366
+ AddRegionResult.struct_class = Types::AddRegionResult
367
+
338
368
  AddTagsToResourceRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
339
369
  AddTagsToResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
340
370
  AddTagsToResourceRequest.struct_class = Types::AddTagsToResourceRequest
341
371
 
342
372
  AddTagsToResourceResult.struct_class = Types::AddTagsToResourceResult
343
373
 
374
+ AdditionalRegions.member = Shapes::ShapeRef.new(shape: RegionName)
375
+
344
376
  Attribute.add_member(:name, Shapes::ShapeRef.new(shape: AttributeName, location_name: "Name"))
345
377
  Attribute.add_member(:value, Shapes::ShapeRef.new(shape: AttributeValue, location_name: "Value"))
346
378
  Attribute.struct_class = Types::Attribute
@@ -365,6 +397,8 @@ module Aws::DirectoryService
365
397
  Certificate.add_member(:common_name, Shapes::ShapeRef.new(shape: CertificateCN, location_name: "CommonName"))
366
398
  Certificate.add_member(:registered_date_time, Shapes::ShapeRef.new(shape: CertificateRegisteredDateTime, location_name: "RegisteredDateTime"))
367
399
  Certificate.add_member(:expiry_date_time, Shapes::ShapeRef.new(shape: CertificateExpiryDateTime, location_name: "ExpiryDateTime"))
400
+ Certificate.add_member(:type, Shapes::ShapeRef.new(shape: CertificateType, location_name: "Type"))
401
+ Certificate.add_member(:client_cert_auth_settings, Shapes::ShapeRef.new(shape: ClientCertAuthSettings, location_name: "ClientCertAuthSettings"))
368
402
  Certificate.struct_class = Types::Certificate
369
403
 
370
404
  CertificateAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
@@ -383,6 +417,7 @@ module Aws::DirectoryService
383
417
  CertificateInfo.add_member(:common_name, Shapes::ShapeRef.new(shape: CertificateCN, location_name: "CommonName"))
384
418
  CertificateInfo.add_member(:state, Shapes::ShapeRef.new(shape: CertificateState, location_name: "State"))
385
419
  CertificateInfo.add_member(:expiry_date_time, Shapes::ShapeRef.new(shape: CertificateExpiryDateTime, location_name: "ExpiryDateTime"))
420
+ CertificateInfo.add_member(:type, Shapes::ShapeRef.new(shape: CertificateType, location_name: "Type"))
386
421
  CertificateInfo.struct_class = Types::CertificateInfo
387
422
 
388
423
  CertificateLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
@@ -393,6 +428,9 @@ module Aws::DirectoryService
393
428
 
394
429
  CidrIps.member = Shapes::ShapeRef.new(shape: CidrIp)
395
430
 
431
+ ClientCertAuthSettings.add_member(:ocsp_url, Shapes::ShapeRef.new(shape: OCSPUrl, location_name: "OCSPUrl"))
432
+ ClientCertAuthSettings.struct_class = Types::ClientCertAuthSettings
433
+
396
434
  ClientException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
397
435
  ClientException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
398
436
  ClientException.struct_class = Types::ClientException
@@ -587,6 +625,15 @@ module Aws::DirectoryService
587
625
  DescribeLDAPSSettingsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
588
626
  DescribeLDAPSSettingsResult.struct_class = Types::DescribeLDAPSSettingsResult
589
627
 
628
+ DescribeRegionsRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
629
+ DescribeRegionsRequest.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, location_name: "RegionName"))
630
+ DescribeRegionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
631
+ DescribeRegionsRequest.struct_class = Types::DescribeRegionsRequest
632
+
633
+ DescribeRegionsResult.add_member(:regions_description, Shapes::ShapeRef.new(shape: RegionsDescription, location_name: "RegionsDescription"))
634
+ DescribeRegionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
635
+ DescribeRegionsResult.struct_class = Types::DescribeRegionsResult
636
+
590
637
  DescribeSharedDirectoriesRequest.add_member(:owner_directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "OwnerDirectoryId"))
591
638
  DescribeSharedDirectoriesRequest.add_member(:shared_directory_ids, Shapes::ShapeRef.new(shape: DirectoryIds, location_name: "SharedDirectoryIds"))
592
639
  DescribeSharedDirectoriesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
@@ -617,6 +664,10 @@ module Aws::DirectoryService
617
664
  DescribeTrustsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
618
665
  DescribeTrustsResult.struct_class = Types::DescribeTrustsResult
619
666
 
667
+ DirectoryAlreadyInRegionException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
668
+ DirectoryAlreadyInRegionException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
669
+ DirectoryAlreadyInRegionException.struct_class = Types::DirectoryAlreadyInRegionException
670
+
620
671
  DirectoryAlreadySharedException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
621
672
  DirectoryAlreadySharedException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
622
673
  DirectoryAlreadySharedException.struct_class = Types::DirectoryAlreadySharedException
@@ -659,6 +710,7 @@ module Aws::DirectoryService
659
710
  DirectoryDescription.add_member(:sso_enabled, Shapes::ShapeRef.new(shape: SsoEnabled, location_name: "SsoEnabled"))
660
711
  DirectoryDescription.add_member(:desired_number_of_domain_controllers, Shapes::ShapeRef.new(shape: DesiredNumberOfDomainControllers, location_name: "DesiredNumberOfDomainControllers"))
661
712
  DirectoryDescription.add_member(:owner_directory_description, Shapes::ShapeRef.new(shape: OwnerDirectoryDescription, location_name: "OwnerDirectoryDescription"))
713
+ DirectoryDescription.add_member(:regions_info, Shapes::ShapeRef.new(shape: RegionsInfo, location_name: "RegionsInfo"))
662
714
  DirectoryDescription.struct_class = Types::DirectoryDescription
663
715
 
664
716
  DirectoryDescriptions.member = Shapes::ShapeRef.new(shape: DirectoryDescription)
@@ -702,6 +754,12 @@ module Aws::DirectoryService
702
754
  DirectoryVpcSettingsDescription.add_member(:availability_zones, Shapes::ShapeRef.new(shape: AvailabilityZones, location_name: "AvailabilityZones"))
703
755
  DirectoryVpcSettingsDescription.struct_class = Types::DirectoryVpcSettingsDescription
704
756
 
757
+ DisableClientAuthenticationRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
758
+ DisableClientAuthenticationRequest.add_member(:type, Shapes::ShapeRef.new(shape: ClientAuthenticationType, required: true, location_name: "Type"))
759
+ DisableClientAuthenticationRequest.struct_class = Types::DisableClientAuthenticationRequest
760
+
761
+ DisableClientAuthenticationResult.struct_class = Types::DisableClientAuthenticationResult
762
+
705
763
  DisableLDAPSRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
706
764
  DisableLDAPSRequest.add_member(:type, Shapes::ShapeRef.new(shape: LDAPSType, required: true, location_name: "Type"))
707
765
  DisableLDAPSRequest.struct_class = Types::DisableLDAPSRequest
@@ -742,6 +800,12 @@ module Aws::DirectoryService
742
800
 
743
801
  DomainControllers.member = Shapes::ShapeRef.new(shape: DomainController)
744
802
 
803
+ EnableClientAuthenticationRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
804
+ EnableClientAuthenticationRequest.add_member(:type, Shapes::ShapeRef.new(shape: ClientAuthenticationType, required: true, location_name: "Type"))
805
+ EnableClientAuthenticationRequest.struct_class = Types::EnableClientAuthenticationRequest
806
+
807
+ EnableClientAuthenticationResult.struct_class = Types::EnableClientAuthenticationResult
808
+
745
809
  EnableLDAPSRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
746
810
  EnableLDAPSRequest.add_member(:type, Shapes::ShapeRef.new(shape: LDAPSType, required: true, location_name: "Type"))
747
811
  EnableLDAPSRequest.struct_class = Types::EnableLDAPSRequest
@@ -797,6 +861,10 @@ module Aws::DirectoryService
797
861
  InvalidCertificateException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
798
862
  InvalidCertificateException.struct_class = Types::InvalidCertificateException
799
863
 
864
+ InvalidClientAuthStatusException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
865
+ InvalidClientAuthStatusException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
866
+ InvalidClientAuthStatusException.struct_class = Types::InvalidClientAuthStatusException
867
+
800
868
  InvalidLDAPSStatusException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
801
869
  InvalidLDAPSStatusException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
802
870
  InvalidLDAPSStatusException.struct_class = Types::InvalidLDAPSStatusException
@@ -924,8 +992,31 @@ module Aws::DirectoryService
924
992
  RadiusSettings.add_member(:use_same_username, Shapes::ShapeRef.new(shape: UseSameUsername, location_name: "UseSameUsername"))
925
993
  RadiusSettings.struct_class = Types::RadiusSettings
926
994
 
995
+ RegionDescription.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "DirectoryId"))
996
+ RegionDescription.add_member(:region_name, Shapes::ShapeRef.new(shape: RegionName, location_name: "RegionName"))
997
+ RegionDescription.add_member(:region_type, Shapes::ShapeRef.new(shape: RegionType, location_name: "RegionType"))
998
+ RegionDescription.add_member(:status, Shapes::ShapeRef.new(shape: DirectoryStage, location_name: "Status"))
999
+ RegionDescription.add_member(:vpc_settings, Shapes::ShapeRef.new(shape: DirectoryVpcSettings, location_name: "VpcSettings"))
1000
+ RegionDescription.add_member(:desired_number_of_domain_controllers, Shapes::ShapeRef.new(shape: DesiredNumberOfDomainControllers, location_name: "DesiredNumberOfDomainControllers"))
1001
+ RegionDescription.add_member(:launch_time, Shapes::ShapeRef.new(shape: LaunchTime, location_name: "LaunchTime"))
1002
+ RegionDescription.add_member(:status_last_updated_date_time, Shapes::ShapeRef.new(shape: StateLastUpdatedDateTime, location_name: "StatusLastUpdatedDateTime"))
1003
+ RegionDescription.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: LastUpdatedDateTime, location_name: "LastUpdatedDateTime"))
1004
+ RegionDescription.struct_class = Types::RegionDescription
1005
+
1006
+ RegionLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ExceptionMessage, location_name: "Message"))
1007
+ RegionLimitExceededException.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location_name: "RequestId"))
1008
+ RegionLimitExceededException.struct_class = Types::RegionLimitExceededException
1009
+
1010
+ RegionsDescription.member = Shapes::ShapeRef.new(shape: RegionDescription)
1011
+
1012
+ RegionsInfo.add_member(:primary_region, Shapes::ShapeRef.new(shape: RegionName, location_name: "PrimaryRegion"))
1013
+ RegionsInfo.add_member(:additional_regions, Shapes::ShapeRef.new(shape: AdditionalRegions, location_name: "AdditionalRegions"))
1014
+ RegionsInfo.struct_class = Types::RegionsInfo
1015
+
927
1016
  RegisterCertificateRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
928
1017
  RegisterCertificateRequest.add_member(:certificate_data, Shapes::ShapeRef.new(shape: CertificateData, required: true, location_name: "CertificateData"))
1018
+ RegisterCertificateRequest.add_member(:type, Shapes::ShapeRef.new(shape: CertificateType, location_name: "Type"))
1019
+ RegisterCertificateRequest.add_member(:client_cert_auth_settings, Shapes::ShapeRef.new(shape: ClientCertAuthSettings, location_name: "ClientCertAuthSettings"))
929
1020
  RegisterCertificateRequest.struct_class = Types::RegisterCertificateRequest
930
1021
 
931
1022
  RegisterCertificateResult.add_member(:certificate_id, Shapes::ShapeRef.new(shape: CertificateId, location_name: "CertificateId"))
@@ -951,6 +1042,11 @@ module Aws::DirectoryService
951
1042
 
952
1043
  RemoveIpRoutesResult.struct_class = Types::RemoveIpRoutesResult
953
1044
 
1045
+ RemoveRegionRequest.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, required: true, location_name: "DirectoryId"))
1046
+ RemoveRegionRequest.struct_class = Types::RemoveRegionRequest
1047
+
1048
+ RemoveRegionResult.struct_class = Types::RemoveRegionResult
1049
+
954
1050
  RemoveTagsFromResourceRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
955
1051
  RemoveTagsFromResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
956
1052
  RemoveTagsFromResourceRequest.struct_class = Types::RemoveTagsFromResourceRequest
@@ -1178,6 +1274,24 @@ module Aws::DirectoryService
1178
1274
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1179
1275
  end)
1180
1276
 
1277
+ api.add_operation(:add_region, Seahorse::Model::Operation.new.tap do |o|
1278
+ o.name = "AddRegion"
1279
+ o.http_method = "POST"
1280
+ o.http_request_uri = "/"
1281
+ o.input = Shapes::ShapeRef.new(shape: AddRegionRequest)
1282
+ o.output = Shapes::ShapeRef.new(shape: AddRegionResult)
1283
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryUnavailableException)
1284
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1285
+ o.errors << Shapes::ShapeRef.new(shape: EntityDoesNotExistException)
1286
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryAlreadyInRegionException)
1287
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1288
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1289
+ o.errors << Shapes::ShapeRef.new(shape: RegionLimitExceededException)
1290
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1291
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1292
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1293
+ end)
1294
+
1181
1295
  api.add_operation(:add_tags_to_resource, Seahorse::Model::Operation.new.tap do |o|
1182
1296
  o.name = "AddTagsToResource"
1183
1297
  o.http_method = "POST"
@@ -1501,6 +1615,21 @@ module Aws::DirectoryService
1501
1615
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1502
1616
  end)
1503
1617
 
1618
+ api.add_operation(:describe_regions, Seahorse::Model::Operation.new.tap do |o|
1619
+ o.name = "DescribeRegions"
1620
+ o.http_method = "POST"
1621
+ o.http_request_uri = "/"
1622
+ o.input = Shapes::ShapeRef.new(shape: DescribeRegionsRequest)
1623
+ o.output = Shapes::ShapeRef.new(shape: DescribeRegionsResult)
1624
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1625
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1626
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1627
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1628
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1629
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1630
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1631
+ end)
1632
+
1504
1633
  api.add_operation(:describe_shared_directories, Seahorse::Model::Operation.new.tap do |o|
1505
1634
  o.name = "DescribeSharedDirectories"
1506
1635
  o.http_method = "POST"
@@ -1542,6 +1671,20 @@ module Aws::DirectoryService
1542
1671
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1543
1672
  end)
1544
1673
 
1674
+ api.add_operation(:disable_client_authentication, Seahorse::Model::Operation.new.tap do |o|
1675
+ o.name = "DisableClientAuthentication"
1676
+ o.http_method = "POST"
1677
+ o.http_request_uri = "/"
1678
+ o.input = Shapes::ShapeRef.new(shape: DisableClientAuthenticationRequest)
1679
+ o.output = Shapes::ShapeRef.new(shape: DisableClientAuthenticationResult)
1680
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1681
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1682
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClientAuthStatusException)
1683
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1684
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1685
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1686
+ end)
1687
+
1545
1688
  api.add_operation(:disable_ldaps, Seahorse::Model::Operation.new.tap do |o|
1546
1689
  o.name = "DisableLDAPS"
1547
1690
  o.http_method = "POST"
@@ -1581,6 +1724,21 @@ module Aws::DirectoryService
1581
1724
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1582
1725
  end)
1583
1726
 
1727
+ api.add_operation(:enable_client_authentication, Seahorse::Model::Operation.new.tap do |o|
1728
+ o.name = "EnableClientAuthentication"
1729
+ o.http_method = "POST"
1730
+ o.http_request_uri = "/"
1731
+ o.input = Shapes::ShapeRef.new(shape: EnableClientAuthenticationRequest)
1732
+ o.output = Shapes::ShapeRef.new(shape: EnableClientAuthenticationResult)
1733
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1734
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1735
+ o.errors << Shapes::ShapeRef.new(shape: InvalidClientAuthStatusException)
1736
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1737
+ o.errors << Shapes::ShapeRef.new(shape: NoAvailableCertificateException)
1738
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1739
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1740
+ end)
1741
+
1584
1742
  api.add_operation(:enable_ldaps, Seahorse::Model::Operation.new.tap do |o|
1585
1743
  o.name = "EnableLDAPS"
1586
1744
  o.http_method = "POST"
@@ -1764,6 +1922,20 @@ module Aws::DirectoryService
1764
1922
  o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1765
1923
  end)
1766
1924
 
1925
+ api.add_operation(:remove_region, Seahorse::Model::Operation.new.tap do |o|
1926
+ o.name = "RemoveRegion"
1927
+ o.http_method = "POST"
1928
+ o.http_request_uri = "/"
1929
+ o.input = Shapes::ShapeRef.new(shape: RemoveRegionRequest)
1930
+ o.output = Shapes::ShapeRef.new(shape: RemoveRegionResult)
1931
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryUnavailableException)
1932
+ o.errors << Shapes::ShapeRef.new(shape: DirectoryDoesNotExistException)
1933
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1934
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1935
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1936
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1937
+ end)
1938
+
1767
1939
  api.add_operation(:remove_tags_from_resource, Seahorse::Model::Operation.new.tap do |o|
1768
1940
  o.name = "RemoveTagsFromResource"
1769
1941
  o.http_method = "POST"