aws-sdk-acmpca 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: aff427f706191bde9e59bac24f717e6593839b45
4
+ data.tar.gz: 94b351d0e47d67f3478f18b0d166deb29d792197
5
+ SHA512:
6
+ metadata.gz: 58bc18726bd6d3139b3e46aa53de529e4d9cfbab41015488cd712f189b9d0dee9a7e1d31941f4bdb591ecee6073b42bb534e5480430d01f8c50b158eb4586b25
7
+ data.tar.gz: cf0bf6cf15682249be98c1206452ee7ee3649efe204f06657b2741b7c1653c134dd8bb272e9321b5397d4512700cc67dabc58ea7743d4caba6f55a35135b5be4
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-acmpca/types'
12
+ require_relative 'aws-sdk-acmpca/client_api'
13
+ require_relative 'aws-sdk-acmpca/client'
14
+ require_relative 'aws-sdk-acmpca/errors'
15
+ require_relative 'aws-sdk-acmpca/resource'
16
+ require_relative 'aws-sdk-acmpca/customizations'
17
+
18
+ # This module provides support for AWS Certificate Manager Private Certificate Authority. This module is available in the
19
+ # `aws-sdk-acmpca` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Certificate Manager Private Certificate Authority all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::ACMPCA::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::ACMPCA
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,1073 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:acmpca)
26
+
27
+ module Aws::ACMPCA
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :acmpca
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :simple_json (false)
130
+ # Disables request parameter conversion, validation, and formatting.
131
+ # Also disable response data type conversions. This option is useful
132
+ # when you want to ensure the highest level of performance by
133
+ # avoiding overhead of walking request parameters and response data
134
+ # structures.
135
+ #
136
+ # When `:simple_json` is enabled, the request parameters hash must
137
+ # be formatted exactly as the DynamoDB API expects.
138
+ #
139
+ # @option options [Boolean] :stub_responses (false)
140
+ # Causes the client to return stubbed responses. By default
141
+ # fake responses are generated and returned. You can specify
142
+ # the response data to return or errors to raise by calling
143
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
144
+ #
145
+ # ** Please note ** When response stubbing is enabled, no HTTP
146
+ # requests are made, and retries are disabled.
147
+ #
148
+ # @option options [Boolean] :validate_params (true)
149
+ # When `true`, request parameters are validated before
150
+ # sending the request.
151
+ #
152
+ def initialize(*args)
153
+ super
154
+ end
155
+
156
+ # @!group API Operations
157
+
158
+ # Creates a private subordinate certificate authority (CA). You must
159
+ # specify the CA configuration, the revocation configuration, the CA
160
+ # type, and an optional idempotency token. The CA configuration
161
+ # specifies the name of the algorithm and key size to be used to create
162
+ # the CA private key, the type of signing algorithm that the CA uses to
163
+ # sign, and X.500 subject information. The CRL (certificate revocation
164
+ # list) configuration specifies the CRL expiration period in days (the
165
+ # validity period of the CRL), the Amazon S3 bucket that will contain
166
+ # the CRL, and a CNAME alias for the S3 bucket that is included in
167
+ # certificates issued by the CA. If successful, this function returns
168
+ # the Amazon Resource Name (ARN) of the CA.
169
+ #
170
+ # @option params [required, Types::CertificateAuthorityConfiguration] :certificate_authority_configuration
171
+ # Name and bit size of the private key algorithm, the name of the
172
+ # signing algorithm, and X.500 certificate subject information.
173
+ #
174
+ # @option params [Types::RevocationConfiguration] :revocation_configuration
175
+ # Contains a Boolean value that you can use to enable a certification
176
+ # revocation list (CRL) for the CA, the name of the S3 bucket to which
177
+ # ACM PCA will write the CRL, and an optional CNAME alias that you can
178
+ # use to hide the name of your bucket in the **CRL Distribution Points**
179
+ # extension of your CA certificate. For more information, see the
180
+ # CrlConfiguration structure.
181
+ #
182
+ # @option params [required, String] :certificate_authority_type
183
+ # The type of the certificate authority. Currently, this must be
184
+ # **SUBORDINATE**.
185
+ #
186
+ # @option params [String] :idempotency_token
187
+ # Alphanumeric string that can be used to distinguish between calls to
188
+ # **CreateCertificateAuthority**. Idempotency tokens time out after five
189
+ # minutes. Therefore, if you call **CreateCertificateAuthority**
190
+ # multiple times with the same idempotency token within a five minute
191
+ # period, ACM PCA recognizes that you are requesting only one
192
+ # certificate and will issue only one. If you change the idempotency
193
+ # token for each call, however, ACM PCA recognizes that you are
194
+ # requesting multiple certificates.
195
+ #
196
+ # @return [Types::CreateCertificateAuthorityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
197
+ #
198
+ # * {Types::CreateCertificateAuthorityResponse#certificate_authority_arn #certificate_authority_arn} => String
199
+ #
200
+ # @example Request syntax with placeholder values
201
+ #
202
+ # resp = client.create_certificate_authority({
203
+ # certificate_authority_configuration: { # required
204
+ # key_algorithm: "RSA_2048", # required, accepts RSA_2048, RSA_4096, EC_prime256v1, EC_secp384r1
205
+ # signing_algorithm: "SHA256WITHECDSA", # required, accepts SHA256WITHECDSA, SHA384WITHECDSA, SHA512WITHECDSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA
206
+ # subject: { # required
207
+ # country: "CountryCodeString",
208
+ # organization: "String64",
209
+ # organizational_unit: "String64",
210
+ # distinguished_name_qualifier: "DistinguishedNameQualifierString",
211
+ # state: "String128",
212
+ # common_name: "String64",
213
+ # serial_number: "String64",
214
+ # locality: "String128",
215
+ # title: "String64",
216
+ # surname: "String40",
217
+ # given_name: "String16",
218
+ # initials: "String5",
219
+ # pseudonym: "String128",
220
+ # generation_qualifier: "String3",
221
+ # },
222
+ # },
223
+ # revocation_configuration: {
224
+ # crl_configuration: {
225
+ # enabled: false, # required
226
+ # expiration_in_days: 1,
227
+ # custom_cname: "String253",
228
+ # s3_bucket_name: "String3To255",
229
+ # },
230
+ # },
231
+ # certificate_authority_type: "SUBORDINATE", # required, accepts SUBORDINATE
232
+ # idempotency_token: "IdempotencyToken",
233
+ # })
234
+ #
235
+ # @example Response structure
236
+ #
237
+ # resp.certificate_authority_arn #=> String
238
+ #
239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthority AWS API Documentation
240
+ #
241
+ # @overload create_certificate_authority(params = {})
242
+ # @param [Hash] params ({})
243
+ def create_certificate_authority(params = {}, options = {})
244
+ req = build_request(:create_certificate_authority, params)
245
+ req.send_request(options)
246
+ end
247
+
248
+ # Creates an audit report that lists every time that the your CA private
249
+ # key is used. The report is saved in the Amazon S3 bucket that you
250
+ # specify on input. The IssueCertificate and RevokeCertificate functions
251
+ # use the private key. You can generate a new report every 30 minutes.
252
+ #
253
+ # @option params [required, String] :certificate_authority_arn
254
+ # Amazon Resource Name (ARN) of the CA to be audited. This is of the
255
+ # form:
256
+ #
257
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
258
+ # `.
259
+ #
260
+ # @option params [required, String] :s3_bucket_name
261
+ # Name of the S3 bucket that will contain the audit report.
262
+ #
263
+ # @option params [required, String] :audit_report_response_format
264
+ # Format in which to create the report. This can be either **JSON** or
265
+ # **CSV**.
266
+ #
267
+ # @return [Types::CreateCertificateAuthorityAuditReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
268
+ #
269
+ # * {Types::CreateCertificateAuthorityAuditReportResponse#audit_report_id #audit_report_id} => String
270
+ # * {Types::CreateCertificateAuthorityAuditReportResponse#s3_key #s3_key} => String
271
+ #
272
+ # @example Request syntax with placeholder values
273
+ #
274
+ # resp = client.create_certificate_authority_audit_report({
275
+ # certificate_authority_arn: "Arn", # required
276
+ # s3_bucket_name: "String", # required
277
+ # audit_report_response_format: "JSON", # required, accepts JSON, CSV
278
+ # })
279
+ #
280
+ # @example Response structure
281
+ #
282
+ # resp.audit_report_id #=> String
283
+ # resp.s3_key #=> String
284
+ #
285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReport AWS API Documentation
286
+ #
287
+ # @overload create_certificate_authority_audit_report(params = {})
288
+ # @param [Hash] params ({})
289
+ def create_certificate_authority_audit_report(params = {}, options = {})
290
+ req = build_request(:create_certificate_authority_audit_report, params)
291
+ req.send_request(options)
292
+ end
293
+
294
+ # Deletes the private certificate authority (CA) that you created or
295
+ # started to create by calling the CreateCertificateAuthority function.
296
+ # This action requires that you enter an ARN (Amazon Resource Name) for
297
+ # the private CA that you want to delete. You can find the ARN by
298
+ # calling the ListCertificateAuthorities function. You can delete the CA
299
+ # if you are waiting for it to be created (the **Status** field of the
300
+ # CertificateAuthority is `CREATING`) or if the CA has been created but
301
+ # you haven't yet imported the signed certificate (the **Status** is
302
+ # `PENDING_CERTIFICATE`) into ACM PCA. If you've already imported the
303
+ # certificate, you cannot delete the CA unless it has been disabled for
304
+ # more than 30 days. To disable a CA, call the
305
+ # UpdateCertificateAuthority function and set the
306
+ # **CertificateAuthorityStatus** argument to `DISABLED`.
307
+ #
308
+ # @option params [required, String] :certificate_authority_arn
309
+ # The Amazon Resource Name (ARN) that was returned when you called
310
+ # CreateCertificateAuthority. This must be of the form:
311
+ #
312
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
313
+ # `.
314
+ #
315
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
316
+ #
317
+ # @example Request syntax with placeholder values
318
+ #
319
+ # resp = client.delete_certificate_authority({
320
+ # certificate_authority_arn: "Arn", # required
321
+ # })
322
+ #
323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeleteCertificateAuthority AWS API Documentation
324
+ #
325
+ # @overload delete_certificate_authority(params = {})
326
+ # @param [Hash] params ({})
327
+ def delete_certificate_authority(params = {}, options = {})
328
+ req = build_request(:delete_certificate_authority, params)
329
+ req.send_request(options)
330
+ end
331
+
332
+ # Lists information about your private certificate authority (CA). You
333
+ # specify the private CA on input by its ARN (Amazon Resource Name). The
334
+ # output contains the status of your CA. This can be any of the
335
+ # following:
336
+ #
337
+ # * **CREATING:** ACM PCA is creating your private certificate
338
+ # authority.
339
+ #
340
+ # * **PENDING\_CERTIFICATE:** The certificate is pending. You must use
341
+ # your on-premises root or subordinate CA to sign your private CA CSR
342
+ # and then import it into PCA.
343
+ #
344
+ # * **ACTIVE:** Your private CA is active.
345
+ #
346
+ # * **DISABLED:** Your private CA has been disabled.
347
+ #
348
+ # * **EXPIRED:** Your private CA certificate has expired.
349
+ #
350
+ # * **FAILED:** Your private CA has failed. Your CA can fail for
351
+ # problems such a network outage or backend AWS failure or other
352
+ # errors. A failed CA can never return to the pending state. You must
353
+ # create a new CA.
354
+ #
355
+ # @option params [required, String] :certificate_authority_arn
356
+ # The Amazon Resource Name (ARN) that was returned when you called
357
+ # CreateCertificateAuthority. This must be of the form:
358
+ #
359
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
360
+ # `.
361
+ #
362
+ # @return [Types::DescribeCertificateAuthorityResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
363
+ #
364
+ # * {Types::DescribeCertificateAuthorityResponse#certificate_authority #certificate_authority} => Types::CertificateAuthority
365
+ #
366
+ # @example Request syntax with placeholder values
367
+ #
368
+ # resp = client.describe_certificate_authority({
369
+ # certificate_authority_arn: "Arn", # required
370
+ # })
371
+ #
372
+ # @example Response structure
373
+ #
374
+ # resp.certificate_authority.arn #=> String
375
+ # resp.certificate_authority.created_at #=> Time
376
+ # resp.certificate_authority.last_state_change_at #=> Time
377
+ # resp.certificate_authority.type #=> String, one of "SUBORDINATE"
378
+ # resp.certificate_authority.serial #=> String
379
+ # resp.certificate_authority.status #=> String, one of "CREATING", "PENDING_CERTIFICATE", "ACTIVE", "DISABLED", "EXPIRED", "FAILED"
380
+ # resp.certificate_authority.not_before #=> Time
381
+ # resp.certificate_authority.not_after #=> Time
382
+ # resp.certificate_authority.failure_reason #=> String, one of "REQUEST_TIMED_OUT", "UNSUPPORTED_ALGORITHM", "OTHER"
383
+ # resp.certificate_authority.certificate_authority_configuration.key_algorithm #=> String, one of "RSA_2048", "RSA_4096", "EC_prime256v1", "EC_secp384r1"
384
+ # resp.certificate_authority.certificate_authority_configuration.signing_algorithm #=> String, one of "SHA256WITHECDSA", "SHA384WITHECDSA", "SHA512WITHECDSA", "SHA256WITHRSA", "SHA384WITHRSA", "SHA512WITHRSA"
385
+ # resp.certificate_authority.certificate_authority_configuration.subject.country #=> String
386
+ # resp.certificate_authority.certificate_authority_configuration.subject.organization #=> String
387
+ # resp.certificate_authority.certificate_authority_configuration.subject.organizational_unit #=> String
388
+ # resp.certificate_authority.certificate_authority_configuration.subject.distinguished_name_qualifier #=> String
389
+ # resp.certificate_authority.certificate_authority_configuration.subject.state #=> String
390
+ # resp.certificate_authority.certificate_authority_configuration.subject.common_name #=> String
391
+ # resp.certificate_authority.certificate_authority_configuration.subject.serial_number #=> String
392
+ # resp.certificate_authority.certificate_authority_configuration.subject.locality #=> String
393
+ # resp.certificate_authority.certificate_authority_configuration.subject.title #=> String
394
+ # resp.certificate_authority.certificate_authority_configuration.subject.surname #=> String
395
+ # resp.certificate_authority.certificate_authority_configuration.subject.given_name #=> String
396
+ # resp.certificate_authority.certificate_authority_configuration.subject.initials #=> String
397
+ # resp.certificate_authority.certificate_authority_configuration.subject.pseudonym #=> String
398
+ # resp.certificate_authority.certificate_authority_configuration.subject.generation_qualifier #=> String
399
+ # resp.certificate_authority.revocation_configuration.crl_configuration.enabled #=> Boolean
400
+ # resp.certificate_authority.revocation_configuration.crl_configuration.expiration_in_days #=> Integer
401
+ # resp.certificate_authority.revocation_configuration.crl_configuration.custom_cname #=> String
402
+ # resp.certificate_authority.revocation_configuration.crl_configuration.s3_bucket_name #=> String
403
+ #
404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthority AWS API Documentation
405
+ #
406
+ # @overload describe_certificate_authority(params = {})
407
+ # @param [Hash] params ({})
408
+ def describe_certificate_authority(params = {}, options = {})
409
+ req = build_request(:describe_certificate_authority, params)
410
+ req.send_request(options)
411
+ end
412
+
413
+ # Lists information about a specific audit report created by calling the
414
+ # CreateCertificateAuthorityAuditReport function. Audit information is
415
+ # created every time the certificate authority (CA) private key is used.
416
+ # The private key is used when you call the IssueCertificate function or
417
+ # the RevokeCertificate function.
418
+ #
419
+ # @option params [required, String] :certificate_authority_arn
420
+ # The Amazon Resource Name (ARN) of the private CA. This must be of the
421
+ # form:
422
+ #
423
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
424
+ # `.
425
+ #
426
+ # @option params [required, String] :audit_report_id
427
+ # The report ID returned by calling the
428
+ # CreateCertificateAuthorityAuditReport function.
429
+ #
430
+ # @return [Types::DescribeCertificateAuthorityAuditReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
431
+ #
432
+ # * {Types::DescribeCertificateAuthorityAuditReportResponse#audit_report_status #audit_report_status} => String
433
+ # * {Types::DescribeCertificateAuthorityAuditReportResponse#s3_bucket_name #s3_bucket_name} => String
434
+ # * {Types::DescribeCertificateAuthorityAuditReportResponse#s3_key #s3_key} => String
435
+ # * {Types::DescribeCertificateAuthorityAuditReportResponse#created_at #created_at} => Time
436
+ #
437
+ # @example Request syntax with placeholder values
438
+ #
439
+ # resp = client.describe_certificate_authority_audit_report({
440
+ # certificate_authority_arn: "Arn", # required
441
+ # audit_report_id: "AuditReportId", # required
442
+ # })
443
+ #
444
+ # @example Response structure
445
+ #
446
+ # resp.audit_report_status #=> String, one of "CREATING", "SUCCESS", "FAILED"
447
+ # resp.s3_bucket_name #=> String
448
+ # resp.s3_key #=> String
449
+ # resp.created_at #=> Time
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthorityAuditReport AWS API Documentation
452
+ #
453
+ # @overload describe_certificate_authority_audit_report(params = {})
454
+ # @param [Hash] params ({})
455
+ def describe_certificate_authority_audit_report(params = {}, options = {})
456
+ req = build_request(:describe_certificate_authority_audit_report, params)
457
+ req.send_request(options)
458
+ end
459
+
460
+ # Retrieves a certificate from your private CA. The ARN of the
461
+ # certificate is returned when you call the IssueCertificate function.
462
+ # You must specify both the ARN of your private CA and the ARN of the
463
+ # issued certificate when calling the **GetCertificate** function. You
464
+ # can retrieve the certificate if it is in the **ISSUED** state. You can
465
+ # call the CreateCertificateAuthorityAuditReport function to create a
466
+ # report that contains information about all of the certificates issued
467
+ # and revoked by your private CA.
468
+ #
469
+ # @option params [required, String] :certificate_authority_arn
470
+ # The Amazon Resource Name (ARN) that was returned when you called
471
+ # CreateCertificateAuthority. This must be of the form:
472
+ #
473
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
474
+ # `.
475
+ #
476
+ # @option params [required, String] :certificate_arn
477
+ # The ARN of the issued certificate. The ARN contains the certificate
478
+ # serial number and must be in the following form:
479
+ #
480
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245
481
+ # `
482
+ #
483
+ # @return [Types::GetCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
484
+ #
485
+ # * {Types::GetCertificateResponse#certificate #certificate} => String
486
+ # * {Types::GetCertificateResponse#certificate_chain #certificate_chain} => String
487
+ #
488
+ # @example Request syntax with placeholder values
489
+ #
490
+ # resp = client.get_certificate({
491
+ # certificate_authority_arn: "Arn", # required
492
+ # certificate_arn: "Arn", # required
493
+ # })
494
+ #
495
+ # @example Response structure
496
+ #
497
+ # resp.certificate #=> String
498
+ # resp.certificate_chain #=> String
499
+ #
500
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificate AWS API Documentation
501
+ #
502
+ # @overload get_certificate(params = {})
503
+ # @param [Hash] params ({})
504
+ def get_certificate(params = {}, options = {})
505
+ req = build_request(:get_certificate, params)
506
+ req.send_request(options)
507
+ end
508
+
509
+ # Retrieves the certificate and certificate chain for your private
510
+ # certificate authority (CA). Both the certificate and the chain are
511
+ # base64 PEM-encoded. The chain does not include the CA certificate.
512
+ # Each certificate in the chain signs the one before it.
513
+ #
514
+ # @option params [required, String] :certificate_authority_arn
515
+ # The Amazon Resource Name (ARN) of your private CA. This is of the
516
+ # form:
517
+ #
518
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
519
+ # `.
520
+ #
521
+ # @return [Types::GetCertificateAuthorityCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
522
+ #
523
+ # * {Types::GetCertificateAuthorityCertificateResponse#certificate #certificate} => String
524
+ # * {Types::GetCertificateAuthorityCertificateResponse#certificate_chain #certificate_chain} => String
525
+ #
526
+ # @example Request syntax with placeholder values
527
+ #
528
+ # resp = client.get_certificate_authority_certificate({
529
+ # certificate_authority_arn: "Arn", # required
530
+ # })
531
+ #
532
+ # @example Response structure
533
+ #
534
+ # resp.certificate #=> String
535
+ # resp.certificate_chain #=> String
536
+ #
537
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCertificate AWS API Documentation
538
+ #
539
+ # @overload get_certificate_authority_certificate(params = {})
540
+ # @param [Hash] params ({})
541
+ def get_certificate_authority_certificate(params = {}, options = {})
542
+ req = build_request(:get_certificate_authority_certificate, params)
543
+ req.send_request(options)
544
+ end
545
+
546
+ # Retrieves the certificate signing request (CSR) for your private
547
+ # certificate authority (CA). The CSR is created when you call the
548
+ # CreateCertificateAuthority function. Take the CSR to your on-premises
549
+ # X.509 infrastructure and sign it by using your root or a subordinate
550
+ # CA. Then import the signed certificate back into ACM PCA by calling
551
+ # the ImportCertificateAuthorityCertificate function. The CSR is
552
+ # returned as a base64 PEM-encoded string.
553
+ #
554
+ # @option params [required, String] :certificate_authority_arn
555
+ # The Amazon Resource Name (ARN) that was returned when you called the
556
+ # CreateCertificateAuthority function. This must be of the form:
557
+ #
558
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
559
+ # `
560
+ #
561
+ # @return [Types::GetCertificateAuthorityCsrResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
562
+ #
563
+ # * {Types::GetCertificateAuthorityCsrResponse#csr #csr} => String
564
+ #
565
+ # @example Request syntax with placeholder values
566
+ #
567
+ # resp = client.get_certificate_authority_csr({
568
+ # certificate_authority_arn: "Arn", # required
569
+ # })
570
+ #
571
+ # @example Response structure
572
+ #
573
+ # resp.csr #=> String
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCsr AWS API Documentation
576
+ #
577
+ # @overload get_certificate_authority_csr(params = {})
578
+ # @param [Hash] params ({})
579
+ def get_certificate_authority_csr(params = {}, options = {})
580
+ req = build_request(:get_certificate_authority_csr, params)
581
+ req.send_request(options)
582
+ end
583
+
584
+ # Imports your signed private CA certificate into ACM PCA. Before you
585
+ # can call this function, you must create the private certificate
586
+ # authority by calling the CreateCertificateAuthority function. You must
587
+ # then generate a certificate signing request (CSR) by calling the
588
+ # GetCertificateAuthorityCsr function. Take the CSR to your on-premises
589
+ # CA and use the root certificate or a subordinate certificate to sign
590
+ # it. Create a certificate chain and copy the signed certificate and the
591
+ # certificate chain to your working directory.
592
+ #
593
+ # <note markdown="1"> Your certificate chain must not include the private CA certificate
594
+ # that you are importing.
595
+ #
596
+ # </note>
597
+ #
598
+ # <note markdown="1"> Your on-premises CA certificate must be the last certificate in your
599
+ # chain. The subordinate certificate, if any, that your root CA signed
600
+ # must be next to last. The subordinate certificate signed by the
601
+ # preceding subordinate CA must come next, and so on until your chain is
602
+ # built.
603
+ #
604
+ # </note>
605
+ #
606
+ # <note markdown="1"> The chain must be PEM-encoded.
607
+ #
608
+ # </note>
609
+ #
610
+ # @option params [required, String] :certificate_authority_arn
611
+ # The Amazon Resource Name (ARN) that was returned when you called
612
+ # CreateCertificateAuthority. This must be of the form:
613
+ #
614
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
615
+ # `
616
+ #
617
+ # @option params [required, String, IO] :certificate
618
+ # The PEM-encoded certificate for your private CA. This must be signed
619
+ # by using your on-premises CA.
620
+ #
621
+ # @option params [required, String, IO] :certificate_chain
622
+ # A PEM-encoded file that contains all of your certificates, other than
623
+ # the certificate you're importing, chaining up to your root CA. Your
624
+ # on-premises root certificate is the last in the chain, and each
625
+ # certificate in the chain signs the one preceding.
626
+ #
627
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
628
+ #
629
+ # @example Request syntax with placeholder values
630
+ #
631
+ # resp = client.import_certificate_authority_certificate({
632
+ # certificate_authority_arn: "Arn", # required
633
+ # certificate: "data", # required
634
+ # certificate_chain: "data", # required
635
+ # })
636
+ #
637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ImportCertificateAuthorityCertificate AWS API Documentation
638
+ #
639
+ # @overload import_certificate_authority_certificate(params = {})
640
+ # @param [Hash] params ({})
641
+ def import_certificate_authority_certificate(params = {}, options = {})
642
+ req = build_request(:import_certificate_authority_certificate, params)
643
+ req.send_request(options)
644
+ end
645
+
646
+ # Uses your private certificate authority (CA) to issue a client
647
+ # certificate. This function returns the Amazon Resource Name (ARN) of
648
+ # the certificate. You can retrieve the certificate by calling the
649
+ # GetCertificate function and specifying the ARN.
650
+ #
651
+ # <note markdown="1"> You cannot use the ACM **ListCertificateAuthorities** function to
652
+ # retrieve the ARNs of the certificates that you issue by using ACM PCA.
653
+ #
654
+ # </note>
655
+ #
656
+ # @option params [required, String] :certificate_authority_arn
657
+ # The Amazon Resource Name (ARN) that was returned when you called
658
+ # CreateCertificateAuthority. This must be of the form:
659
+ #
660
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
661
+ # `
662
+ #
663
+ # @option params [required, String, IO] :csr
664
+ # The certificate signing request (CSR) for the certificate you want to
665
+ # issue. You can use the following OpenSSL command to create the CSR and
666
+ # a 2048 bit RSA private key.
667
+ #
668
+ # `openssl req -new -newkey rsa:2048 -days 365 -keyout
669
+ # private/test_cert_priv_key.pem -out csr/test_cert_.csr`
670
+ #
671
+ # If you have a configuration file, you can use the following OpenSSL
672
+ # command. The `usr_cert` block in the configuration file contains your
673
+ # X509 version 3 extensions.
674
+ #
675
+ # `openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey
676
+ # rsa:2048 -days -365 -keyout private/test_cert_priv_key.pem -out
677
+ # csr/test_cert_.csr`
678
+ #
679
+ # @option params [required, String] :signing_algorithm
680
+ # The name of the algorithm that will be used to sign the certificate to
681
+ # be issued.
682
+ #
683
+ # @option params [required, Types::Validity] :validity
684
+ # The type of the validity period.
685
+ #
686
+ # @option params [String] :idempotency_token
687
+ # Custom string that can be used to distinguish between calls to the
688
+ # **IssueCertificate** function. Idempotency tokens time out after one
689
+ # hour. Therefore, if you call **IssueCertificate** multiple times with
690
+ # the same idempotency token within 5 minutes, ACM PCA recognizes that
691
+ # you are requesting only one certificate and will issue only one. If
692
+ # you change the idempotency token for each call, PCA recognizes that
693
+ # you are requesting multiple certificates.
694
+ #
695
+ # @return [Types::IssueCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
696
+ #
697
+ # * {Types::IssueCertificateResponse#certificate_arn #certificate_arn} => String
698
+ #
699
+ # @example Request syntax with placeholder values
700
+ #
701
+ # resp = client.issue_certificate({
702
+ # certificate_authority_arn: "Arn", # required
703
+ # csr: "data", # required
704
+ # signing_algorithm: "SHA256WITHECDSA", # required, accepts SHA256WITHECDSA, SHA384WITHECDSA, SHA512WITHECDSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA
705
+ # validity: { # required
706
+ # value: 1, # required
707
+ # type: "END_DATE", # required, accepts END_DATE, ABSOLUTE, DAYS, MONTHS, YEARS
708
+ # },
709
+ # idempotency_token: "IdempotencyToken",
710
+ # })
711
+ #
712
+ # @example Response structure
713
+ #
714
+ # resp.certificate_arn #=> String
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/IssueCertificate AWS API Documentation
717
+ #
718
+ # @overload issue_certificate(params = {})
719
+ # @param [Hash] params ({})
720
+ def issue_certificate(params = {}, options = {})
721
+ req = build_request(:issue_certificate, params)
722
+ req.send_request(options)
723
+ end
724
+
725
+ # Lists the private certificate authorities that you created by using
726
+ # the CreateCertificateAuthority function.
727
+ #
728
+ # @option params [String] :next_token
729
+ # Use this parameter when paginating results in a subsequent request
730
+ # after you receive a response with truncated results. Set it to the
731
+ # value of the `NextToken` parameter from the response you just
732
+ # received.
733
+ #
734
+ # @option params [Integer] :max_results
735
+ # Use this parameter when paginating results to specify the maximum
736
+ # number of items to return in the response on each page. If additional
737
+ # items exist beyond the number you specify, the `NextToken` element is
738
+ # sent in the response. Use this `NextToken` value in a subsequent
739
+ # request to retrieve additional items.
740
+ #
741
+ # @return [Types::ListCertificateAuthoritiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
742
+ #
743
+ # * {Types::ListCertificateAuthoritiesResponse#certificate_authorities #certificate_authorities} => Array&lt;Types::CertificateAuthority&gt;
744
+ # * {Types::ListCertificateAuthoritiesResponse#next_token #next_token} => String
745
+ #
746
+ # @example Request syntax with placeholder values
747
+ #
748
+ # resp = client.list_certificate_authorities({
749
+ # next_token: "NextToken",
750
+ # max_results: 1,
751
+ # })
752
+ #
753
+ # @example Response structure
754
+ #
755
+ # resp.certificate_authorities #=> Array
756
+ # resp.certificate_authorities[0].arn #=> String
757
+ # resp.certificate_authorities[0].created_at #=> Time
758
+ # resp.certificate_authorities[0].last_state_change_at #=> Time
759
+ # resp.certificate_authorities[0].type #=> String, one of "SUBORDINATE"
760
+ # resp.certificate_authorities[0].serial #=> String
761
+ # resp.certificate_authorities[0].status #=> String, one of "CREATING", "PENDING_CERTIFICATE", "ACTIVE", "DISABLED", "EXPIRED", "FAILED"
762
+ # resp.certificate_authorities[0].not_before #=> Time
763
+ # resp.certificate_authorities[0].not_after #=> Time
764
+ # resp.certificate_authorities[0].failure_reason #=> String, one of "REQUEST_TIMED_OUT", "UNSUPPORTED_ALGORITHM", "OTHER"
765
+ # resp.certificate_authorities[0].certificate_authority_configuration.key_algorithm #=> String, one of "RSA_2048", "RSA_4096", "EC_prime256v1", "EC_secp384r1"
766
+ # resp.certificate_authorities[0].certificate_authority_configuration.signing_algorithm #=> String, one of "SHA256WITHECDSA", "SHA384WITHECDSA", "SHA512WITHECDSA", "SHA256WITHRSA", "SHA384WITHRSA", "SHA512WITHRSA"
767
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.country #=> String
768
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.organization #=> String
769
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.organizational_unit #=> String
770
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.distinguished_name_qualifier #=> String
771
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.state #=> String
772
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.common_name #=> String
773
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.serial_number #=> String
774
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.locality #=> String
775
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.title #=> String
776
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.surname #=> String
777
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.given_name #=> String
778
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.initials #=> String
779
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.pseudonym #=> String
780
+ # resp.certificate_authorities[0].certificate_authority_configuration.subject.generation_qualifier #=> String
781
+ # resp.certificate_authorities[0].revocation_configuration.crl_configuration.enabled #=> Boolean
782
+ # resp.certificate_authorities[0].revocation_configuration.crl_configuration.expiration_in_days #=> Integer
783
+ # resp.certificate_authorities[0].revocation_configuration.crl_configuration.custom_cname #=> String
784
+ # resp.certificate_authorities[0].revocation_configuration.crl_configuration.s3_bucket_name #=> String
785
+ # resp.next_token #=> String
786
+ #
787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListCertificateAuthorities AWS API Documentation
788
+ #
789
+ # @overload list_certificate_authorities(params = {})
790
+ # @param [Hash] params ({})
791
+ def list_certificate_authorities(params = {}, options = {})
792
+ req = build_request(:list_certificate_authorities, params)
793
+ req.send_request(options)
794
+ end
795
+
796
+ # Lists the tags, if any, that are associated with your private CA. Tags
797
+ # are labels that you can use to identify and organize your CAs. Each
798
+ # tag consists of a key and an optional value. Call the
799
+ # TagCertificateAuthority function to add one or more tags to your CA.
800
+ # Call the UntagCertificateAuthority function to remove tags.
801
+ #
802
+ # @option params [required, String] :certificate_authority_arn
803
+ # The Amazon Resource Name (ARN) that was returned when you called the
804
+ # CreateCertificateAuthority function. This must be of the form:
805
+ #
806
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
807
+ # `
808
+ #
809
+ # @option params [String] :next_token
810
+ # Use this parameter when paginating results in a subsequent request
811
+ # after you receive a response with truncated results. Set it to the
812
+ # value of **NextToken** from the response you just received.
813
+ #
814
+ # @option params [Integer] :max_results
815
+ # Use this parameter when paginating results to specify the maximum
816
+ # number of items to return in the response. If additional items exist
817
+ # beyond the number you specify, the **NextToken** element is sent in
818
+ # the response. Use this **NextToken** value in a subsequent request to
819
+ # retrieve additional items.
820
+ #
821
+ # @return [Types::ListTagsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
822
+ #
823
+ # * {Types::ListTagsResponse#tags #tags} => Array&lt;Types::Tag&gt;
824
+ # * {Types::ListTagsResponse#next_token #next_token} => String
825
+ #
826
+ # @example Request syntax with placeholder values
827
+ #
828
+ # resp = client.list_tags({
829
+ # certificate_authority_arn: "Arn", # required
830
+ # next_token: "NextToken",
831
+ # max_results: 1,
832
+ # })
833
+ #
834
+ # @example Response structure
835
+ #
836
+ # resp.tags #=> Array
837
+ # resp.tags[0].key #=> String
838
+ # resp.tags[0].value #=> String
839
+ # resp.next_token #=> String
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListTags AWS API Documentation
842
+ #
843
+ # @overload list_tags(params = {})
844
+ # @param [Hash] params ({})
845
+ def list_tags(params = {}, options = {})
846
+ req = build_request(:list_tags, params)
847
+ req.send_request(options)
848
+ end
849
+
850
+ # Revokes a certificate that you issued by calling the IssueCertificate
851
+ # function. If you enable a certificate revocation list (CRL) when you
852
+ # create or update your private CA, information about the revoked
853
+ # certificates will be included in the CRL. ACM PCA writes the CRL to an
854
+ # S3 bucket that you specify. For more information about revocation, see
855
+ # the CrlConfiguration structure. ACM PCA also writes revocation
856
+ # information to the audit report. For more information, see
857
+ # CreateCertificateAuthorityAuditReport.
858
+ #
859
+ # @option params [required, String] :certificate_authority_arn
860
+ # Amazon Resource Name (ARN) of the private CA that issued the
861
+ # certificate to be revoked. This must be of the form:
862
+ #
863
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
864
+ # `
865
+ #
866
+ # @option params [required, String] :certificate_serial
867
+ # Serial number of the certificate to be revoked. This must be in
868
+ # hexadecimal format. You can retrieve the serial number by calling
869
+ # GetCertificate with the Amazon Resource Name (ARN) of the certificate
870
+ # you want and the ARN of your private CA. The **GetCertificate**
871
+ # function retrieves the certificate in the PEM format. You can use the
872
+ # following OpenSSL command to list the certificate in text format and
873
+ # copy the hexadecimal serial number.
874
+ #
875
+ # `openssl x509 -in file_path -text -noout`
876
+ #
877
+ # You can also copy the serial number from the console or use the
878
+ # [DescribeCertificate][1] function in the *AWS Certificate Manager API
879
+ # Reference*.
880
+ #
881
+ #
882
+ #
883
+ # [1]: http://docs.aws.amazon.comacm/latest/APIReferenceAPI_DescribeCertificate.html
884
+ #
885
+ # @option params [required, String] :revocation_reason
886
+ # Specifies why you revoked the certificate.
887
+ #
888
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
889
+ #
890
+ # @example Request syntax with placeholder values
891
+ #
892
+ # resp = client.revoke_certificate({
893
+ # certificate_authority_arn: "Arn", # required
894
+ # certificate_serial: "String128", # required
895
+ # revocation_reason: "UNSPECIFIED", # required, accepts UNSPECIFIED, KEY_COMPROMISE, CERTIFICATE_AUTHORITY_COMPROMISE, AFFILIATION_CHANGED, SUPERSEDED, CESSATION_OF_OPERATION, PRIVILEGE_WITHDRAWN, A_A_COMPROMISE
896
+ # })
897
+ #
898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/RevokeCertificate AWS API Documentation
899
+ #
900
+ # @overload revoke_certificate(params = {})
901
+ # @param [Hash] params ({})
902
+ def revoke_certificate(params = {}, options = {})
903
+ req = build_request(:revoke_certificate, params)
904
+ req.send_request(options)
905
+ end
906
+
907
+ # Adds one or more tags to your private CA. Tags are labels that you can
908
+ # use to identify and organize your AWS resources. Each tag consists of
909
+ # a key and an optional value. You specify the private CA on input by
910
+ # its Amazon Resource Name (ARN). You specify the tag by using a
911
+ # key-value pair. You can apply a tag to just one private CA if you want
912
+ # to identify a specific characteristic of that CA, or you can apply the
913
+ # same tag to multiple private CAs if you want to filter for a common
914
+ # relationship among those CAs. To remove one or more tags, use the
915
+ # UntagCertificateAuthority function. Call the ListTags function to see
916
+ # what tags are associated with your CA.
917
+ #
918
+ # @option params [required, String] :certificate_authority_arn
919
+ # The Amazon Resource Name (ARN) that was returned when you called
920
+ # CreateCertificateAuthority. This must be of the form:
921
+ #
922
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
923
+ # `
924
+ #
925
+ # @option params [required, Array<Types::Tag>] :tags
926
+ # List of tags to be associated with the CA.
927
+ #
928
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
929
+ #
930
+ # @example Request syntax with placeholder values
931
+ #
932
+ # resp = client.tag_certificate_authority({
933
+ # certificate_authority_arn: "Arn", # required
934
+ # tags: [ # required
935
+ # {
936
+ # key: "TagKey", # required
937
+ # value: "TagValue",
938
+ # },
939
+ # ],
940
+ # })
941
+ #
942
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/TagCertificateAuthority AWS API Documentation
943
+ #
944
+ # @overload tag_certificate_authority(params = {})
945
+ # @param [Hash] params ({})
946
+ def tag_certificate_authority(params = {}, options = {})
947
+ req = build_request(:tag_certificate_authority, params)
948
+ req.send_request(options)
949
+ end
950
+
951
+ # Remove one or more tags from your private CA. A tag consists of a
952
+ # key-value pair. If you do not specify the value portion of the tag
953
+ # when calling this function, the tag will be removed regardless of
954
+ # value. If you specify a value, the tag is removed only if it is
955
+ # associated with the specified value. To add tags to a private CA, use
956
+ # the TagCertificateAuthority. Call the ListTags function to see what
957
+ # tags are associated with your CA.
958
+ #
959
+ # @option params [required, String] :certificate_authority_arn
960
+ # The Amazon Resource Name (ARN) that was returned when you called
961
+ # CreateCertificateAuthority. This must be of the form:
962
+ #
963
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
964
+ # `
965
+ #
966
+ # @option params [required, Array<Types::Tag>] :tags
967
+ # List of tags to be removed from the CA.
968
+ #
969
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
970
+ #
971
+ # @example Request syntax with placeholder values
972
+ #
973
+ # resp = client.untag_certificate_authority({
974
+ # certificate_authority_arn: "Arn", # required
975
+ # tags: [ # required
976
+ # {
977
+ # key: "TagKey", # required
978
+ # value: "TagValue",
979
+ # },
980
+ # ],
981
+ # })
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UntagCertificateAuthority AWS API Documentation
984
+ #
985
+ # @overload untag_certificate_authority(params = {})
986
+ # @param [Hash] params ({})
987
+ def untag_certificate_authority(params = {}, options = {})
988
+ req = build_request(:untag_certificate_authority, params)
989
+ req.send_request(options)
990
+ end
991
+
992
+ # Updates the status or configuration of a private certificate authority
993
+ # (CA). Your private CA must be in the <b> <code>ACTIVE</code> </b> or
994
+ # <b> <code>DISABLED</code> </b> state before you can update it. You can
995
+ # disable a private CA that is in the <b> <code>ACTIVE</code> </b> state
996
+ # or make a CA that is in the <b> <code>DISABLED</code> </b> state
997
+ # active again.
998
+ #
999
+ # @option params [required, String] :certificate_authority_arn
1000
+ # Amazon Resource Name (ARN) of the private CA that issued the
1001
+ # certificate to be revoked. This must be of the form:
1002
+ #
1003
+ # `arn:aws:acm:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
1004
+ # `
1005
+ #
1006
+ # @option params [Types::RevocationConfiguration] :revocation_configuration
1007
+ # Revocation information for your private CA.
1008
+ #
1009
+ # @option params [String] :status
1010
+ # Status of your private CA.
1011
+ #
1012
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1013
+ #
1014
+ # @example Request syntax with placeholder values
1015
+ #
1016
+ # resp = client.update_certificate_authority({
1017
+ # certificate_authority_arn: "Arn", # required
1018
+ # revocation_configuration: {
1019
+ # crl_configuration: {
1020
+ # enabled: false, # required
1021
+ # expiration_in_days: 1,
1022
+ # custom_cname: "String253",
1023
+ # s3_bucket_name: "String3To255",
1024
+ # },
1025
+ # },
1026
+ # status: "CREATING", # accepts CREATING, PENDING_CERTIFICATE, ACTIVE, DISABLED, EXPIRED, FAILED
1027
+ # })
1028
+ #
1029
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UpdateCertificateAuthority AWS API Documentation
1030
+ #
1031
+ # @overload update_certificate_authority(params = {})
1032
+ # @param [Hash] params ({})
1033
+ def update_certificate_authority(params = {}, options = {})
1034
+ req = build_request(:update_certificate_authority, params)
1035
+ req.send_request(options)
1036
+ end
1037
+
1038
+ # @!endgroup
1039
+
1040
+ # @param params ({})
1041
+ # @api private
1042
+ def build_request(operation_name, params = {})
1043
+ handlers = @handlers.for(operation_name)
1044
+ context = Seahorse::Client::RequestContext.new(
1045
+ operation_name: operation_name,
1046
+ operation: config.api.operation(operation_name),
1047
+ client: self,
1048
+ params: params,
1049
+ config: config)
1050
+ context[:gem_name] = 'aws-sdk-acmpca'
1051
+ context[:gem_version] = '1.0.0'
1052
+ Seahorse::Client::Request.new(handlers, context)
1053
+ end
1054
+
1055
+ # @api private
1056
+ # @deprecated
1057
+ def waiter_names
1058
+ []
1059
+ end
1060
+
1061
+ class << self
1062
+
1063
+ # @api private
1064
+ attr_reader :identifier
1065
+
1066
+ # @api private
1067
+ def errors_module
1068
+ Errors
1069
+ end
1070
+
1071
+ end
1072
+ end
1073
+ end