aws-sdk-pcaconnectorad 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,2261 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:pcaconnectorad)
38
+
39
+ module Aws::PcaConnectorAd
40
+ # An API client for PcaConnectorAd. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::PcaConnectorAd::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :pcaconnectorad
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::PcaConnectorAd::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::PcaConnectorAd::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::PcaConnectorAd::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Creates a connector between Amazon Web Services Private CA and an
392
+ # Active Directory. You must specify the private CA, directory ID, and
393
+ # security groups.
394
+ #
395
+ # @option params [required, String] :certificate_authority_arn
396
+ # The Amazon Resource Name (ARN) of the certificate authority being
397
+ # used.
398
+ #
399
+ # @option params [String] :client_token
400
+ # Idempotency token.
401
+ #
402
+ # **A suitable default value is auto-generated.** You should normally
403
+ # not need to pass this option.**
404
+ #
405
+ # @option params [required, String] :directory_id
406
+ # The identifier of the Active Directory.
407
+ #
408
+ # @option params [Hash<String,String>] :tags
409
+ # Metadata assigned to a connector consisting of a key-value pair.
410
+ #
411
+ # @option params [required, Types::VpcInformation] :vpc_information
412
+ # Security group IDs that describe the inbound and outbound rules.
413
+ #
414
+ # @return [Types::CreateConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
415
+ #
416
+ # * {Types::CreateConnectorResponse#connector_arn #connector_arn} => String
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ #
420
+ # resp = client.create_connector({
421
+ # certificate_authority_arn: "CertificateAuthorityArn", # required
422
+ # client_token: "ClientToken",
423
+ # directory_id: "DirectoryId", # required
424
+ # tags: {
425
+ # "String" => "String",
426
+ # },
427
+ # vpc_information: { # required
428
+ # security_group_ids: ["SecurityGroupId"], # required
429
+ # },
430
+ # })
431
+ #
432
+ # @example Response structure
433
+ #
434
+ # resp.connector_arn #=> String
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/CreateConnector AWS API Documentation
437
+ #
438
+ # @overload create_connector(params = {})
439
+ # @param [Hash] params ({})
440
+ def create_connector(params = {}, options = {})
441
+ req = build_request(:create_connector, params)
442
+ req.send_request(options)
443
+ end
444
+
445
+ # Creates a directory registration that authorizes communication between
446
+ # Amazon Web Services Private CA and an Active Directory
447
+ #
448
+ # @option params [String] :client_token
449
+ # Idempotency token.
450
+ #
451
+ # **A suitable default value is auto-generated.** You should normally
452
+ # not need to pass this option.**
453
+ #
454
+ # @option params [required, String] :directory_id
455
+ # The identifier of the Active Directory.
456
+ #
457
+ # @option params [Hash<String,String>] :tags
458
+ # Metadata assigned to a directory registration consisting of a
459
+ # key-value pair.
460
+ #
461
+ # @return [Types::CreateDirectoryRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
462
+ #
463
+ # * {Types::CreateDirectoryRegistrationResponse#directory_registration_arn #directory_registration_arn} => String
464
+ #
465
+ # @example Request syntax with placeholder values
466
+ #
467
+ # resp = client.create_directory_registration({
468
+ # client_token: "ClientToken",
469
+ # directory_id: "DirectoryId", # required
470
+ # tags: {
471
+ # "String" => "String",
472
+ # },
473
+ # })
474
+ #
475
+ # @example Response structure
476
+ #
477
+ # resp.directory_registration_arn #=> String
478
+ #
479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/CreateDirectoryRegistration AWS API Documentation
480
+ #
481
+ # @overload create_directory_registration(params = {})
482
+ # @param [Hash] params ({})
483
+ def create_directory_registration(params = {}, options = {})
484
+ req = build_request(:create_directory_registration, params)
485
+ req.send_request(options)
486
+ end
487
+
488
+ # Creates a service principal name (SPN) for the service account in
489
+ # Active Directory. Kerberos authentication uses SPNs to associate a
490
+ # service instance with a service sign-in account.
491
+ #
492
+ # @option params [String] :client_token
493
+ # Idempotency token.
494
+ #
495
+ # **A suitable default value is auto-generated.** You should normally
496
+ # not need to pass this option.**
497
+ #
498
+ # @option params [required, String] :connector_arn
499
+ # The Amazon Resource Name (ARN) that was returned when you called
500
+ # [CreateConnector][1].
501
+ #
502
+ #
503
+ #
504
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
505
+ #
506
+ # @option params [required, String] :directory_registration_arn
507
+ # The Amazon Resource Name (ARN) that was returned when you called
508
+ # [CreateDirectoryRegistration][1].
509
+ #
510
+ #
511
+ #
512
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
513
+ #
514
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
515
+ #
516
+ # @example Request syntax with placeholder values
517
+ #
518
+ # resp = client.create_service_principal_name({
519
+ # client_token: "ClientToken",
520
+ # connector_arn: "ConnectorArn", # required
521
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
522
+ # })
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/CreateServicePrincipalName AWS API Documentation
525
+ #
526
+ # @overload create_service_principal_name(params = {})
527
+ # @param [Hash] params ({})
528
+ def create_service_principal_name(params = {}, options = {})
529
+ req = build_request(:create_service_principal_name, params)
530
+ req.send_request(options)
531
+ end
532
+
533
+ # Creates an Active Directory compatible certificate template. The
534
+ # connectors issues certificates using these templates based on the
535
+ # requester’s Active Directory group membership.
536
+ #
537
+ # @option params [String] :client_token
538
+ # Idempotency token.
539
+ #
540
+ # **A suitable default value is auto-generated.** You should normally
541
+ # not need to pass this option.**
542
+ #
543
+ # @option params [required, String] :connector_arn
544
+ # The Amazon Resource Name (ARN) that was returned when you called
545
+ # [CreateConnector][1].
546
+ #
547
+ #
548
+ #
549
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
550
+ #
551
+ # @option params [required, Types::TemplateDefinition] :definition
552
+ # Template configuration to define the information included in
553
+ # certificates. Define certificate validity and renewal periods,
554
+ # certificate request handling and enrollment options, key usage
555
+ # extensions, application policies, and cryptography settings.
556
+ #
557
+ # @option params [required, String] :name
558
+ # Name of the template. The template name must be unique.
559
+ #
560
+ # @option params [Hash<String,String>] :tags
561
+ # Metadata assigned to a template consisting of a key-value pair.
562
+ #
563
+ # @return [Types::CreateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
564
+ #
565
+ # * {Types::CreateTemplateResponse#template_arn #template_arn} => String
566
+ #
567
+ # @example Request syntax with placeholder values
568
+ #
569
+ # resp = client.create_template({
570
+ # client_token: "ClientToken",
571
+ # connector_arn: "ConnectorArn", # required
572
+ # definition: { # required
573
+ # template_v2: {
574
+ # certificate_validity: { # required
575
+ # renewal_period: { # required
576
+ # period: 1, # required
577
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
578
+ # },
579
+ # validity_period: { # required
580
+ # period: 1, # required
581
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
582
+ # },
583
+ # },
584
+ # enrollment_flags: { # required
585
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
586
+ # include_symmetric_algorithms: false,
587
+ # no_security_extension: false,
588
+ # remove_invalid_certificate_from_personal_store: false,
589
+ # user_interaction_required: false,
590
+ # },
591
+ # extensions: { # required
592
+ # application_policies: {
593
+ # critical: false,
594
+ # policies: [ # required
595
+ # {
596
+ # policy_object_identifier: "CustomObjectIdentifier",
597
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
598
+ # },
599
+ # ],
600
+ # },
601
+ # key_usage: { # required
602
+ # critical: false,
603
+ # usage_flags: { # required
604
+ # data_encipherment: false,
605
+ # digital_signature: false,
606
+ # key_agreement: false,
607
+ # key_encipherment: false,
608
+ # non_repudiation: false,
609
+ # },
610
+ # },
611
+ # },
612
+ # general_flags: { # required
613
+ # auto_enrollment: false,
614
+ # machine_type: false,
615
+ # },
616
+ # private_key_attributes: { # required
617
+ # crypto_providers: ["CryptoProvidersListMemberString"],
618
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
619
+ # minimal_key_length: 1, # required
620
+ # },
621
+ # private_key_flags: { # required
622
+ # client_version: "WINDOWS_SERVER_2003", # required, accepts WINDOWS_SERVER_2003, WINDOWS_SERVER_2008, WINDOWS_SERVER_2008_R2, WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
623
+ # exportable_key: false,
624
+ # strong_key_protection_required: false,
625
+ # },
626
+ # subject_name_flags: { # required
627
+ # require_common_name: false,
628
+ # require_directory_path: false,
629
+ # require_dns_as_cn: false,
630
+ # require_email: false,
631
+ # san_require_directory_guid: false,
632
+ # san_require_dns: false,
633
+ # san_require_domain_dns: false,
634
+ # san_require_email: false,
635
+ # san_require_spn: false,
636
+ # san_require_upn: false,
637
+ # },
638
+ # superseded_templates: ["TemplateName"],
639
+ # },
640
+ # template_v3: {
641
+ # certificate_validity: { # required
642
+ # renewal_period: { # required
643
+ # period: 1, # required
644
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
645
+ # },
646
+ # validity_period: { # required
647
+ # period: 1, # required
648
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
649
+ # },
650
+ # },
651
+ # enrollment_flags: { # required
652
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
653
+ # include_symmetric_algorithms: false,
654
+ # no_security_extension: false,
655
+ # remove_invalid_certificate_from_personal_store: false,
656
+ # user_interaction_required: false,
657
+ # },
658
+ # extensions: { # required
659
+ # application_policies: {
660
+ # critical: false,
661
+ # policies: [ # required
662
+ # {
663
+ # policy_object_identifier: "CustomObjectIdentifier",
664
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
665
+ # },
666
+ # ],
667
+ # },
668
+ # key_usage: { # required
669
+ # critical: false,
670
+ # usage_flags: { # required
671
+ # data_encipherment: false,
672
+ # digital_signature: false,
673
+ # key_agreement: false,
674
+ # key_encipherment: false,
675
+ # non_repudiation: false,
676
+ # },
677
+ # },
678
+ # },
679
+ # general_flags: { # required
680
+ # auto_enrollment: false,
681
+ # machine_type: false,
682
+ # },
683
+ # hash_algorithm: "SHA256", # required, accepts SHA256, SHA384, SHA512
684
+ # private_key_attributes: { # required
685
+ # algorithm: "RSA", # required, accepts RSA, ECDH_P256, ECDH_P384, ECDH_P521
686
+ # crypto_providers: ["CryptoProvidersListMemberString"],
687
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
688
+ # key_usage_property: { # required
689
+ # property_flags: {
690
+ # decrypt: false,
691
+ # key_agreement: false,
692
+ # sign: false,
693
+ # },
694
+ # property_type: "ALL", # accepts ALL
695
+ # },
696
+ # minimal_key_length: 1, # required
697
+ # },
698
+ # private_key_flags: { # required
699
+ # client_version: "WINDOWS_SERVER_2008", # required, accepts WINDOWS_SERVER_2008, WINDOWS_SERVER_2008_R2, WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
700
+ # exportable_key: false,
701
+ # require_alternate_signature_algorithm: false,
702
+ # strong_key_protection_required: false,
703
+ # },
704
+ # subject_name_flags: { # required
705
+ # require_common_name: false,
706
+ # require_directory_path: false,
707
+ # require_dns_as_cn: false,
708
+ # require_email: false,
709
+ # san_require_directory_guid: false,
710
+ # san_require_dns: false,
711
+ # san_require_domain_dns: false,
712
+ # san_require_email: false,
713
+ # san_require_spn: false,
714
+ # san_require_upn: false,
715
+ # },
716
+ # superseded_templates: ["TemplateName"],
717
+ # },
718
+ # template_v4: {
719
+ # certificate_validity: { # required
720
+ # renewal_period: { # required
721
+ # period: 1, # required
722
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
723
+ # },
724
+ # validity_period: { # required
725
+ # period: 1, # required
726
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
727
+ # },
728
+ # },
729
+ # enrollment_flags: { # required
730
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
731
+ # include_symmetric_algorithms: false,
732
+ # no_security_extension: false,
733
+ # remove_invalid_certificate_from_personal_store: false,
734
+ # user_interaction_required: false,
735
+ # },
736
+ # extensions: { # required
737
+ # application_policies: {
738
+ # critical: false,
739
+ # policies: [ # required
740
+ # {
741
+ # policy_object_identifier: "CustomObjectIdentifier",
742
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
743
+ # },
744
+ # ],
745
+ # },
746
+ # key_usage: { # required
747
+ # critical: false,
748
+ # usage_flags: { # required
749
+ # data_encipherment: false,
750
+ # digital_signature: false,
751
+ # key_agreement: false,
752
+ # key_encipherment: false,
753
+ # non_repudiation: false,
754
+ # },
755
+ # },
756
+ # },
757
+ # general_flags: { # required
758
+ # auto_enrollment: false,
759
+ # machine_type: false,
760
+ # },
761
+ # hash_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512
762
+ # private_key_attributes: { # required
763
+ # algorithm: "RSA", # accepts RSA, ECDH_P256, ECDH_P384, ECDH_P521
764
+ # crypto_providers: ["CryptoProvidersListMemberString"],
765
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
766
+ # key_usage_property: {
767
+ # property_flags: {
768
+ # decrypt: false,
769
+ # key_agreement: false,
770
+ # sign: false,
771
+ # },
772
+ # property_type: "ALL", # accepts ALL
773
+ # },
774
+ # minimal_key_length: 1, # required
775
+ # },
776
+ # private_key_flags: { # required
777
+ # client_version: "WINDOWS_SERVER_2012", # required, accepts WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
778
+ # exportable_key: false,
779
+ # require_alternate_signature_algorithm: false,
780
+ # require_same_key_renewal: false,
781
+ # strong_key_protection_required: false,
782
+ # use_legacy_provider: false,
783
+ # },
784
+ # subject_name_flags: { # required
785
+ # require_common_name: false,
786
+ # require_directory_path: false,
787
+ # require_dns_as_cn: false,
788
+ # require_email: false,
789
+ # san_require_directory_guid: false,
790
+ # san_require_dns: false,
791
+ # san_require_domain_dns: false,
792
+ # san_require_email: false,
793
+ # san_require_spn: false,
794
+ # san_require_upn: false,
795
+ # },
796
+ # superseded_templates: ["TemplateName"],
797
+ # },
798
+ # },
799
+ # name: "TemplateName", # required
800
+ # tags: {
801
+ # "String" => "String",
802
+ # },
803
+ # })
804
+ #
805
+ # @example Response structure
806
+ #
807
+ # resp.template_arn #=> String
808
+ #
809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/CreateTemplate AWS API Documentation
810
+ #
811
+ # @overload create_template(params = {})
812
+ # @param [Hash] params ({})
813
+ def create_template(params = {}, options = {})
814
+ req = build_request(:create_template, params)
815
+ req.send_request(options)
816
+ end
817
+
818
+ # Create a group access control entry. Allow or deny Active Directory
819
+ # groups from enrolling and/or autoenrolling with the template based on
820
+ # the group security identifiers (SIDs).
821
+ #
822
+ # @option params [required, Types::AccessRights] :access_rights
823
+ # Allow or deny permissions for an Active Directory group to enroll or
824
+ # autoenroll certificates for a template.
825
+ #
826
+ # @option params [String] :client_token
827
+ # Idempotency token.
828
+ #
829
+ # **A suitable default value is auto-generated.** You should normally
830
+ # not need to pass this option.**
831
+ #
832
+ # @option params [required, String] :group_display_name
833
+ # Name of the Active Directory group. This name does not need to match
834
+ # the group name in Active Directory.
835
+ #
836
+ # @option params [required, String] :group_security_identifier
837
+ # Security identifier (SID) of the group object from Active Directory.
838
+ # The SID starts with "S-".
839
+ #
840
+ # @option params [required, String] :template_arn
841
+ # The Amazon Resource Name (ARN) that was returned when you called
842
+ # [CreateTemplate][1].
843
+ #
844
+ #
845
+ #
846
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
847
+ #
848
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
849
+ #
850
+ # @example Request syntax with placeholder values
851
+ #
852
+ # resp = client.create_template_group_access_control_entry({
853
+ # access_rights: { # required
854
+ # auto_enroll: "ALLOW", # accepts ALLOW, DENY
855
+ # enroll: "ALLOW", # accepts ALLOW, DENY
856
+ # },
857
+ # client_token: "ClientToken",
858
+ # group_display_name: "DisplayName", # required
859
+ # group_security_identifier: "GroupSecurityIdentifier", # required
860
+ # template_arn: "TemplateArn", # required
861
+ # })
862
+ #
863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/CreateTemplateGroupAccessControlEntry AWS API Documentation
864
+ #
865
+ # @overload create_template_group_access_control_entry(params = {})
866
+ # @param [Hash] params ({})
867
+ def create_template_group_access_control_entry(params = {}, options = {})
868
+ req = build_request(:create_template_group_access_control_entry, params)
869
+ req.send_request(options)
870
+ end
871
+
872
+ # Deletes a connector for Active Directory. You must provide the Amazon
873
+ # Resource Name (ARN) of the connector that you want to delete. You can
874
+ # find the ARN by calling the
875
+ # [https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API\_ListConnectors][1]
876
+ # action. Deleting a connector does not deregister your directory with
877
+ # Amazon Web Services Private CA. You can deregister your directory by
878
+ # calling the
879
+ # [https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API\_DeleteDirectoryRegistration][2]
880
+ # action.
881
+ #
882
+ #
883
+ #
884
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_ListConnectors
885
+ # [2]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_DeleteDirectoryRegistration
886
+ #
887
+ # @option params [required, String] :connector_arn
888
+ # The Amazon Resource Name (ARN) that was returned when you called
889
+ # [CreateConnector][1].
890
+ #
891
+ #
892
+ #
893
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
894
+ #
895
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
896
+ #
897
+ # @example Request syntax with placeholder values
898
+ #
899
+ # resp = client.delete_connector({
900
+ # connector_arn: "ConnectorArn", # required
901
+ # })
902
+ #
903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/DeleteConnector AWS API Documentation
904
+ #
905
+ # @overload delete_connector(params = {})
906
+ # @param [Hash] params ({})
907
+ def delete_connector(params = {}, options = {})
908
+ req = build_request(:delete_connector, params)
909
+ req.send_request(options)
910
+ end
911
+
912
+ # Deletes a directory registration. Deleting a directory registration
913
+ # deauthorizes Amazon Web Services Private CA with the directory.
914
+ #
915
+ # @option params [required, String] :directory_registration_arn
916
+ # The Amazon Resource Name (ARN) that was returned when you called
917
+ # [CreateDirectoryRegistration][1].
918
+ #
919
+ #
920
+ #
921
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
922
+ #
923
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ #
927
+ # resp = client.delete_directory_registration({
928
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
929
+ # })
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/DeleteDirectoryRegistration AWS API Documentation
932
+ #
933
+ # @overload delete_directory_registration(params = {})
934
+ # @param [Hash] params ({})
935
+ def delete_directory_registration(params = {}, options = {})
936
+ req = build_request(:delete_directory_registration, params)
937
+ req.send_request(options)
938
+ end
939
+
940
+ # Deletes the service principal name (SPN) used by a connector to
941
+ # authenticate with your Active Directory.
942
+ #
943
+ # @option params [required, String] :connector_arn
944
+ # The Amazon Resource Name (ARN) that was returned when you called
945
+ # [CreateConnector][1].
946
+ #
947
+ #
948
+ #
949
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
950
+ #
951
+ # @option params [required, String] :directory_registration_arn
952
+ # The Amazon Resource Name (ARN) that was returned when you called
953
+ # [CreateDirectoryRegistration][1].
954
+ #
955
+ #
956
+ #
957
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
958
+ #
959
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
960
+ #
961
+ # @example Request syntax with placeholder values
962
+ #
963
+ # resp = client.delete_service_principal_name({
964
+ # connector_arn: "ConnectorArn", # required
965
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
966
+ # })
967
+ #
968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/DeleteServicePrincipalName AWS API Documentation
969
+ #
970
+ # @overload delete_service_principal_name(params = {})
971
+ # @param [Hash] params ({})
972
+ def delete_service_principal_name(params = {}, options = {})
973
+ req = build_request(:delete_service_principal_name, params)
974
+ req.send_request(options)
975
+ end
976
+
977
+ # Deletes a template. Certificates issued using the template are still
978
+ # valid until they are revoked or expired.
979
+ #
980
+ # @option params [required, String] :template_arn
981
+ # The Amazon Resource Name (ARN) that was returned when you called
982
+ # [CreateTemplate][1].
983
+ #
984
+ #
985
+ #
986
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
987
+ #
988
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
989
+ #
990
+ # @example Request syntax with placeholder values
991
+ #
992
+ # resp = client.delete_template({
993
+ # template_arn: "TemplateArn", # required
994
+ # })
995
+ #
996
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/DeleteTemplate AWS API Documentation
997
+ #
998
+ # @overload delete_template(params = {})
999
+ # @param [Hash] params ({})
1000
+ def delete_template(params = {}, options = {})
1001
+ req = build_request(:delete_template, params)
1002
+ req.send_request(options)
1003
+ end
1004
+
1005
+ # Deletes a group access control entry.
1006
+ #
1007
+ # @option params [required, String] :group_security_identifier
1008
+ # Security identifier (SID) of the group object from Active Directory.
1009
+ # The SID starts with "S-".
1010
+ #
1011
+ # @option params [required, String] :template_arn
1012
+ # The Amazon Resource Name (ARN) that was returned when you called
1013
+ # [CreateTemplate][1].
1014
+ #
1015
+ #
1016
+ #
1017
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
1018
+ #
1019
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1020
+ #
1021
+ # @example Request syntax with placeholder values
1022
+ #
1023
+ # resp = client.delete_template_group_access_control_entry({
1024
+ # group_security_identifier: "GroupSecurityIdentifier", # required
1025
+ # template_arn: "TemplateArn", # required
1026
+ # })
1027
+ #
1028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/DeleteTemplateGroupAccessControlEntry AWS API Documentation
1029
+ #
1030
+ # @overload delete_template_group_access_control_entry(params = {})
1031
+ # @param [Hash] params ({})
1032
+ def delete_template_group_access_control_entry(params = {}, options = {})
1033
+ req = build_request(:delete_template_group_access_control_entry, params)
1034
+ req.send_request(options)
1035
+ end
1036
+
1037
+ # Lists information about your connector. You specify the connector on
1038
+ # input by its ARN (Amazon Resource Name).
1039
+ #
1040
+ # @option params [required, String] :connector_arn
1041
+ # The Amazon Resource Name (ARN) that was returned when you called
1042
+ # [CreateConnector][1].
1043
+ #
1044
+ #
1045
+ #
1046
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
1047
+ #
1048
+ # @return [Types::GetConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1049
+ #
1050
+ # * {Types::GetConnectorResponse#connector #connector} => Types::Connector
1051
+ #
1052
+ # @example Request syntax with placeholder values
1053
+ #
1054
+ # resp = client.get_connector({
1055
+ # connector_arn: "ConnectorArn", # required
1056
+ # })
1057
+ #
1058
+ # @example Response structure
1059
+ #
1060
+ # resp.connector.arn #=> String
1061
+ # resp.connector.certificate_authority_arn #=> String
1062
+ # resp.connector.certificate_enrollment_policy_server_endpoint #=> String
1063
+ # resp.connector.created_at #=> Time
1064
+ # resp.connector.directory_id #=> String
1065
+ # resp.connector.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1066
+ # resp.connector.status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "INTERNAL_FAILURE", "PRIVATECA_ACCESS_DENIED", "PRIVATECA_RESOURCE_NOT_FOUND", "SECURITY_GROUP_NOT_IN_VPC", "VPC_ACCESS_DENIED", "VPC_ENDPOINT_LIMIT_EXCEEDED", "VPC_RESOURCE_NOT_FOUND"
1067
+ # resp.connector.updated_at #=> Time
1068
+ # resp.connector.vpc_information.security_group_ids #=> Array
1069
+ # resp.connector.vpc_information.security_group_ids[0] #=> String
1070
+ #
1071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/GetConnector AWS API Documentation
1072
+ #
1073
+ # @overload get_connector(params = {})
1074
+ # @param [Hash] params ({})
1075
+ def get_connector(params = {}, options = {})
1076
+ req = build_request(:get_connector, params)
1077
+ req.send_request(options)
1078
+ end
1079
+
1080
+ # A structure that contains information about your directory
1081
+ # registration.
1082
+ #
1083
+ # @option params [required, String] :directory_registration_arn
1084
+ # The Amazon Resource Name (ARN) that was returned when you called
1085
+ # [CreateDirectoryRegistration][1].
1086
+ #
1087
+ #
1088
+ #
1089
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
1090
+ #
1091
+ # @return [Types::GetDirectoryRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1092
+ #
1093
+ # * {Types::GetDirectoryRegistrationResponse#directory_registration #directory_registration} => Types::DirectoryRegistration
1094
+ #
1095
+ # @example Request syntax with placeholder values
1096
+ #
1097
+ # resp = client.get_directory_registration({
1098
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
1099
+ # })
1100
+ #
1101
+ # @example Response structure
1102
+ #
1103
+ # resp.directory_registration.arn #=> String
1104
+ # resp.directory_registration.created_at #=> Time
1105
+ # resp.directory_registration.directory_id #=> String
1106
+ # resp.directory_registration.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1107
+ # resp.directory_registration.status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "DIRECTORY_RESOURCE_NOT_FOUND", "DIRECTORY_NOT_ACTIVE", "DIRECTORY_NOT_REACHABLE", "DIRECTORY_TYPE_NOT_SUPPORTED", "INTERNAL_FAILURE"
1108
+ # resp.directory_registration.updated_at #=> Time
1109
+ #
1110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/GetDirectoryRegistration AWS API Documentation
1111
+ #
1112
+ # @overload get_directory_registration(params = {})
1113
+ # @param [Hash] params ({})
1114
+ def get_directory_registration(params = {}, options = {})
1115
+ req = build_request(:get_directory_registration, params)
1116
+ req.send_request(options)
1117
+ end
1118
+
1119
+ # Lists the service principal name that the connector uses to
1120
+ # authenticate with Active Directory.
1121
+ #
1122
+ # @option params [required, String] :connector_arn
1123
+ # The Amazon Resource Name (ARN) that was returned when you called
1124
+ # [CreateConnector][1].
1125
+ #
1126
+ #
1127
+ #
1128
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
1129
+ #
1130
+ # @option params [required, String] :directory_registration_arn
1131
+ # The Amazon Resource Name (ARN) that was returned when you called
1132
+ # [CreateDirectoryRegistration][1].
1133
+ #
1134
+ #
1135
+ #
1136
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
1137
+ #
1138
+ # @return [Types::GetServicePrincipalNameResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1139
+ #
1140
+ # * {Types::GetServicePrincipalNameResponse#service_principal_name #service_principal_name} => Types::ServicePrincipalName
1141
+ #
1142
+ # @example Request syntax with placeholder values
1143
+ #
1144
+ # resp = client.get_service_principal_name({
1145
+ # connector_arn: "ConnectorArn", # required
1146
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
1147
+ # })
1148
+ #
1149
+ # @example Response structure
1150
+ #
1151
+ # resp.service_principal_name.connector_arn #=> String
1152
+ # resp.service_principal_name.created_at #=> Time
1153
+ # resp.service_principal_name.directory_registration_arn #=> String
1154
+ # resp.service_principal_name.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1155
+ # resp.service_principal_name.status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "DIRECTORY_NOT_REACHABLE", "DIRECTORY_RESOURCE_NOT_FOUND", "SPN_EXISTS_ON_DIFFERENT_AD_OBJECT", "INTERNAL_FAILURE"
1156
+ # resp.service_principal_name.updated_at #=> Time
1157
+ #
1158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/GetServicePrincipalName AWS API Documentation
1159
+ #
1160
+ # @overload get_service_principal_name(params = {})
1161
+ # @param [Hash] params ({})
1162
+ def get_service_principal_name(params = {}, options = {})
1163
+ req = build_request(:get_service_principal_name, params)
1164
+ req.send_request(options)
1165
+ end
1166
+
1167
+ # Retrieves a certificate template that the connector uses to issue
1168
+ # certificates from a private CA.
1169
+ #
1170
+ # @option params [required, String] :template_arn
1171
+ # The Amazon Resource Name (ARN) that was returned when you called
1172
+ # [CreateTemplate][1].
1173
+ #
1174
+ #
1175
+ #
1176
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
1177
+ #
1178
+ # @return [Types::GetTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1179
+ #
1180
+ # * {Types::GetTemplateResponse#template #template} => Types::Template
1181
+ #
1182
+ # @example Request syntax with placeholder values
1183
+ #
1184
+ # resp = client.get_template({
1185
+ # template_arn: "TemplateArn", # required
1186
+ # })
1187
+ #
1188
+ # @example Response structure
1189
+ #
1190
+ # resp.template.arn #=> String
1191
+ # resp.template.connector_arn #=> String
1192
+ # resp.template.created_at #=> Time
1193
+ # resp.template.definition.template_v2.certificate_validity.renewal_period.period #=> Integer
1194
+ # resp.template.definition.template_v2.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1195
+ # resp.template.definition.template_v2.certificate_validity.validity_period.period #=> Integer
1196
+ # resp.template.definition.template_v2.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1197
+ # resp.template.definition.template_v2.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1198
+ # resp.template.definition.template_v2.enrollment_flags.include_symmetric_algorithms #=> Boolean
1199
+ # resp.template.definition.template_v2.enrollment_flags.no_security_extension #=> Boolean
1200
+ # resp.template.definition.template_v2.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1201
+ # resp.template.definition.template_v2.enrollment_flags.user_interaction_required #=> Boolean
1202
+ # resp.template.definition.template_v2.extensions.application_policies.critical #=> Boolean
1203
+ # resp.template.definition.template_v2.extensions.application_policies.policies #=> Array
1204
+ # resp.template.definition.template_v2.extensions.application_policies.policies[0].policy_object_identifier #=> String
1205
+ # resp.template.definition.template_v2.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1206
+ # resp.template.definition.template_v2.extensions.key_usage.critical #=> Boolean
1207
+ # resp.template.definition.template_v2.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1208
+ # resp.template.definition.template_v2.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1209
+ # resp.template.definition.template_v2.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1210
+ # resp.template.definition.template_v2.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1211
+ # resp.template.definition.template_v2.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1212
+ # resp.template.definition.template_v2.general_flags.auto_enrollment #=> Boolean
1213
+ # resp.template.definition.template_v2.general_flags.machine_type #=> Boolean
1214
+ # resp.template.definition.template_v2.private_key_attributes.crypto_providers #=> Array
1215
+ # resp.template.definition.template_v2.private_key_attributes.crypto_providers[0] #=> String
1216
+ # resp.template.definition.template_v2.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1217
+ # resp.template.definition.template_v2.private_key_attributes.minimal_key_length #=> Integer
1218
+ # resp.template.definition.template_v2.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2003", "WINDOWS_SERVER_2008", "WINDOWS_SERVER_2008_R2", "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1219
+ # resp.template.definition.template_v2.private_key_flags.exportable_key #=> Boolean
1220
+ # resp.template.definition.template_v2.private_key_flags.strong_key_protection_required #=> Boolean
1221
+ # resp.template.definition.template_v2.subject_name_flags.require_common_name #=> Boolean
1222
+ # resp.template.definition.template_v2.subject_name_flags.require_directory_path #=> Boolean
1223
+ # resp.template.definition.template_v2.subject_name_flags.require_dns_as_cn #=> Boolean
1224
+ # resp.template.definition.template_v2.subject_name_flags.require_email #=> Boolean
1225
+ # resp.template.definition.template_v2.subject_name_flags.san_require_directory_guid #=> Boolean
1226
+ # resp.template.definition.template_v2.subject_name_flags.san_require_dns #=> Boolean
1227
+ # resp.template.definition.template_v2.subject_name_flags.san_require_domain_dns #=> Boolean
1228
+ # resp.template.definition.template_v2.subject_name_flags.san_require_email #=> Boolean
1229
+ # resp.template.definition.template_v2.subject_name_flags.san_require_spn #=> Boolean
1230
+ # resp.template.definition.template_v2.subject_name_flags.san_require_upn #=> Boolean
1231
+ # resp.template.definition.template_v2.superseded_templates #=> Array
1232
+ # resp.template.definition.template_v2.superseded_templates[0] #=> String
1233
+ # resp.template.definition.template_v3.certificate_validity.renewal_period.period #=> Integer
1234
+ # resp.template.definition.template_v3.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1235
+ # resp.template.definition.template_v3.certificate_validity.validity_period.period #=> Integer
1236
+ # resp.template.definition.template_v3.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1237
+ # resp.template.definition.template_v3.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1238
+ # resp.template.definition.template_v3.enrollment_flags.include_symmetric_algorithms #=> Boolean
1239
+ # resp.template.definition.template_v3.enrollment_flags.no_security_extension #=> Boolean
1240
+ # resp.template.definition.template_v3.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1241
+ # resp.template.definition.template_v3.enrollment_flags.user_interaction_required #=> Boolean
1242
+ # resp.template.definition.template_v3.extensions.application_policies.critical #=> Boolean
1243
+ # resp.template.definition.template_v3.extensions.application_policies.policies #=> Array
1244
+ # resp.template.definition.template_v3.extensions.application_policies.policies[0].policy_object_identifier #=> String
1245
+ # resp.template.definition.template_v3.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1246
+ # resp.template.definition.template_v3.extensions.key_usage.critical #=> Boolean
1247
+ # resp.template.definition.template_v3.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1248
+ # resp.template.definition.template_v3.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1249
+ # resp.template.definition.template_v3.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1250
+ # resp.template.definition.template_v3.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1251
+ # resp.template.definition.template_v3.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1252
+ # resp.template.definition.template_v3.general_flags.auto_enrollment #=> Boolean
1253
+ # resp.template.definition.template_v3.general_flags.machine_type #=> Boolean
1254
+ # resp.template.definition.template_v3.hash_algorithm #=> String, one of "SHA256", "SHA384", "SHA512"
1255
+ # resp.template.definition.template_v3.private_key_attributes.algorithm #=> String, one of "RSA", "ECDH_P256", "ECDH_P384", "ECDH_P521"
1256
+ # resp.template.definition.template_v3.private_key_attributes.crypto_providers #=> Array
1257
+ # resp.template.definition.template_v3.private_key_attributes.crypto_providers[0] #=> String
1258
+ # resp.template.definition.template_v3.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1259
+ # resp.template.definition.template_v3.private_key_attributes.key_usage_property.property_flags.decrypt #=> Boolean
1260
+ # resp.template.definition.template_v3.private_key_attributes.key_usage_property.property_flags.key_agreement #=> Boolean
1261
+ # resp.template.definition.template_v3.private_key_attributes.key_usage_property.property_flags.sign #=> Boolean
1262
+ # resp.template.definition.template_v3.private_key_attributes.key_usage_property.property_type #=> String, one of "ALL"
1263
+ # resp.template.definition.template_v3.private_key_attributes.minimal_key_length #=> Integer
1264
+ # resp.template.definition.template_v3.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2008", "WINDOWS_SERVER_2008_R2", "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1265
+ # resp.template.definition.template_v3.private_key_flags.exportable_key #=> Boolean
1266
+ # resp.template.definition.template_v3.private_key_flags.require_alternate_signature_algorithm #=> Boolean
1267
+ # resp.template.definition.template_v3.private_key_flags.strong_key_protection_required #=> Boolean
1268
+ # resp.template.definition.template_v3.subject_name_flags.require_common_name #=> Boolean
1269
+ # resp.template.definition.template_v3.subject_name_flags.require_directory_path #=> Boolean
1270
+ # resp.template.definition.template_v3.subject_name_flags.require_dns_as_cn #=> Boolean
1271
+ # resp.template.definition.template_v3.subject_name_flags.require_email #=> Boolean
1272
+ # resp.template.definition.template_v3.subject_name_flags.san_require_directory_guid #=> Boolean
1273
+ # resp.template.definition.template_v3.subject_name_flags.san_require_dns #=> Boolean
1274
+ # resp.template.definition.template_v3.subject_name_flags.san_require_domain_dns #=> Boolean
1275
+ # resp.template.definition.template_v3.subject_name_flags.san_require_email #=> Boolean
1276
+ # resp.template.definition.template_v3.subject_name_flags.san_require_spn #=> Boolean
1277
+ # resp.template.definition.template_v3.subject_name_flags.san_require_upn #=> Boolean
1278
+ # resp.template.definition.template_v3.superseded_templates #=> Array
1279
+ # resp.template.definition.template_v3.superseded_templates[0] #=> String
1280
+ # resp.template.definition.template_v4.certificate_validity.renewal_period.period #=> Integer
1281
+ # resp.template.definition.template_v4.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1282
+ # resp.template.definition.template_v4.certificate_validity.validity_period.period #=> Integer
1283
+ # resp.template.definition.template_v4.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1284
+ # resp.template.definition.template_v4.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1285
+ # resp.template.definition.template_v4.enrollment_flags.include_symmetric_algorithms #=> Boolean
1286
+ # resp.template.definition.template_v4.enrollment_flags.no_security_extension #=> Boolean
1287
+ # resp.template.definition.template_v4.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1288
+ # resp.template.definition.template_v4.enrollment_flags.user_interaction_required #=> Boolean
1289
+ # resp.template.definition.template_v4.extensions.application_policies.critical #=> Boolean
1290
+ # resp.template.definition.template_v4.extensions.application_policies.policies #=> Array
1291
+ # resp.template.definition.template_v4.extensions.application_policies.policies[0].policy_object_identifier #=> String
1292
+ # resp.template.definition.template_v4.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1293
+ # resp.template.definition.template_v4.extensions.key_usage.critical #=> Boolean
1294
+ # resp.template.definition.template_v4.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1295
+ # resp.template.definition.template_v4.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1296
+ # resp.template.definition.template_v4.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1297
+ # resp.template.definition.template_v4.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1298
+ # resp.template.definition.template_v4.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1299
+ # resp.template.definition.template_v4.general_flags.auto_enrollment #=> Boolean
1300
+ # resp.template.definition.template_v4.general_flags.machine_type #=> Boolean
1301
+ # resp.template.definition.template_v4.hash_algorithm #=> String, one of "SHA256", "SHA384", "SHA512"
1302
+ # resp.template.definition.template_v4.private_key_attributes.algorithm #=> String, one of "RSA", "ECDH_P256", "ECDH_P384", "ECDH_P521"
1303
+ # resp.template.definition.template_v4.private_key_attributes.crypto_providers #=> Array
1304
+ # resp.template.definition.template_v4.private_key_attributes.crypto_providers[0] #=> String
1305
+ # resp.template.definition.template_v4.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1306
+ # resp.template.definition.template_v4.private_key_attributes.key_usage_property.property_flags.decrypt #=> Boolean
1307
+ # resp.template.definition.template_v4.private_key_attributes.key_usage_property.property_flags.key_agreement #=> Boolean
1308
+ # resp.template.definition.template_v4.private_key_attributes.key_usage_property.property_flags.sign #=> Boolean
1309
+ # resp.template.definition.template_v4.private_key_attributes.key_usage_property.property_type #=> String, one of "ALL"
1310
+ # resp.template.definition.template_v4.private_key_attributes.minimal_key_length #=> Integer
1311
+ # resp.template.definition.template_v4.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1312
+ # resp.template.definition.template_v4.private_key_flags.exportable_key #=> Boolean
1313
+ # resp.template.definition.template_v4.private_key_flags.require_alternate_signature_algorithm #=> Boolean
1314
+ # resp.template.definition.template_v4.private_key_flags.require_same_key_renewal #=> Boolean
1315
+ # resp.template.definition.template_v4.private_key_flags.strong_key_protection_required #=> Boolean
1316
+ # resp.template.definition.template_v4.private_key_flags.use_legacy_provider #=> Boolean
1317
+ # resp.template.definition.template_v4.subject_name_flags.require_common_name #=> Boolean
1318
+ # resp.template.definition.template_v4.subject_name_flags.require_directory_path #=> Boolean
1319
+ # resp.template.definition.template_v4.subject_name_flags.require_dns_as_cn #=> Boolean
1320
+ # resp.template.definition.template_v4.subject_name_flags.require_email #=> Boolean
1321
+ # resp.template.definition.template_v4.subject_name_flags.san_require_directory_guid #=> Boolean
1322
+ # resp.template.definition.template_v4.subject_name_flags.san_require_dns #=> Boolean
1323
+ # resp.template.definition.template_v4.subject_name_flags.san_require_domain_dns #=> Boolean
1324
+ # resp.template.definition.template_v4.subject_name_flags.san_require_email #=> Boolean
1325
+ # resp.template.definition.template_v4.subject_name_flags.san_require_spn #=> Boolean
1326
+ # resp.template.definition.template_v4.subject_name_flags.san_require_upn #=> Boolean
1327
+ # resp.template.definition.template_v4.superseded_templates #=> Array
1328
+ # resp.template.definition.template_v4.superseded_templates[0] #=> String
1329
+ # resp.template.name #=> String
1330
+ # resp.template.object_identifier #=> String
1331
+ # resp.template.policy_schema #=> Integer
1332
+ # resp.template.revision.major_revision #=> Integer
1333
+ # resp.template.revision.minor_revision #=> Integer
1334
+ # resp.template.status #=> String, one of "ACTIVE", "DELETING"
1335
+ # resp.template.updated_at #=> Time
1336
+ #
1337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/GetTemplate AWS API Documentation
1338
+ #
1339
+ # @overload get_template(params = {})
1340
+ # @param [Hash] params ({})
1341
+ def get_template(params = {}, options = {})
1342
+ req = build_request(:get_template, params)
1343
+ req.send_request(options)
1344
+ end
1345
+
1346
+ # Retrieves the group access control entries for a template.
1347
+ #
1348
+ # @option params [required, String] :group_security_identifier
1349
+ # Security identifier (SID) of the group object from Active Directory.
1350
+ # The SID starts with "S-".
1351
+ #
1352
+ # @option params [required, String] :template_arn
1353
+ # The Amazon Resource Name (ARN) that was returned when you called
1354
+ # [CreateTemplate][1].
1355
+ #
1356
+ #
1357
+ #
1358
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
1359
+ #
1360
+ # @return [Types::GetTemplateGroupAccessControlEntryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1361
+ #
1362
+ # * {Types::GetTemplateGroupAccessControlEntryResponse#access_control_entry #access_control_entry} => Types::AccessControlEntry
1363
+ #
1364
+ # @example Request syntax with placeholder values
1365
+ #
1366
+ # resp = client.get_template_group_access_control_entry({
1367
+ # group_security_identifier: "GroupSecurityIdentifier", # required
1368
+ # template_arn: "TemplateArn", # required
1369
+ # })
1370
+ #
1371
+ # @example Response structure
1372
+ #
1373
+ # resp.access_control_entry.access_rights.auto_enroll #=> String, one of "ALLOW", "DENY"
1374
+ # resp.access_control_entry.access_rights.enroll #=> String, one of "ALLOW", "DENY"
1375
+ # resp.access_control_entry.created_at #=> Time
1376
+ # resp.access_control_entry.group_display_name #=> String
1377
+ # resp.access_control_entry.group_security_identifier #=> String
1378
+ # resp.access_control_entry.template_arn #=> String
1379
+ # resp.access_control_entry.updated_at #=> Time
1380
+ #
1381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/GetTemplateGroupAccessControlEntry AWS API Documentation
1382
+ #
1383
+ # @overload get_template_group_access_control_entry(params = {})
1384
+ # @param [Hash] params ({})
1385
+ def get_template_group_access_control_entry(params = {}, options = {})
1386
+ req = build_request(:get_template_group_access_control_entry, params)
1387
+ req.send_request(options)
1388
+ end
1389
+
1390
+ # Lists the connectors that you created by using the
1391
+ # [https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API\_CreateConnector][1]
1392
+ # action.
1393
+ #
1394
+ #
1395
+ #
1396
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector
1397
+ #
1398
+ # @option params [Integer] :max_results
1399
+ # Use this parameter when paginating results to specify the maximum
1400
+ # number of items to return in the response on each page. If additional
1401
+ # items exist beyond the number you specify, the `NextToken` element is
1402
+ # sent in the response. Use this `NextToken` value in a subsequent
1403
+ # request to retrieve additional items.
1404
+ #
1405
+ # @option params [String] :next_token
1406
+ # Use this parameter when paginating results in a subsequent request
1407
+ # after you receive a response with truncated results. Set it to the
1408
+ # value of the `NextToken` parameter from the response you just
1409
+ # received.
1410
+ #
1411
+ # @return [Types::ListConnectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1412
+ #
1413
+ # * {Types::ListConnectorsResponse#connectors #connectors} => Array&lt;Types::ConnectorSummary&gt;
1414
+ # * {Types::ListConnectorsResponse#next_token #next_token} => String
1415
+ #
1416
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.list_connectors({
1421
+ # max_results: 1,
1422
+ # next_token: "NextToken",
1423
+ # })
1424
+ #
1425
+ # @example Response structure
1426
+ #
1427
+ # resp.connectors #=> Array
1428
+ # resp.connectors[0].arn #=> String
1429
+ # resp.connectors[0].certificate_authority_arn #=> String
1430
+ # resp.connectors[0].certificate_enrollment_policy_server_endpoint #=> String
1431
+ # resp.connectors[0].created_at #=> Time
1432
+ # resp.connectors[0].directory_id #=> String
1433
+ # resp.connectors[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1434
+ # resp.connectors[0].status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "INTERNAL_FAILURE", "PRIVATECA_ACCESS_DENIED", "PRIVATECA_RESOURCE_NOT_FOUND", "SECURITY_GROUP_NOT_IN_VPC", "VPC_ACCESS_DENIED", "VPC_ENDPOINT_LIMIT_EXCEEDED", "VPC_RESOURCE_NOT_FOUND"
1435
+ # resp.connectors[0].updated_at #=> Time
1436
+ # resp.connectors[0].vpc_information.security_group_ids #=> Array
1437
+ # resp.connectors[0].vpc_information.security_group_ids[0] #=> String
1438
+ # resp.next_token #=> String
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListConnectors AWS API Documentation
1441
+ #
1442
+ # @overload list_connectors(params = {})
1443
+ # @param [Hash] params ({})
1444
+ def list_connectors(params = {}, options = {})
1445
+ req = build_request(:list_connectors, params)
1446
+ req.send_request(options)
1447
+ end
1448
+
1449
+ # Lists the directory registrations that you created by using the
1450
+ # [https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API\_CreateDirectoryRegistration][1]
1451
+ # action.
1452
+ #
1453
+ #
1454
+ #
1455
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration
1456
+ #
1457
+ # @option params [Integer] :max_results
1458
+ # Use this parameter when paginating results to specify the maximum
1459
+ # number of items to return in the response on each page. If additional
1460
+ # items exist beyond the number you specify, the `NextToken` element is
1461
+ # sent in the response. Use this `NextToken` value in a subsequent
1462
+ # request to retrieve additional items.
1463
+ #
1464
+ # @option params [String] :next_token
1465
+ # Use this parameter when paginating results in a subsequent request
1466
+ # after you receive a response with truncated results. Set it to the
1467
+ # value of the `NextToken` parameter from the response you just
1468
+ # received.
1469
+ #
1470
+ # @return [Types::ListDirectoryRegistrationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1471
+ #
1472
+ # * {Types::ListDirectoryRegistrationsResponse#directory_registrations #directory_registrations} => Array&lt;Types::DirectoryRegistrationSummary&gt;
1473
+ # * {Types::ListDirectoryRegistrationsResponse#next_token #next_token} => String
1474
+ #
1475
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1476
+ #
1477
+ # @example Request syntax with placeholder values
1478
+ #
1479
+ # resp = client.list_directory_registrations({
1480
+ # max_results: 1,
1481
+ # next_token: "NextToken",
1482
+ # })
1483
+ #
1484
+ # @example Response structure
1485
+ #
1486
+ # resp.directory_registrations #=> Array
1487
+ # resp.directory_registrations[0].arn #=> String
1488
+ # resp.directory_registrations[0].created_at #=> Time
1489
+ # resp.directory_registrations[0].directory_id #=> String
1490
+ # resp.directory_registrations[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1491
+ # resp.directory_registrations[0].status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "DIRECTORY_RESOURCE_NOT_FOUND", "DIRECTORY_NOT_ACTIVE", "DIRECTORY_NOT_REACHABLE", "DIRECTORY_TYPE_NOT_SUPPORTED", "INTERNAL_FAILURE"
1492
+ # resp.directory_registrations[0].updated_at #=> Time
1493
+ # resp.next_token #=> String
1494
+ #
1495
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListDirectoryRegistrations AWS API Documentation
1496
+ #
1497
+ # @overload list_directory_registrations(params = {})
1498
+ # @param [Hash] params ({})
1499
+ def list_directory_registrations(params = {}, options = {})
1500
+ req = build_request(:list_directory_registrations, params)
1501
+ req.send_request(options)
1502
+ end
1503
+
1504
+ # Lists the service principal names that the connector uses to
1505
+ # authenticate with Active Directory.
1506
+ #
1507
+ # @option params [required, String] :directory_registration_arn
1508
+ # The Amazon Resource Name (ARN) that was returned when you called
1509
+ # [CreateDirectoryRegistration][1].
1510
+ #
1511
+ #
1512
+ #
1513
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateDirectoryRegistration.html
1514
+ #
1515
+ # @option params [Integer] :max_results
1516
+ # Use this parameter when paginating results to specify the maximum
1517
+ # number of items to return in the response on each page. If additional
1518
+ # items exist beyond the number you specify, the `NextToken` element is
1519
+ # sent in the response. Use this `NextToken` value in a subsequent
1520
+ # request to retrieve additional items.
1521
+ #
1522
+ # @option params [String] :next_token
1523
+ # Use this parameter when paginating results in a subsequent request
1524
+ # after you receive a response with truncated results. Set it to the
1525
+ # value of the `NextToken` parameter from the response you just
1526
+ # received.
1527
+ #
1528
+ # @return [Types::ListServicePrincipalNamesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1529
+ #
1530
+ # * {Types::ListServicePrincipalNamesResponse#next_token #next_token} => String
1531
+ # * {Types::ListServicePrincipalNamesResponse#service_principal_names #service_principal_names} => Array&lt;Types::ServicePrincipalNameSummary&gt;
1532
+ #
1533
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1534
+ #
1535
+ # @example Request syntax with placeholder values
1536
+ #
1537
+ # resp = client.list_service_principal_names({
1538
+ # directory_registration_arn: "DirectoryRegistrationArn", # required
1539
+ # max_results: 1,
1540
+ # next_token: "NextToken",
1541
+ # })
1542
+ #
1543
+ # @example Response structure
1544
+ #
1545
+ # resp.next_token #=> String
1546
+ # resp.service_principal_names #=> Array
1547
+ # resp.service_principal_names[0].connector_arn #=> String
1548
+ # resp.service_principal_names[0].created_at #=> Time
1549
+ # resp.service_principal_names[0].directory_registration_arn #=> String
1550
+ # resp.service_principal_names[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "FAILED"
1551
+ # resp.service_principal_names[0].status_reason #=> String, one of "DIRECTORY_ACCESS_DENIED", "DIRECTORY_NOT_REACHABLE", "DIRECTORY_RESOURCE_NOT_FOUND", "SPN_EXISTS_ON_DIFFERENT_AD_OBJECT", "INTERNAL_FAILURE"
1552
+ # resp.service_principal_names[0].updated_at #=> Time
1553
+ #
1554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListServicePrincipalNames AWS API Documentation
1555
+ #
1556
+ # @overload list_service_principal_names(params = {})
1557
+ # @param [Hash] params ({})
1558
+ def list_service_principal_names(params = {}, options = {})
1559
+ req = build_request(:list_service_principal_names, params)
1560
+ req.send_request(options)
1561
+ end
1562
+
1563
+ # Lists the tags, if any, that are associated with your resource.
1564
+ #
1565
+ # @option params [required, String] :resource_arn
1566
+ # The Amazon Resource Name (ARN) that was returned when you created the
1567
+ # resource.
1568
+ #
1569
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1570
+ #
1571
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1572
+ #
1573
+ # @example Request syntax with placeholder values
1574
+ #
1575
+ # resp = client.list_tags_for_resource({
1576
+ # resource_arn: "String", # required
1577
+ # })
1578
+ #
1579
+ # @example Response structure
1580
+ #
1581
+ # resp.tags #=> Hash
1582
+ # resp.tags["String"] #=> String
1583
+ #
1584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListTagsForResource AWS API Documentation
1585
+ #
1586
+ # @overload list_tags_for_resource(params = {})
1587
+ # @param [Hash] params ({})
1588
+ def list_tags_for_resource(params = {}, options = {})
1589
+ req = build_request(:list_tags_for_resource, params)
1590
+ req.send_request(options)
1591
+ end
1592
+
1593
+ # Lists group access control entries you created.
1594
+ #
1595
+ # @option params [Integer] :max_results
1596
+ # Use this parameter when paginating results to specify the maximum
1597
+ # number of items to return in the response on each page. If additional
1598
+ # items exist beyond the number you specify, the `NextToken` element is
1599
+ # sent in the response. Use this `NextToken` value in a subsequent
1600
+ # request to retrieve additional items.
1601
+ #
1602
+ # @option params [String] :next_token
1603
+ # Use this parameter when paginating results in a subsequent request
1604
+ # after you receive a response with truncated results. Set it to the
1605
+ # value of the `NextToken` parameter from the response you just
1606
+ # received.
1607
+ #
1608
+ # @option params [required, String] :template_arn
1609
+ # The Amazon Resource Name (ARN) that was returned when you called
1610
+ # [CreateTemplate][1].
1611
+ #
1612
+ #
1613
+ #
1614
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
1615
+ #
1616
+ # @return [Types::ListTemplateGroupAccessControlEntriesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1617
+ #
1618
+ # * {Types::ListTemplateGroupAccessControlEntriesResponse#access_control_entries #access_control_entries} => Array&lt;Types::AccessControlEntrySummary&gt;
1619
+ # * {Types::ListTemplateGroupAccessControlEntriesResponse#next_token #next_token} => String
1620
+ #
1621
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1622
+ #
1623
+ # @example Request syntax with placeholder values
1624
+ #
1625
+ # resp = client.list_template_group_access_control_entries({
1626
+ # max_results: 1,
1627
+ # next_token: "NextToken",
1628
+ # template_arn: "TemplateArn", # required
1629
+ # })
1630
+ #
1631
+ # @example Response structure
1632
+ #
1633
+ # resp.access_control_entries #=> Array
1634
+ # resp.access_control_entries[0].access_rights.auto_enroll #=> String, one of "ALLOW", "DENY"
1635
+ # resp.access_control_entries[0].access_rights.enroll #=> String, one of "ALLOW", "DENY"
1636
+ # resp.access_control_entries[0].created_at #=> Time
1637
+ # resp.access_control_entries[0].group_display_name #=> String
1638
+ # resp.access_control_entries[0].group_security_identifier #=> String
1639
+ # resp.access_control_entries[0].template_arn #=> String
1640
+ # resp.access_control_entries[0].updated_at #=> Time
1641
+ # resp.next_token #=> String
1642
+ #
1643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListTemplateGroupAccessControlEntries AWS API Documentation
1644
+ #
1645
+ # @overload list_template_group_access_control_entries(params = {})
1646
+ # @param [Hash] params ({})
1647
+ def list_template_group_access_control_entries(params = {}, options = {})
1648
+ req = build_request(:list_template_group_access_control_entries, params)
1649
+ req.send_request(options)
1650
+ end
1651
+
1652
+ # Lists the templates, if any, that are associated with a connector.
1653
+ #
1654
+ # @option params [required, String] :connector_arn
1655
+ # The Amazon Resource Name (ARN) that was returned when you called
1656
+ # [CreateConnector][1].
1657
+ #
1658
+ #
1659
+ #
1660
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateConnector.html
1661
+ #
1662
+ # @option params [Integer] :max_results
1663
+ # Use this parameter when paginating results to specify the maximum
1664
+ # number of items to return in the response on each page. If additional
1665
+ # items exist beyond the number you specify, the `NextToken` element is
1666
+ # sent in the response. Use this `NextToken` value in a subsequent
1667
+ # request to retrieve additional items.
1668
+ #
1669
+ # @option params [String] :next_token
1670
+ # Use this parameter when paginating results in a subsequent request
1671
+ # after you receive a response with truncated results. Set it to the
1672
+ # value of the `NextToken` parameter from the response you just
1673
+ # received.
1674
+ #
1675
+ # @return [Types::ListTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1676
+ #
1677
+ # * {Types::ListTemplatesResponse#next_token #next_token} => String
1678
+ # * {Types::ListTemplatesResponse#templates #templates} => Array&lt;Types::TemplateSummary&gt;
1679
+ #
1680
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1681
+ #
1682
+ # @example Request syntax with placeholder values
1683
+ #
1684
+ # resp = client.list_templates({
1685
+ # connector_arn: "ConnectorArn", # required
1686
+ # max_results: 1,
1687
+ # next_token: "NextToken",
1688
+ # })
1689
+ #
1690
+ # @example Response structure
1691
+ #
1692
+ # resp.next_token #=> String
1693
+ # resp.templates #=> Array
1694
+ # resp.templates[0].arn #=> String
1695
+ # resp.templates[0].connector_arn #=> String
1696
+ # resp.templates[0].created_at #=> Time
1697
+ # resp.templates[0].definition.template_v2.certificate_validity.renewal_period.period #=> Integer
1698
+ # resp.templates[0].definition.template_v2.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1699
+ # resp.templates[0].definition.template_v2.certificate_validity.validity_period.period #=> Integer
1700
+ # resp.templates[0].definition.template_v2.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1701
+ # resp.templates[0].definition.template_v2.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1702
+ # resp.templates[0].definition.template_v2.enrollment_flags.include_symmetric_algorithms #=> Boolean
1703
+ # resp.templates[0].definition.template_v2.enrollment_flags.no_security_extension #=> Boolean
1704
+ # resp.templates[0].definition.template_v2.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1705
+ # resp.templates[0].definition.template_v2.enrollment_flags.user_interaction_required #=> Boolean
1706
+ # resp.templates[0].definition.template_v2.extensions.application_policies.critical #=> Boolean
1707
+ # resp.templates[0].definition.template_v2.extensions.application_policies.policies #=> Array
1708
+ # resp.templates[0].definition.template_v2.extensions.application_policies.policies[0].policy_object_identifier #=> String
1709
+ # resp.templates[0].definition.template_v2.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1710
+ # resp.templates[0].definition.template_v2.extensions.key_usage.critical #=> Boolean
1711
+ # resp.templates[0].definition.template_v2.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1712
+ # resp.templates[0].definition.template_v2.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1713
+ # resp.templates[0].definition.template_v2.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1714
+ # resp.templates[0].definition.template_v2.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1715
+ # resp.templates[0].definition.template_v2.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1716
+ # resp.templates[0].definition.template_v2.general_flags.auto_enrollment #=> Boolean
1717
+ # resp.templates[0].definition.template_v2.general_flags.machine_type #=> Boolean
1718
+ # resp.templates[0].definition.template_v2.private_key_attributes.crypto_providers #=> Array
1719
+ # resp.templates[0].definition.template_v2.private_key_attributes.crypto_providers[0] #=> String
1720
+ # resp.templates[0].definition.template_v2.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1721
+ # resp.templates[0].definition.template_v2.private_key_attributes.minimal_key_length #=> Integer
1722
+ # resp.templates[0].definition.template_v2.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2003", "WINDOWS_SERVER_2008", "WINDOWS_SERVER_2008_R2", "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1723
+ # resp.templates[0].definition.template_v2.private_key_flags.exportable_key #=> Boolean
1724
+ # resp.templates[0].definition.template_v2.private_key_flags.strong_key_protection_required #=> Boolean
1725
+ # resp.templates[0].definition.template_v2.subject_name_flags.require_common_name #=> Boolean
1726
+ # resp.templates[0].definition.template_v2.subject_name_flags.require_directory_path #=> Boolean
1727
+ # resp.templates[0].definition.template_v2.subject_name_flags.require_dns_as_cn #=> Boolean
1728
+ # resp.templates[0].definition.template_v2.subject_name_flags.require_email #=> Boolean
1729
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_directory_guid #=> Boolean
1730
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_dns #=> Boolean
1731
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_domain_dns #=> Boolean
1732
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_email #=> Boolean
1733
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_spn #=> Boolean
1734
+ # resp.templates[0].definition.template_v2.subject_name_flags.san_require_upn #=> Boolean
1735
+ # resp.templates[0].definition.template_v2.superseded_templates #=> Array
1736
+ # resp.templates[0].definition.template_v2.superseded_templates[0] #=> String
1737
+ # resp.templates[0].definition.template_v3.certificate_validity.renewal_period.period #=> Integer
1738
+ # resp.templates[0].definition.template_v3.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1739
+ # resp.templates[0].definition.template_v3.certificate_validity.validity_period.period #=> Integer
1740
+ # resp.templates[0].definition.template_v3.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1741
+ # resp.templates[0].definition.template_v3.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1742
+ # resp.templates[0].definition.template_v3.enrollment_flags.include_symmetric_algorithms #=> Boolean
1743
+ # resp.templates[0].definition.template_v3.enrollment_flags.no_security_extension #=> Boolean
1744
+ # resp.templates[0].definition.template_v3.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1745
+ # resp.templates[0].definition.template_v3.enrollment_flags.user_interaction_required #=> Boolean
1746
+ # resp.templates[0].definition.template_v3.extensions.application_policies.critical #=> Boolean
1747
+ # resp.templates[0].definition.template_v3.extensions.application_policies.policies #=> Array
1748
+ # resp.templates[0].definition.template_v3.extensions.application_policies.policies[0].policy_object_identifier #=> String
1749
+ # resp.templates[0].definition.template_v3.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1750
+ # resp.templates[0].definition.template_v3.extensions.key_usage.critical #=> Boolean
1751
+ # resp.templates[0].definition.template_v3.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1752
+ # resp.templates[0].definition.template_v3.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1753
+ # resp.templates[0].definition.template_v3.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1754
+ # resp.templates[0].definition.template_v3.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1755
+ # resp.templates[0].definition.template_v3.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1756
+ # resp.templates[0].definition.template_v3.general_flags.auto_enrollment #=> Boolean
1757
+ # resp.templates[0].definition.template_v3.general_flags.machine_type #=> Boolean
1758
+ # resp.templates[0].definition.template_v3.hash_algorithm #=> String, one of "SHA256", "SHA384", "SHA512"
1759
+ # resp.templates[0].definition.template_v3.private_key_attributes.algorithm #=> String, one of "RSA", "ECDH_P256", "ECDH_P384", "ECDH_P521"
1760
+ # resp.templates[0].definition.template_v3.private_key_attributes.crypto_providers #=> Array
1761
+ # resp.templates[0].definition.template_v3.private_key_attributes.crypto_providers[0] #=> String
1762
+ # resp.templates[0].definition.template_v3.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1763
+ # resp.templates[0].definition.template_v3.private_key_attributes.key_usage_property.property_flags.decrypt #=> Boolean
1764
+ # resp.templates[0].definition.template_v3.private_key_attributes.key_usage_property.property_flags.key_agreement #=> Boolean
1765
+ # resp.templates[0].definition.template_v3.private_key_attributes.key_usage_property.property_flags.sign #=> Boolean
1766
+ # resp.templates[0].definition.template_v3.private_key_attributes.key_usage_property.property_type #=> String, one of "ALL"
1767
+ # resp.templates[0].definition.template_v3.private_key_attributes.minimal_key_length #=> Integer
1768
+ # resp.templates[0].definition.template_v3.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2008", "WINDOWS_SERVER_2008_R2", "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1769
+ # resp.templates[0].definition.template_v3.private_key_flags.exportable_key #=> Boolean
1770
+ # resp.templates[0].definition.template_v3.private_key_flags.require_alternate_signature_algorithm #=> Boolean
1771
+ # resp.templates[0].definition.template_v3.private_key_flags.strong_key_protection_required #=> Boolean
1772
+ # resp.templates[0].definition.template_v3.subject_name_flags.require_common_name #=> Boolean
1773
+ # resp.templates[0].definition.template_v3.subject_name_flags.require_directory_path #=> Boolean
1774
+ # resp.templates[0].definition.template_v3.subject_name_flags.require_dns_as_cn #=> Boolean
1775
+ # resp.templates[0].definition.template_v3.subject_name_flags.require_email #=> Boolean
1776
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_directory_guid #=> Boolean
1777
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_dns #=> Boolean
1778
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_domain_dns #=> Boolean
1779
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_email #=> Boolean
1780
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_spn #=> Boolean
1781
+ # resp.templates[0].definition.template_v3.subject_name_flags.san_require_upn #=> Boolean
1782
+ # resp.templates[0].definition.template_v3.superseded_templates #=> Array
1783
+ # resp.templates[0].definition.template_v3.superseded_templates[0] #=> String
1784
+ # resp.templates[0].definition.template_v4.certificate_validity.renewal_period.period #=> Integer
1785
+ # resp.templates[0].definition.template_v4.certificate_validity.renewal_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1786
+ # resp.templates[0].definition.template_v4.certificate_validity.validity_period.period #=> Integer
1787
+ # resp.templates[0].definition.template_v4.certificate_validity.validity_period.period_type #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS"
1788
+ # resp.templates[0].definition.template_v4.enrollment_flags.enable_key_reuse_on_nt_token_keyset_storage_full #=> Boolean
1789
+ # resp.templates[0].definition.template_v4.enrollment_flags.include_symmetric_algorithms #=> Boolean
1790
+ # resp.templates[0].definition.template_v4.enrollment_flags.no_security_extension #=> Boolean
1791
+ # resp.templates[0].definition.template_v4.enrollment_flags.remove_invalid_certificate_from_personal_store #=> Boolean
1792
+ # resp.templates[0].definition.template_v4.enrollment_flags.user_interaction_required #=> Boolean
1793
+ # resp.templates[0].definition.template_v4.extensions.application_policies.critical #=> Boolean
1794
+ # resp.templates[0].definition.template_v4.extensions.application_policies.policies #=> Array
1795
+ # resp.templates[0].definition.template_v4.extensions.application_policies.policies[0].policy_object_identifier #=> String
1796
+ # resp.templates[0].definition.template_v4.extensions.application_policies.policies[0].policy_type #=> String, one of "ALL_APPLICATION_POLICIES", "ANY_PURPOSE", "ATTESTATION_IDENTITY_KEY_CERTIFICATE", "CERTIFICATE_REQUEST_AGENT", "CLIENT_AUTHENTICATION", "CODE_SIGNING", "CTL_USAGE", "DIGITAL_RIGHTS", "DIRECTORY_SERVICE_EMAIL_REPLICATION", "DISALLOWED_LIST", "DNS_SERVER_TRUST", "DOCUMENT_ENCRYPTION", "DOCUMENT_SIGNING", "DYNAMIC_CODE_GENERATOR", "EARLY_LAUNCH_ANTIMALWARE_DRIVER", "EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "ENCLAVE", "ENCRYPTING_FILE_SYSTEM", "ENDORSEMENT_KEY_CERTIFICATE", "FILE_RECOVERY", "HAL_EXTENSION", "IP_SECURITY_END_SYSTEM", "IP_SECURITY_IKE_INTERMEDIATE", "IP_SECURITY_TUNNEL_TERMINATION", "IP_SECURITY_USER", "ISOLATED_USER_MODE", "KDC_AUTHENTICATION", "KERNEL_MODE_CODE_SIGNING", "KEY_PACK_LICENSES", "KEY_RECOVERY", "KEY_RECOVERY_AGENT", "LICENSE_SERVER_VERIFICATION", "LIFETIME_SIGNING", "MICROSOFT_PUBLISHER", "MICROSOFT_TIME_STAMPING", "MICROSOFT_TRUST_LIST_SIGNING", "OCSP_SIGNING", "OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "PLATFORM_CERTIFICATE", "PREVIEW_BUILD_SIGNING", "PRIVATE_KEY_ARCHIVAL", "PROTECTED_PROCESS_LIGHT_VERIFICATION", "PROTECTED_PROCESS_VERIFICATION", "QUALIFIED_SUBORDINATION", "REVOKED_LIST_SIGNER", "ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION", "ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION", "ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL", "ROOT_LIST_SIGNER", "SECURE_EMAIL", "SERVER_AUTHENTICATION", "SMART_CARD_LOGIN", "SPC_ENCRYPTED_DIGEST_RETRY_COUNT", "SPC_RELAXED_PE_MARKER_CHECK", "TIME_STAMPING", "WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION", "WINDOWS_HARDWARE_DRIVER_VERIFICATION", "WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION", "WINDOWS_KITS_COMPONENT", "WINDOWS_RT_VERIFICATION", "WINDOWS_SOFTWARE_EXTENSION_VERIFICATION", "WINDOWS_STORE", "WINDOWS_SYSTEM_COMPONENT_VERIFICATION", "WINDOWS_TCB_COMPONENT", "WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT", "WINDOWS_UPDATE"
1797
+ # resp.templates[0].definition.template_v4.extensions.key_usage.critical #=> Boolean
1798
+ # resp.templates[0].definition.template_v4.extensions.key_usage.usage_flags.data_encipherment #=> Boolean
1799
+ # resp.templates[0].definition.template_v4.extensions.key_usage.usage_flags.digital_signature #=> Boolean
1800
+ # resp.templates[0].definition.template_v4.extensions.key_usage.usage_flags.key_agreement #=> Boolean
1801
+ # resp.templates[0].definition.template_v4.extensions.key_usage.usage_flags.key_encipherment #=> Boolean
1802
+ # resp.templates[0].definition.template_v4.extensions.key_usage.usage_flags.non_repudiation #=> Boolean
1803
+ # resp.templates[0].definition.template_v4.general_flags.auto_enrollment #=> Boolean
1804
+ # resp.templates[0].definition.template_v4.general_flags.machine_type #=> Boolean
1805
+ # resp.templates[0].definition.template_v4.hash_algorithm #=> String, one of "SHA256", "SHA384", "SHA512"
1806
+ # resp.templates[0].definition.template_v4.private_key_attributes.algorithm #=> String, one of "RSA", "ECDH_P256", "ECDH_P384", "ECDH_P521"
1807
+ # resp.templates[0].definition.template_v4.private_key_attributes.crypto_providers #=> Array
1808
+ # resp.templates[0].definition.template_v4.private_key_attributes.crypto_providers[0] #=> String
1809
+ # resp.templates[0].definition.template_v4.private_key_attributes.key_spec #=> String, one of "KEY_EXCHANGE", "SIGNATURE"
1810
+ # resp.templates[0].definition.template_v4.private_key_attributes.key_usage_property.property_flags.decrypt #=> Boolean
1811
+ # resp.templates[0].definition.template_v4.private_key_attributes.key_usage_property.property_flags.key_agreement #=> Boolean
1812
+ # resp.templates[0].definition.template_v4.private_key_attributes.key_usage_property.property_flags.sign #=> Boolean
1813
+ # resp.templates[0].definition.template_v4.private_key_attributes.key_usage_property.property_type #=> String, one of "ALL"
1814
+ # resp.templates[0].definition.template_v4.private_key_attributes.minimal_key_length #=> Integer
1815
+ # resp.templates[0].definition.template_v4.private_key_flags.client_version #=> String, one of "WINDOWS_SERVER_2012", "WINDOWS_SERVER_2012_R2", "WINDOWS_SERVER_2016"
1816
+ # resp.templates[0].definition.template_v4.private_key_flags.exportable_key #=> Boolean
1817
+ # resp.templates[0].definition.template_v4.private_key_flags.require_alternate_signature_algorithm #=> Boolean
1818
+ # resp.templates[0].definition.template_v4.private_key_flags.require_same_key_renewal #=> Boolean
1819
+ # resp.templates[0].definition.template_v4.private_key_flags.strong_key_protection_required #=> Boolean
1820
+ # resp.templates[0].definition.template_v4.private_key_flags.use_legacy_provider #=> Boolean
1821
+ # resp.templates[0].definition.template_v4.subject_name_flags.require_common_name #=> Boolean
1822
+ # resp.templates[0].definition.template_v4.subject_name_flags.require_directory_path #=> Boolean
1823
+ # resp.templates[0].definition.template_v4.subject_name_flags.require_dns_as_cn #=> Boolean
1824
+ # resp.templates[0].definition.template_v4.subject_name_flags.require_email #=> Boolean
1825
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_directory_guid #=> Boolean
1826
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_dns #=> Boolean
1827
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_domain_dns #=> Boolean
1828
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_email #=> Boolean
1829
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_spn #=> Boolean
1830
+ # resp.templates[0].definition.template_v4.subject_name_flags.san_require_upn #=> Boolean
1831
+ # resp.templates[0].definition.template_v4.superseded_templates #=> Array
1832
+ # resp.templates[0].definition.template_v4.superseded_templates[0] #=> String
1833
+ # resp.templates[0].name #=> String
1834
+ # resp.templates[0].object_identifier #=> String
1835
+ # resp.templates[0].policy_schema #=> Integer
1836
+ # resp.templates[0].revision.major_revision #=> Integer
1837
+ # resp.templates[0].revision.minor_revision #=> Integer
1838
+ # resp.templates[0].status #=> String, one of "ACTIVE", "DELETING"
1839
+ # resp.templates[0].updated_at #=> Time
1840
+ #
1841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/ListTemplates AWS API Documentation
1842
+ #
1843
+ # @overload list_templates(params = {})
1844
+ # @param [Hash] params ({})
1845
+ def list_templates(params = {}, options = {})
1846
+ req = build_request(:list_templates, params)
1847
+ req.send_request(options)
1848
+ end
1849
+
1850
+ # Adds one or more tags to your resource.
1851
+ #
1852
+ # @option params [required, String] :resource_arn
1853
+ # The Amazon Resource Name (ARN) that was returned when you created the
1854
+ # resource.
1855
+ #
1856
+ # @option params [required, Hash<String,String>] :tags
1857
+ # Metadata assigned to a directory registration consisting of a
1858
+ # key-value pair.
1859
+ #
1860
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1861
+ #
1862
+ # @example Request syntax with placeholder values
1863
+ #
1864
+ # resp = client.tag_resource({
1865
+ # resource_arn: "String", # required
1866
+ # tags: { # required
1867
+ # "String" => "String",
1868
+ # },
1869
+ # })
1870
+ #
1871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/TagResource AWS API Documentation
1872
+ #
1873
+ # @overload tag_resource(params = {})
1874
+ # @param [Hash] params ({})
1875
+ def tag_resource(params = {}, options = {})
1876
+ req = build_request(:tag_resource, params)
1877
+ req.send_request(options)
1878
+ end
1879
+
1880
+ # Removes one or more tags from your resource.
1881
+ #
1882
+ # @option params [required, String] :resource_arn
1883
+ # The Amazon Resource Name (ARN) that was returned when you created the
1884
+ # resource.
1885
+ #
1886
+ # @option params [required, Array<String>] :tag_keys
1887
+ # Specifies a list of tag keys that you want to remove from the
1888
+ # specified resources.
1889
+ #
1890
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1891
+ #
1892
+ # @example Request syntax with placeholder values
1893
+ #
1894
+ # resp = client.untag_resource({
1895
+ # resource_arn: "String", # required
1896
+ # tag_keys: ["String"], # required
1897
+ # })
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/UntagResource AWS API Documentation
1900
+ #
1901
+ # @overload untag_resource(params = {})
1902
+ # @param [Hash] params ({})
1903
+ def untag_resource(params = {}, options = {})
1904
+ req = build_request(:untag_resource, params)
1905
+ req.send_request(options)
1906
+ end
1907
+
1908
+ # Update template configuration to define the information included in
1909
+ # certificates.
1910
+ #
1911
+ # @option params [Types::TemplateDefinition] :definition
1912
+ # Template configuration to define the information included in
1913
+ # certificates. Define certificate validity and renewal periods,
1914
+ # certificate request handling and enrollment options, key usage
1915
+ # extensions, application policies, and cryptography settings.
1916
+ #
1917
+ # @option params [Boolean] :reenroll_all_certificate_holders
1918
+ # This setting allows the major version of a template to be increased
1919
+ # automatically. All members of Active Directory groups that are allowed
1920
+ # to enroll with a template will receive a new certificate issued using
1921
+ # that template.
1922
+ #
1923
+ # @option params [required, String] :template_arn
1924
+ # The Amazon Resource Name (ARN) that was returned when you called
1925
+ # [CreateTemplate][1].
1926
+ #
1927
+ #
1928
+ #
1929
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
1930
+ #
1931
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1932
+ #
1933
+ # @example Request syntax with placeholder values
1934
+ #
1935
+ # resp = client.update_template({
1936
+ # definition: {
1937
+ # template_v2: {
1938
+ # certificate_validity: { # required
1939
+ # renewal_period: { # required
1940
+ # period: 1, # required
1941
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
1942
+ # },
1943
+ # validity_period: { # required
1944
+ # period: 1, # required
1945
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
1946
+ # },
1947
+ # },
1948
+ # enrollment_flags: { # required
1949
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
1950
+ # include_symmetric_algorithms: false,
1951
+ # no_security_extension: false,
1952
+ # remove_invalid_certificate_from_personal_store: false,
1953
+ # user_interaction_required: false,
1954
+ # },
1955
+ # extensions: { # required
1956
+ # application_policies: {
1957
+ # critical: false,
1958
+ # policies: [ # required
1959
+ # {
1960
+ # policy_object_identifier: "CustomObjectIdentifier",
1961
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
1962
+ # },
1963
+ # ],
1964
+ # },
1965
+ # key_usage: { # required
1966
+ # critical: false,
1967
+ # usage_flags: { # required
1968
+ # data_encipherment: false,
1969
+ # digital_signature: false,
1970
+ # key_agreement: false,
1971
+ # key_encipherment: false,
1972
+ # non_repudiation: false,
1973
+ # },
1974
+ # },
1975
+ # },
1976
+ # general_flags: { # required
1977
+ # auto_enrollment: false,
1978
+ # machine_type: false,
1979
+ # },
1980
+ # private_key_attributes: { # required
1981
+ # crypto_providers: ["CryptoProvidersListMemberString"],
1982
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
1983
+ # minimal_key_length: 1, # required
1984
+ # },
1985
+ # private_key_flags: { # required
1986
+ # client_version: "WINDOWS_SERVER_2003", # required, accepts WINDOWS_SERVER_2003, WINDOWS_SERVER_2008, WINDOWS_SERVER_2008_R2, WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
1987
+ # exportable_key: false,
1988
+ # strong_key_protection_required: false,
1989
+ # },
1990
+ # subject_name_flags: { # required
1991
+ # require_common_name: false,
1992
+ # require_directory_path: false,
1993
+ # require_dns_as_cn: false,
1994
+ # require_email: false,
1995
+ # san_require_directory_guid: false,
1996
+ # san_require_dns: false,
1997
+ # san_require_domain_dns: false,
1998
+ # san_require_email: false,
1999
+ # san_require_spn: false,
2000
+ # san_require_upn: false,
2001
+ # },
2002
+ # superseded_templates: ["TemplateName"],
2003
+ # },
2004
+ # template_v3: {
2005
+ # certificate_validity: { # required
2006
+ # renewal_period: { # required
2007
+ # period: 1, # required
2008
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
2009
+ # },
2010
+ # validity_period: { # required
2011
+ # period: 1, # required
2012
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
2013
+ # },
2014
+ # },
2015
+ # enrollment_flags: { # required
2016
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
2017
+ # include_symmetric_algorithms: false,
2018
+ # no_security_extension: false,
2019
+ # remove_invalid_certificate_from_personal_store: false,
2020
+ # user_interaction_required: false,
2021
+ # },
2022
+ # extensions: { # required
2023
+ # application_policies: {
2024
+ # critical: false,
2025
+ # policies: [ # required
2026
+ # {
2027
+ # policy_object_identifier: "CustomObjectIdentifier",
2028
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
2029
+ # },
2030
+ # ],
2031
+ # },
2032
+ # key_usage: { # required
2033
+ # critical: false,
2034
+ # usage_flags: { # required
2035
+ # data_encipherment: false,
2036
+ # digital_signature: false,
2037
+ # key_agreement: false,
2038
+ # key_encipherment: false,
2039
+ # non_repudiation: false,
2040
+ # },
2041
+ # },
2042
+ # },
2043
+ # general_flags: { # required
2044
+ # auto_enrollment: false,
2045
+ # machine_type: false,
2046
+ # },
2047
+ # hash_algorithm: "SHA256", # required, accepts SHA256, SHA384, SHA512
2048
+ # private_key_attributes: { # required
2049
+ # algorithm: "RSA", # required, accepts RSA, ECDH_P256, ECDH_P384, ECDH_P521
2050
+ # crypto_providers: ["CryptoProvidersListMemberString"],
2051
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
2052
+ # key_usage_property: { # required
2053
+ # property_flags: {
2054
+ # decrypt: false,
2055
+ # key_agreement: false,
2056
+ # sign: false,
2057
+ # },
2058
+ # property_type: "ALL", # accepts ALL
2059
+ # },
2060
+ # minimal_key_length: 1, # required
2061
+ # },
2062
+ # private_key_flags: { # required
2063
+ # client_version: "WINDOWS_SERVER_2008", # required, accepts WINDOWS_SERVER_2008, WINDOWS_SERVER_2008_R2, WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
2064
+ # exportable_key: false,
2065
+ # require_alternate_signature_algorithm: false,
2066
+ # strong_key_protection_required: false,
2067
+ # },
2068
+ # subject_name_flags: { # required
2069
+ # require_common_name: false,
2070
+ # require_directory_path: false,
2071
+ # require_dns_as_cn: false,
2072
+ # require_email: false,
2073
+ # san_require_directory_guid: false,
2074
+ # san_require_dns: false,
2075
+ # san_require_domain_dns: false,
2076
+ # san_require_email: false,
2077
+ # san_require_spn: false,
2078
+ # san_require_upn: false,
2079
+ # },
2080
+ # superseded_templates: ["TemplateName"],
2081
+ # },
2082
+ # template_v4: {
2083
+ # certificate_validity: { # required
2084
+ # renewal_period: { # required
2085
+ # period: 1, # required
2086
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
2087
+ # },
2088
+ # validity_period: { # required
2089
+ # period: 1, # required
2090
+ # period_type: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS, YEARS
2091
+ # },
2092
+ # },
2093
+ # enrollment_flags: { # required
2094
+ # enable_key_reuse_on_nt_token_keyset_storage_full: false,
2095
+ # include_symmetric_algorithms: false,
2096
+ # no_security_extension: false,
2097
+ # remove_invalid_certificate_from_personal_store: false,
2098
+ # user_interaction_required: false,
2099
+ # },
2100
+ # extensions: { # required
2101
+ # application_policies: {
2102
+ # critical: false,
2103
+ # policies: [ # required
2104
+ # {
2105
+ # policy_object_identifier: "CustomObjectIdentifier",
2106
+ # policy_type: "ALL_APPLICATION_POLICIES", # accepts ALL_APPLICATION_POLICIES, ANY_PURPOSE, ATTESTATION_IDENTITY_KEY_CERTIFICATE, CERTIFICATE_REQUEST_AGENT, CLIENT_AUTHENTICATION, CODE_SIGNING, CTL_USAGE, DIGITAL_RIGHTS, DIRECTORY_SERVICE_EMAIL_REPLICATION, DISALLOWED_LIST, DNS_SERVER_TRUST, DOCUMENT_ENCRYPTION, DOCUMENT_SIGNING, DYNAMIC_CODE_GENERATOR, EARLY_LAUNCH_ANTIMALWARE_DRIVER, EMBEDDED_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, ENCLAVE, ENCRYPTING_FILE_SYSTEM, ENDORSEMENT_KEY_CERTIFICATE, FILE_RECOVERY, HAL_EXTENSION, IP_SECURITY_END_SYSTEM, IP_SECURITY_IKE_INTERMEDIATE, IP_SECURITY_TUNNEL_TERMINATION, IP_SECURITY_USER, ISOLATED_USER_MODE, KDC_AUTHENTICATION, KERNEL_MODE_CODE_SIGNING, KEY_PACK_LICENSES, KEY_RECOVERY, KEY_RECOVERY_AGENT, LICENSE_SERVER_VERIFICATION, LIFETIME_SIGNING, MICROSOFT_PUBLISHER, MICROSOFT_TIME_STAMPING, MICROSOFT_TRUST_LIST_SIGNING, OCSP_SIGNING, OEM_WINDOWS_SYSTEM_COMPONENT_VERIFICATION, PLATFORM_CERTIFICATE, PREVIEW_BUILD_SIGNING, PRIVATE_KEY_ARCHIVAL, PROTECTED_PROCESS_LIGHT_VERIFICATION, PROTECTED_PROCESS_VERIFICATION, QUALIFIED_SUBORDINATION, REVOKED_LIST_SIGNER, ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION, ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION, ROOT_PROGRAM_NO_OSCP_FAILOVER_TO_CRL, ROOT_LIST_SIGNER, SECURE_EMAIL, SERVER_AUTHENTICATION, SMART_CARD_LOGIN, SPC_ENCRYPTED_DIGEST_RETRY_COUNT, SPC_RELAXED_PE_MARKER_CHECK, TIME_STAMPING, WINDOWS_HARDWARE_DRIVER_ATTESTED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_EXTENDED_VERIFICATION, WINDOWS_HARDWARE_DRIVER_VERIFICATION, WINDOWS_HELLO_RECOVERY_KEY_ENCRYPTION, WINDOWS_KITS_COMPONENT, WINDOWS_RT_VERIFICATION, WINDOWS_SOFTWARE_EXTENSION_VERIFICATION, WINDOWS_STORE, WINDOWS_SYSTEM_COMPONENT_VERIFICATION, WINDOWS_TCB_COMPONENT, WINDOWS_THIRD_PARTY_APPLICATION_COMPONENT, WINDOWS_UPDATE
2107
+ # },
2108
+ # ],
2109
+ # },
2110
+ # key_usage: { # required
2111
+ # critical: false,
2112
+ # usage_flags: { # required
2113
+ # data_encipherment: false,
2114
+ # digital_signature: false,
2115
+ # key_agreement: false,
2116
+ # key_encipherment: false,
2117
+ # non_repudiation: false,
2118
+ # },
2119
+ # },
2120
+ # },
2121
+ # general_flags: { # required
2122
+ # auto_enrollment: false,
2123
+ # machine_type: false,
2124
+ # },
2125
+ # hash_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512
2126
+ # private_key_attributes: { # required
2127
+ # algorithm: "RSA", # accepts RSA, ECDH_P256, ECDH_P384, ECDH_P521
2128
+ # crypto_providers: ["CryptoProvidersListMemberString"],
2129
+ # key_spec: "KEY_EXCHANGE", # required, accepts KEY_EXCHANGE, SIGNATURE
2130
+ # key_usage_property: {
2131
+ # property_flags: {
2132
+ # decrypt: false,
2133
+ # key_agreement: false,
2134
+ # sign: false,
2135
+ # },
2136
+ # property_type: "ALL", # accepts ALL
2137
+ # },
2138
+ # minimal_key_length: 1, # required
2139
+ # },
2140
+ # private_key_flags: { # required
2141
+ # client_version: "WINDOWS_SERVER_2012", # required, accepts WINDOWS_SERVER_2012, WINDOWS_SERVER_2012_R2, WINDOWS_SERVER_2016
2142
+ # exportable_key: false,
2143
+ # require_alternate_signature_algorithm: false,
2144
+ # require_same_key_renewal: false,
2145
+ # strong_key_protection_required: false,
2146
+ # use_legacy_provider: false,
2147
+ # },
2148
+ # subject_name_flags: { # required
2149
+ # require_common_name: false,
2150
+ # require_directory_path: false,
2151
+ # require_dns_as_cn: false,
2152
+ # require_email: false,
2153
+ # san_require_directory_guid: false,
2154
+ # san_require_dns: false,
2155
+ # san_require_domain_dns: false,
2156
+ # san_require_email: false,
2157
+ # san_require_spn: false,
2158
+ # san_require_upn: false,
2159
+ # },
2160
+ # superseded_templates: ["TemplateName"],
2161
+ # },
2162
+ # },
2163
+ # reenroll_all_certificate_holders: false,
2164
+ # template_arn: "TemplateArn", # required
2165
+ # })
2166
+ #
2167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/UpdateTemplate AWS API Documentation
2168
+ #
2169
+ # @overload update_template(params = {})
2170
+ # @param [Hash] params ({})
2171
+ def update_template(params = {}, options = {})
2172
+ req = build_request(:update_template, params)
2173
+ req.send_request(options)
2174
+ end
2175
+
2176
+ # Update a group access control entry you created using
2177
+ # [CreateTemplateGroupAccessControlEntry][1].
2178
+ #
2179
+ #
2180
+ #
2181
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplateGroupAccessControlEntry.html
2182
+ #
2183
+ # @option params [Types::AccessRights] :access_rights
2184
+ # Allow or deny permissions for an Active Directory group to enroll or
2185
+ # autoenroll certificates for a template.
2186
+ #
2187
+ # @option params [String] :group_display_name
2188
+ # Name of the Active Directory group. This name does not need to match
2189
+ # the group name in Active Directory.
2190
+ #
2191
+ # @option params [required, String] :group_security_identifier
2192
+ # Security identifier (SID) of the group object from Active Directory.
2193
+ # The SID starts with "S-".
2194
+ #
2195
+ # @option params [required, String] :template_arn
2196
+ # The Amazon Resource Name (ARN) that was returned when you called
2197
+ # [CreateTemplate][1].
2198
+ #
2199
+ #
2200
+ #
2201
+ # [1]: https://docs.aws.amazon.com/pca-connector-ad/latest/APIReference/API_CreateTemplate.html
2202
+ #
2203
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2204
+ #
2205
+ # @example Request syntax with placeholder values
2206
+ #
2207
+ # resp = client.update_template_group_access_control_entry({
2208
+ # access_rights: {
2209
+ # auto_enroll: "ALLOW", # accepts ALLOW, DENY
2210
+ # enroll: "ALLOW", # accepts ALLOW, DENY
2211
+ # },
2212
+ # group_display_name: "DisplayName",
2213
+ # group_security_identifier: "GroupSecurityIdentifier", # required
2214
+ # template_arn: "TemplateArn", # required
2215
+ # })
2216
+ #
2217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pca-connector-ad-2018-05-10/UpdateTemplateGroupAccessControlEntry AWS API Documentation
2218
+ #
2219
+ # @overload update_template_group_access_control_entry(params = {})
2220
+ # @param [Hash] params ({})
2221
+ def update_template_group_access_control_entry(params = {}, options = {})
2222
+ req = build_request(:update_template_group_access_control_entry, params)
2223
+ req.send_request(options)
2224
+ end
2225
+
2226
+ # @!endgroup
2227
+
2228
+ # @param params ({})
2229
+ # @api private
2230
+ def build_request(operation_name, params = {})
2231
+ handlers = @handlers.for(operation_name)
2232
+ context = Seahorse::Client::RequestContext.new(
2233
+ operation_name: operation_name,
2234
+ operation: config.api.operation(operation_name),
2235
+ client: self,
2236
+ params: params,
2237
+ config: config)
2238
+ context[:gem_name] = 'aws-sdk-pcaconnectorad'
2239
+ context[:gem_version] = '1.0.0'
2240
+ Seahorse::Client::Request.new(handlers, context)
2241
+ end
2242
+
2243
+ # @api private
2244
+ # @deprecated
2245
+ def waiter_names
2246
+ []
2247
+ end
2248
+
2249
+ class << self
2250
+
2251
+ # @api private
2252
+ attr_reader :identifier
2253
+
2254
+ # @api private
2255
+ def errors_module
2256
+ Errors
2257
+ end
2258
+
2259
+ end
2260
+ end
2261
+ end