aws-sdk-acmpca 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 255f8255e48189e6258183211e654045ea9ae59d
4
- data.tar.gz: 699c3b342362cb50e5d20c14636302ac9d0a1bb1
3
+ metadata.gz: 2caca51db3b49877b410170d10a09e8771fd25e7
4
+ data.tar.gz: 680a3f0d764147f42019a04aedd9a325fc4980c9
5
5
  SHA512:
6
- metadata.gz: 5d533489e002c4599f3366ac7beb47c03173c07684bd418aad4331e7daf88a5888484d8807b37af2aa9b1c96d3743726380be3b3914fbcec1472862495a69660
7
- data.tar.gz: 99693219dfb7fb577d9af9f6c595af088cc803c8d369df5bbcdde506fd71903a30c903975bb913430d6feb47eeb52ba9c75ccddea191934d1011bd4e564bc3ea
6
+ metadata.gz: a91d14a29e13387387937a46f8211d83b427de04852566e5e91110ee221161e9784d22475d13900188b6649137b90f4a29de476e9e85ddbbc93c5f0a7d121ab1
7
+ data.tar.gz: f840e4f8e3a49fccfb1383f0dba93ace0c1c9a3923590bbc29b0073373a2a1d64fbcad36b8dd04d0fc9493a45736ec67fe862a0044200132952d2854fe6c8089
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-acmpca/customizations'
43
43
  # @service
44
44
  module Aws::ACMPCA
45
45
 
46
- GEM_VERSION = '1.9.0'
46
+ GEM_VERSION = '1.10.0'
47
47
 
48
48
  end
@@ -315,25 +315,24 @@ module Aws::ACMPCA
315
315
  req.send_request(options)
316
316
  end
317
317
 
318
- # Creates an audit report that lists every time that the your CA private
319
- # key is used. The report is saved in the Amazon S3 bucket that you
320
- # specify on input. The IssueCertificate and RevokeCertificate
321
- # operations use the private key. You can generate a new report every 30
322
- # minutes.
318
+ # Creates an audit report that lists every time that your CA private key
319
+ # is used. The report is saved in the Amazon S3 bucket that you specify
320
+ # on input. The IssueCertificate and RevokeCertificate operations use
321
+ # the private key. You can generate a new report every 30 minutes.
323
322
  #
324
323
  # @option params [required, String] :certificate_authority_arn
325
- # Amazon Resource Name (ARN) of the CA to be audited. This is of the
324
+ # The Amazon Resource Name (ARN) of the CA to be audited. This is of the
326
325
  # form:
327
326
  #
328
327
  # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
329
328
  # `.
330
329
  #
331
330
  # @option params [required, String] :s3_bucket_name
332
- # Name of the S3 bucket that will contain the audit report.
331
+ # The name of the S3 bucket that will contain the audit report.
333
332
  #
334
333
  # @option params [required, String] :audit_report_response_format
335
- # Format in which to create the report. This can be either **JSON** or
336
- # **CSV**.
334
+ # The format in which to create the report. This can be either **JSON**
335
+ # or **CSV**.
337
336
  #
338
337
  # @return [Types::CreateCertificateAuthorityAuditReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
339
338
  #
@@ -362,6 +361,58 @@ module Aws::ACMPCA
362
361
  req.send_request(options)
363
362
  end
364
363
 
364
+ # Assigns permissions from a private CA to a designated AWS service.
365
+ # Services are specified by their service principals and can be given
366
+ # permission to create and retrieve certificates on a private CA.
367
+ # Services can also be given permission to list the active permissions
368
+ # that the private CA has granted. For ACM to automatically renew your
369
+ # private CA's certificates, you must assign all possible permissions
370
+ # from the CA to the ACM service principal.
371
+ #
372
+ # At this time, you can only assign permissions to ACM
373
+ # (`acm.amazonaws.com`). Permissions can be revoked with the
374
+ # DeletePermission operation and listed with the ListPermissions
375
+ # operation.
376
+ #
377
+ # @option params [required, String] :certificate_authority_arn
378
+ # The Amazon Resource Name (ARN) of the CA that grants the permissions.
379
+ # You can find the ARN by calling the ListCertificateAuthorities
380
+ # operation. This must have the following form:
381
+ #
382
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
383
+ # `.
384
+ #
385
+ # @option params [required, String] :principal
386
+ # The AWS service or identity that receives the permission. At this
387
+ # time, the only valid principal is `acm.amazonaws.com`.
388
+ #
389
+ # @option params [String] :source_account
390
+ # The ID of the calling account.
391
+ #
392
+ # @option params [required, Array<String>] :actions
393
+ # The actions that the specified AWS service principal can use. These
394
+ # include `IssueCertificate`, `GetCertificate`, and `ListPermissions`.
395
+ #
396
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
397
+ #
398
+ # @example Request syntax with placeholder values
399
+ #
400
+ # resp = client.create_permission({
401
+ # certificate_authority_arn: "Arn", # required
402
+ # principal: "Principal", # required
403
+ # source_account: "AccountId",
404
+ # actions: ["IssueCertificate"], # required, accepts IssueCertificate, GetCertificate, ListPermissions
405
+ # })
406
+ #
407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreatePermission AWS API Documentation
408
+ #
409
+ # @overload create_permission(params = {})
410
+ # @param [Hash] params ({})
411
+ def create_permission(params = {}, options = {})
412
+ req = build_request(:create_permission, params)
413
+ req.send_request(options)
414
+ end
415
+
365
416
  # Deletes a private certificate authority (CA). You must provide the ARN
366
417
  # (Amazon Resource Name) of the private CA that you want to delete. You
367
418
  # can find the ARN by calling the ListCertificateAuthorities operation.
@@ -375,15 +426,15 @@ module Aws::ACMPCA
375
426
  # haven't yet imported the signed certificate (the **Status** is
376
427
  # `PENDING_CERTIFICATE`) into ACM PCA.
377
428
  #
378
- # If the CA is in one of the aforementioned states and you call
429
+ # If the CA is in one of the previously mentioned states and you call
379
430
  # DeleteCertificateAuthority, the CA's status changes to `DELETED`.
380
- # However, the CA won't be permentantly deleted until the restoration
431
+ # However, the CA won't be permanently deleted until the restoration
381
432
  # period has passed. By default, if you do not set the
382
433
  # `PermanentDeletionTimeInDays` parameter, the CA remains restorable for
383
434
  # 30 days. You can set the parameter from 7 to 30 days. The
384
435
  # DescribeCertificateAuthority operation returns the time remaining in
385
436
  # the restoration window of a Private CA in the `DELETED` state. To
386
- # restore an eligable CA, call the RestoreCertificateAuthority
437
+ # restore an eligible CA, call the RestoreCertificateAuthority
387
438
  # operation.
388
439
  #
389
440
  # @option params [required, String] :certificate_authority_arn
@@ -415,6 +466,45 @@ module Aws::ACMPCA
415
466
  req.send_request(options)
416
467
  end
417
468
 
469
+ # Revokes permissions that a private CA assigned to a designated AWS
470
+ # service. Permissions can be created with the CreatePermission
471
+ # operation and listed with the ListPermissions operation.
472
+ #
473
+ # @option params [required, String] :certificate_authority_arn
474
+ # The Amazon Resource Number (ARN) of the private CA that issued the
475
+ # permissions. You can find the CA's ARN by calling the
476
+ # ListCertificateAuthorities operation. This must have the following
477
+ # form:
478
+ #
479
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
480
+ # `.
481
+ #
482
+ # @option params [required, String] :principal
483
+ # The AWS service or identity that will have its CA permissions revoked.
484
+ # At this time, the only valid service principal is `acm.amazonaws.com`
485
+ #
486
+ # @option params [String] :source_account
487
+ # The AWS account that calls this operation.
488
+ #
489
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
490
+ #
491
+ # @example Request syntax with placeholder values
492
+ #
493
+ # resp = client.delete_permission({
494
+ # certificate_authority_arn: "Arn", # required
495
+ # principal: "Principal", # required
496
+ # source_account: "AccountId",
497
+ # })
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePermission AWS API Documentation
500
+ #
501
+ # @overload delete_permission(params = {})
502
+ # @param [Hash] params ({})
503
+ def delete_permission(params = {}, options = {})
504
+ req = build_request(:delete_permission, params)
505
+ req.send_request(options)
506
+ end
507
+
418
508
  # Lists information about your private certificate authority (CA). You
419
509
  # specify the private CA on input by its ARN (Amazon Resource Name). The
420
510
  # output contains the status of your CA. This can be any of the
@@ -885,6 +975,64 @@ module Aws::ACMPCA
885
975
  req.send_request(options)
886
976
  end
887
977
 
978
+ # Lists all the permissions, if any, that have been assigned by a
979
+ # private CA. Permissions can be granted with the CreatePermission
980
+ # operation and revoked with the DeletePermission operation.
981
+ #
982
+ # @option params [required, String] :certificate_authority_arn
983
+ # The Amazon Resource Number (ARN) of the private CA to inspect. You can
984
+ # find the ARN by calling the ListCertificateAuthorities operation. This
985
+ # must be of the form:
986
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012`
987
+ # You can get a private CA's ARN by running the
988
+ # ListCertificateAuthorities operation.
989
+ #
990
+ # @option params [String] :next_token
991
+ # When paginating results, use this parameter in a subsequent request
992
+ # after you receive a response with truncated results. Set it to the
993
+ # value of **NextToken** from the response you just received.
994
+ #
995
+ # @option params [Integer] :max_results
996
+ # When paginating results, use this parameter to specify the maximum
997
+ # number of items to return in the response. If additional items exist
998
+ # beyond the number you specify, the **NextToken** element is sent in
999
+ # the response. Use this **NextToken** value in a subsequent request to
1000
+ # retrieve additional items.
1001
+ #
1002
+ # @return [Types::ListPermissionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1003
+ #
1004
+ # * {Types::ListPermissionsResponse#permissions #permissions} => Array&lt;Types::Permission&gt;
1005
+ # * {Types::ListPermissionsResponse#next_token #next_token} => String
1006
+ #
1007
+ # @example Request syntax with placeholder values
1008
+ #
1009
+ # resp = client.list_permissions({
1010
+ # certificate_authority_arn: "Arn", # required
1011
+ # next_token: "NextToken",
1012
+ # max_results: 1,
1013
+ # })
1014
+ #
1015
+ # @example Response structure
1016
+ #
1017
+ # resp.permissions #=> Array
1018
+ # resp.permissions[0].certificate_authority_arn #=> String
1019
+ # resp.permissions[0].created_at #=> Time
1020
+ # resp.permissions[0].principal #=> String
1021
+ # resp.permissions[0].source_account #=> String
1022
+ # resp.permissions[0].actions #=> Array
1023
+ # resp.permissions[0].actions[0] #=> String, one of "IssueCertificate", "GetCertificate", "ListPermissions"
1024
+ # resp.permissions[0].policy #=> String
1025
+ # resp.next_token #=> String
1026
+ #
1027
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListPermissions AWS API Documentation
1028
+ #
1029
+ # @overload list_permissions(params = {})
1030
+ # @param [Hash] params ({})
1031
+ def list_permissions(params = {}, options = {})
1032
+ req = build_request(:list_permissions, params)
1033
+ req.send_request(options)
1034
+ end
1035
+
888
1036
  # Lists the tags, if any, that are associated with your private CA. Tags
889
1037
  # are labels that you can use to identify and organize your CAs. Each
890
1038
  # tag consists of a key and an optional value. Call the
@@ -1181,7 +1329,7 @@ module Aws::ACMPCA
1181
1329
  params: params,
1182
1330
  config: config)
1183
1331
  context[:gem_name] = 'aws-sdk-acmpca'
1184
- context[:gem_version] = '1.9.0'
1332
+ context[:gem_version] = '1.10.0'
1185
1333
  Seahorse::Client::Request.new(handlers, context)
1186
1334
  end
1187
1335
 
@@ -12,6 +12,9 @@ module Aws::ACMPCA
12
12
  include Seahorse::Model
13
13
 
14
14
  ASN1Subject = Shapes::StructureShape.new(name: 'ASN1Subject')
15
+ AccountId = Shapes::StringShape.new(name: 'AccountId')
16
+ ActionList = Shapes::ListShape.new(name: 'ActionList')
17
+ ActionType = Shapes::StringShape.new(name: 'ActionType')
15
18
  Arn = Shapes::StringShape.new(name: 'Arn')
16
19
  AuditReportId = Shapes::StringShape.new(name: 'AuditReportId')
17
20
  AuditReportResponseFormat = Shapes::StringShape.new(name: 'AuditReportResponseFormat')
@@ -33,10 +36,12 @@ module Aws::ACMPCA
33
36
  CreateCertificateAuthorityAuditReportResponse = Shapes::StructureShape.new(name: 'CreateCertificateAuthorityAuditReportResponse')
34
37
  CreateCertificateAuthorityRequest = Shapes::StructureShape.new(name: 'CreateCertificateAuthorityRequest')
35
38
  CreateCertificateAuthorityResponse = Shapes::StructureShape.new(name: 'CreateCertificateAuthorityResponse')
39
+ CreatePermissionRequest = Shapes::StructureShape.new(name: 'CreatePermissionRequest')
36
40
  CrlConfiguration = Shapes::StructureShape.new(name: 'CrlConfiguration')
37
41
  CsrBlob = Shapes::BlobShape.new(name: 'CsrBlob')
38
42
  CsrBody = Shapes::StringShape.new(name: 'CsrBody')
39
43
  DeleteCertificateAuthorityRequest = Shapes::StructureShape.new(name: 'DeleteCertificateAuthorityRequest')
44
+ DeletePermissionRequest = Shapes::StructureShape.new(name: 'DeletePermissionRequest')
40
45
  DescribeCertificateAuthorityAuditReportRequest = Shapes::StructureShape.new(name: 'DescribeCertificateAuthorityAuditReportRequest')
41
46
  DescribeCertificateAuthorityAuditReportResponse = Shapes::StructureShape.new(name: 'DescribeCertificateAuthorityAuditReportResponse')
42
47
  DescribeCertificateAuthorityRequest = Shapes::StructureShape.new(name: 'DescribeCertificateAuthorityRequest')
@@ -64,6 +69,8 @@ module Aws::ACMPCA
64
69
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
65
70
  ListCertificateAuthoritiesRequest = Shapes::StructureShape.new(name: 'ListCertificateAuthoritiesRequest')
66
71
  ListCertificateAuthoritiesResponse = Shapes::StructureShape.new(name: 'ListCertificateAuthoritiesResponse')
72
+ ListPermissionsRequest = Shapes::StructureShape.new(name: 'ListPermissionsRequest')
73
+ ListPermissionsResponse = Shapes::StructureShape.new(name: 'ListPermissionsResponse')
67
74
  ListTagsRequest = Shapes::StructureShape.new(name: 'ListTagsRequest')
68
75
  ListTagsResponse = Shapes::StructureShape.new(name: 'ListTagsResponse')
69
76
  MalformedCSRException = Shapes::StructureShape.new(name: 'MalformedCSRException')
@@ -71,7 +78,11 @@ module Aws::ACMPCA
71
78
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
72
79
  NextToken = Shapes::StringShape.new(name: 'NextToken')
73
80
  PermanentDeletionTimeInDays = Shapes::IntegerShape.new(name: 'PermanentDeletionTimeInDays')
81
+ Permission = Shapes::StructureShape.new(name: 'Permission')
82
+ PermissionAlreadyExistsException = Shapes::StructureShape.new(name: 'PermissionAlreadyExistsException')
83
+ PermissionList = Shapes::ListShape.new(name: 'PermissionList')
74
84
  PositiveLong = Shapes::IntegerShape.new(name: 'PositiveLong')
85
+ Principal = Shapes::StringShape.new(name: 'Principal')
75
86
  RequestAlreadyProcessedException = Shapes::StructureShape.new(name: 'RequestAlreadyProcessedException')
76
87
  RequestFailedException = Shapes::StructureShape.new(name: 'RequestFailedException')
77
88
  RequestInProgressException = Shapes::StructureShape.new(name: 'RequestInProgressException')
@@ -118,6 +129,8 @@ module Aws::ACMPCA
118
129
  ASN1Subject.add_member(:generation_qualifier, Shapes::ShapeRef.new(shape: String3, location_name: "GenerationQualifier"))
119
130
  ASN1Subject.struct_class = Types::ASN1Subject
120
131
 
132
+ ActionList.member = Shapes::ShapeRef.new(shape: ActionType)
133
+
121
134
  CertificateAuthorities.member = Shapes::ShapeRef.new(shape: CertificateAuthority)
122
135
 
123
136
  CertificateAuthority.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
@@ -158,6 +171,12 @@ module Aws::ACMPCA
158
171
  CreateCertificateAuthorityResponse.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "CertificateAuthorityArn"))
159
172
  CreateCertificateAuthorityResponse.struct_class = Types::CreateCertificateAuthorityResponse
160
173
 
174
+ CreatePermissionRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
175
+ CreatePermissionRequest.add_member(:principal, Shapes::ShapeRef.new(shape: Principal, required: true, location_name: "Principal"))
176
+ CreatePermissionRequest.add_member(:source_account, Shapes::ShapeRef.new(shape: AccountId, location_name: "SourceAccount"))
177
+ CreatePermissionRequest.add_member(:actions, Shapes::ShapeRef.new(shape: ActionList, required: true, location_name: "Actions"))
178
+ CreatePermissionRequest.struct_class = Types::CreatePermissionRequest
179
+
161
180
  CrlConfiguration.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "Enabled", metadata: {"box"=>true}))
162
181
  CrlConfiguration.add_member(:expiration_in_days, Shapes::ShapeRef.new(shape: Integer1To5000, location_name: "ExpirationInDays", metadata: {"box"=>true}))
163
182
  CrlConfiguration.add_member(:custom_cname, Shapes::ShapeRef.new(shape: String253, location_name: "CustomCname"))
@@ -168,6 +187,11 @@ module Aws::ACMPCA
168
187
  DeleteCertificateAuthorityRequest.add_member(:permanent_deletion_time_in_days, Shapes::ShapeRef.new(shape: PermanentDeletionTimeInDays, location_name: "PermanentDeletionTimeInDays"))
169
188
  DeleteCertificateAuthorityRequest.struct_class = Types::DeleteCertificateAuthorityRequest
170
189
 
190
+ DeletePermissionRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
191
+ DeletePermissionRequest.add_member(:principal, Shapes::ShapeRef.new(shape: Principal, required: true, location_name: "Principal"))
192
+ DeletePermissionRequest.add_member(:source_account, Shapes::ShapeRef.new(shape: AccountId, location_name: "SourceAccount"))
193
+ DeletePermissionRequest.struct_class = Types::DeletePermissionRequest
194
+
171
195
  DescribeCertificateAuthorityAuditReportRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
172
196
  DescribeCertificateAuthorityAuditReportRequest.add_member(:audit_report_id, Shapes::ShapeRef.new(shape: AuditReportId, required: true, location_name: "AuditReportId"))
173
197
  DescribeCertificateAuthorityAuditReportRequest.struct_class = Types::DescribeCertificateAuthorityAuditReportRequest
@@ -228,6 +252,15 @@ module Aws::ACMPCA
228
252
  ListCertificateAuthoritiesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
229
253
  ListCertificateAuthoritiesResponse.struct_class = Types::ListCertificateAuthoritiesResponse
230
254
 
255
+ ListPermissionsRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
256
+ ListPermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
257
+ ListPermissionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
258
+ ListPermissionsRequest.struct_class = Types::ListPermissionsRequest
259
+
260
+ ListPermissionsResponse.add_member(:permissions, Shapes::ShapeRef.new(shape: PermissionList, location_name: "Permissions"))
261
+ ListPermissionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
262
+ ListPermissionsResponse.struct_class = Types::ListPermissionsResponse
263
+
231
264
  ListTagsRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
232
265
  ListTagsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
233
266
  ListTagsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
@@ -237,6 +270,16 @@ module Aws::ACMPCA
237
270
  ListTagsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
238
271
  ListTagsResponse.struct_class = Types::ListTagsResponse
239
272
 
273
+ Permission.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "CertificateAuthorityArn"))
274
+ Permission.add_member(:created_at, Shapes::ShapeRef.new(shape: TStamp, location_name: "CreatedAt"))
275
+ Permission.add_member(:principal, Shapes::ShapeRef.new(shape: String, location_name: "Principal"))
276
+ Permission.add_member(:source_account, Shapes::ShapeRef.new(shape: String, location_name: "SourceAccount"))
277
+ Permission.add_member(:actions, Shapes::ShapeRef.new(shape: ActionList, location_name: "Actions"))
278
+ Permission.add_member(:policy, Shapes::ShapeRef.new(shape: String, location_name: "Policy"))
279
+ Permission.struct_class = Types::Permission
280
+
281
+ PermissionList.member = Shapes::ShapeRef.new(shape: Permission)
282
+
240
283
  RestoreCertificateAuthorityRequest.add_member(:certificate_authority_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CertificateAuthorityArn"))
241
284
  RestoreCertificateAuthorityRequest.struct_class = Types::RestoreCertificateAuthorityRequest
242
285
 
@@ -316,6 +359,20 @@ module Aws::ACMPCA
316
359
  o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
317
360
  end)
318
361
 
362
+ api.add_operation(:create_permission, Seahorse::Model::Operation.new.tap do |o|
363
+ o.name = "CreatePermission"
364
+ o.http_method = "POST"
365
+ o.http_request_uri = "/"
366
+ o.input = Shapes::ShapeRef.new(shape: CreatePermissionRequest)
367
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
368
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
369
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
370
+ o.errors << Shapes::ShapeRef.new(shape: PermissionAlreadyExistsException)
371
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
372
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
373
+ o.errors << Shapes::ShapeRef.new(shape: RequestFailedException)
374
+ end)
375
+
319
376
  api.add_operation(:delete_certificate_authority, Seahorse::Model::Operation.new.tap do |o|
320
377
  o.name = "DeleteCertificateAuthority"
321
378
  o.http_method = "POST"
@@ -328,6 +385,18 @@ module Aws::ACMPCA
328
385
  o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
329
386
  end)
330
387
 
388
+ api.add_operation(:delete_permission, Seahorse::Model::Operation.new.tap do |o|
389
+ o.name = "DeletePermission"
390
+ o.http_method = "POST"
391
+ o.http_request_uri = "/"
392
+ o.input = Shapes::ShapeRef.new(shape: DeletePermissionRequest)
393
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
394
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
395
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
396
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
397
+ o.errors << Shapes::ShapeRef.new(shape: RequestFailedException)
398
+ end)
399
+
331
400
  api.add_operation(:describe_certificate_authority, Seahorse::Model::Operation.new.tap do |o|
332
401
  o.name = "DescribeCertificateAuthority"
333
402
  o.http_method = "POST"
@@ -431,6 +500,25 @@ module Aws::ACMPCA
431
500
  )
432
501
  end)
433
502
 
503
+ api.add_operation(:list_permissions, Seahorse::Model::Operation.new.tap do |o|
504
+ o.name = "ListPermissions"
505
+ o.http_method = "POST"
506
+ o.http_request_uri = "/"
507
+ o.input = Shapes::ShapeRef.new(shape: ListPermissionsRequest)
508
+ o.output = Shapes::ShapeRef.new(shape: ListPermissionsResponse)
509
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
510
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
511
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
512
+ o.errors << Shapes::ShapeRef.new(shape: InvalidStateException)
513
+ o.errors << Shapes::ShapeRef.new(shape: RequestFailedException)
514
+ o[:pager] = Aws::Pager.new(
515
+ limit_key: "max_results",
516
+ tokens: {
517
+ "next_token" => "next_token"
518
+ }
519
+ )
520
+ end)
521
+
434
522
  api.add_operation(:list_tags, Seahorse::Model::Operation.new.tap do |o|
435
523
  o.name = "ListTags"
436
524
  o.http_method = "POST"
@@ -439,6 +527,12 @@ module Aws::ACMPCA
439
527
  o.output = Shapes::ShapeRef.new(shape: ListTagsResponse)
440
528
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
441
529
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
530
+ o[:pager] = Aws::Pager.new(
531
+ limit_key: "max_results",
532
+ tokens: {
533
+ "next_token" => "next_token"
534
+ }
535
+ )
442
536
  end)
443
537
 
444
538
  api.add_operation(:restore_certificate_authority, Seahorse::Model::Operation.new.tap do |o|
@@ -213,10 +213,10 @@ module Aws::ACMPCA
213
213
  # Contains configuration information for your private certificate
214
214
  # authority (CA). This includes information about the class of public
215
215
  # key algorithm and the key pair that your private CA creates when it
216
- # issues a certificate, the signature algorithm it uses used when
217
- # issuing certificates, and its X.500 distinguished name. You must
218
- # specify this information when you call the CreateCertificateAuthority
219
- # operation.
216
+ # issues a certificate. It also includes the signature algorithm that it
217
+ # uses when issuing certificates, and its X.500 distinguished name. You
218
+ # must specify this information when you call the
219
+ # CreateCertificateAuthority operation.
220
220
  #
221
221
  # @note When making an API call, you may pass CertificateAuthorityConfiguration
222
222
  # data as a hash:
@@ -276,20 +276,20 @@ module Aws::ACMPCA
276
276
  # }
277
277
  #
278
278
  # @!attribute [rw] certificate_authority_arn
279
- # Amazon Resource Name (ARN) of the CA to be audited. This is of the
280
- # form:
279
+ # The Amazon Resource Name (ARN) of the CA to be audited. This is of
280
+ # the form:
281
281
  #
282
282
  # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
283
283
  # `.
284
284
  # @return [String]
285
285
  #
286
286
  # @!attribute [rw] s3_bucket_name
287
- # Name of the S3 bucket that will contain the audit report.
287
+ # The name of the S3 bucket that will contain the audit report.
288
288
  # @return [String]
289
289
  #
290
290
  # @!attribute [rw] audit_report_response_format
291
- # Format in which to create the report. This can be either **JSON** or
292
- # **CSV**.
291
+ # The format in which to create the report. This can be either
292
+ # **JSON** or **CSV**.
293
293
  # @return [String]
294
294
  #
295
295
  # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReportRequest AWS API Documentation
@@ -421,6 +421,50 @@ module Aws::ACMPCA
421
421
  include Aws::Structure
422
422
  end
423
423
 
424
+ # @note When making an API call, you may pass CreatePermissionRequest
425
+ # data as a hash:
426
+ #
427
+ # {
428
+ # certificate_authority_arn: "Arn", # required
429
+ # principal: "Principal", # required
430
+ # source_account: "AccountId",
431
+ # actions: ["IssueCertificate"], # required, accepts IssueCertificate, GetCertificate, ListPermissions
432
+ # }
433
+ #
434
+ # @!attribute [rw] certificate_authority_arn
435
+ # The Amazon Resource Name (ARN) of the CA that grants the
436
+ # permissions. You can find the ARN by calling the
437
+ # ListCertificateAuthorities operation. This must have the following
438
+ # form:
439
+ #
440
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
441
+ # `.
442
+ # @return [String]
443
+ #
444
+ # @!attribute [rw] principal
445
+ # The AWS service or identity that receives the permission. At this
446
+ # time, the only valid principal is `acm.amazonaws.com`.
447
+ # @return [String]
448
+ #
449
+ # @!attribute [rw] source_account
450
+ # The ID of the calling account.
451
+ # @return [String]
452
+ #
453
+ # @!attribute [rw] actions
454
+ # The actions that the specified AWS service principal can use. These
455
+ # include `IssueCertificate`, `GetCertificate`, and `ListPermissions`.
456
+ # @return [Array<String>]
457
+ #
458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreatePermissionRequest AWS API Documentation
459
+ #
460
+ class CreatePermissionRequest < Struct.new(
461
+ :certificate_authority_arn,
462
+ :principal,
463
+ :source_account,
464
+ :actions)
465
+ include Aws::Structure
466
+ end
467
+
424
468
  # Contains configuration information for a certificate revocation list
425
469
  # (CRL). Your private certificate authority (CA) creates base CRLs.
426
470
  # Delta CRLs are not supported. You can enable CRLs for your new or an
@@ -564,6 +608,44 @@ module Aws::ACMPCA
564
608
  include Aws::Structure
565
609
  end
566
610
 
611
+ # @note When making an API call, you may pass DeletePermissionRequest
612
+ # data as a hash:
613
+ #
614
+ # {
615
+ # certificate_authority_arn: "Arn", # required
616
+ # principal: "Principal", # required
617
+ # source_account: "AccountId",
618
+ # }
619
+ #
620
+ # @!attribute [rw] certificate_authority_arn
621
+ # The Amazon Resource Number (ARN) of the private CA that issued the
622
+ # permissions. You can find the CA's ARN by calling the
623
+ # ListCertificateAuthorities operation. This must have the following
624
+ # form:
625
+ #
626
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
627
+ # `.
628
+ # @return [String]
629
+ #
630
+ # @!attribute [rw] principal
631
+ # The AWS service or identity that will have its CA permissions
632
+ # revoked. At this time, the only valid service principal is
633
+ # `acm.amazonaws.com`
634
+ # @return [String]
635
+ #
636
+ # @!attribute [rw] source_account
637
+ # The AWS account that calls this operation.
638
+ # @return [String]
639
+ #
640
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePermissionRequest AWS API Documentation
641
+ #
642
+ class DeletePermissionRequest < Struct.new(
643
+ :certificate_authority_arn,
644
+ :principal,
645
+ :source_account)
646
+ include Aws::Structure
647
+ end
648
+
567
649
  # @note When making an API call, you may pass DescribeCertificateAuthorityAuditReportRequest
568
650
  # data as a hash:
569
651
  #
@@ -952,6 +1034,66 @@ module Aws::ACMPCA
952
1034
  include Aws::Structure
953
1035
  end
954
1036
 
1037
+ # @note When making an API call, you may pass ListPermissionsRequest
1038
+ # data as a hash:
1039
+ #
1040
+ # {
1041
+ # certificate_authority_arn: "Arn", # required
1042
+ # next_token: "NextToken",
1043
+ # max_results: 1,
1044
+ # }
1045
+ #
1046
+ # @!attribute [rw] certificate_authority_arn
1047
+ # The Amazon Resource Number (ARN) of the private CA to inspect. You
1048
+ # can find the ARN by calling the ListCertificateAuthorities
1049
+ # operation. This must be of the form:
1050
+ # `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012`
1051
+ # You can get a private CA's ARN by running the
1052
+ # ListCertificateAuthorities operation.
1053
+ # @return [String]
1054
+ #
1055
+ # @!attribute [rw] next_token
1056
+ # When paginating results, use this parameter in a subsequent request
1057
+ # after you receive a response with truncated results. Set it to the
1058
+ # value of **NextToken** from the response you just received.
1059
+ # @return [String]
1060
+ #
1061
+ # @!attribute [rw] max_results
1062
+ # When paginating results, use this parameter to specify the maximum
1063
+ # number of items to return in the response. If additional items exist
1064
+ # beyond the number you specify, the **NextToken** element is sent in
1065
+ # the response. Use this **NextToken** value in a subsequent request
1066
+ # to retrieve additional items.
1067
+ # @return [Integer]
1068
+ #
1069
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListPermissionsRequest AWS API Documentation
1070
+ #
1071
+ class ListPermissionsRequest < Struct.new(
1072
+ :certificate_authority_arn,
1073
+ :next_token,
1074
+ :max_results)
1075
+ include Aws::Structure
1076
+ end
1077
+
1078
+ # @!attribute [rw] permissions
1079
+ # Summary information about each permission assigned by the specified
1080
+ # private CA, including the action enabled, the policy provided, and
1081
+ # the time of creation.
1082
+ # @return [Array<Types::Permission>]
1083
+ #
1084
+ # @!attribute [rw] next_token
1085
+ # When the list is truncated, this value is present and should be used
1086
+ # for the **NextToken** parameter in a subsequent pagination request.
1087
+ # @return [String]
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListPermissionsResponse AWS API Documentation
1090
+ #
1091
+ class ListPermissionsResponse < Struct.new(
1092
+ :permissions,
1093
+ :next_token)
1094
+ include Aws::Structure
1095
+ end
1096
+
955
1097
  # @note When making an API call, you may pass ListTagsRequest
956
1098
  # data as a hash:
957
1099
  #
@@ -1009,6 +1151,53 @@ module Aws::ACMPCA
1009
1151
  include Aws::Structure
1010
1152
  end
1011
1153
 
1154
+ # Permissions designate which private CA operations can be performed by
1155
+ # an AWS service or entity. In order for ACM to automatically renew
1156
+ # private certificates, you must give the ACM service principal all
1157
+ # available permissions (`IssueCertificate`, `GetCertificate`, and
1158
+ # `ListPermissions`). Permissions can be assigned with the
1159
+ # CreatePermission operation, removed with the DeletePermission
1160
+ # operation, and listed with the ListPermissions operation.
1161
+ #
1162
+ # @!attribute [rw] certificate_authority_arn
1163
+ # The Amazon Resource Number (ARN) of the private CA from which the
1164
+ # permission was issued.
1165
+ # @return [String]
1166
+ #
1167
+ # @!attribute [rw] created_at
1168
+ # The time at which the permission was created.
1169
+ # @return [Time]
1170
+ #
1171
+ # @!attribute [rw] principal
1172
+ # The AWS service or entity that holds the permission. At this time,
1173
+ # the only valid principal is `acm.amazonaws.com`.
1174
+ # @return [String]
1175
+ #
1176
+ # @!attribute [rw] source_account
1177
+ # The ID of the account that assigned the permission.
1178
+ # @return [String]
1179
+ #
1180
+ # @!attribute [rw] actions
1181
+ # The private CA operations that can be performed by the designated
1182
+ # AWS service.
1183
+ # @return [Array<String>]
1184
+ #
1185
+ # @!attribute [rw] policy
1186
+ # The name of the policy that is associated with the permission.
1187
+ # @return [String]
1188
+ #
1189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/Permission AWS API Documentation
1190
+ #
1191
+ class Permission < Struct.new(
1192
+ :certificate_authority_arn,
1193
+ :created_at,
1194
+ :principal,
1195
+ :source_account,
1196
+ :actions,
1197
+ :policy)
1198
+ include Aws::Structure
1199
+ end
1200
+
1012
1201
  # @note When making an API call, you may pass RestoreCertificateAuthorityRequest
1013
1202
  # data as a hash:
1014
1203
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-acmpca
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-23 00:00:00.000000000 Z
11
+ date: 2019-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.39.0
22
+ version: 3.47.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,21 +29,21 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.39.0
32
+ version: 3.47.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.0'
39
+ version: '1.1'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.0'
46
+ version: '1.1'
47
47
  description: Official AWS Ruby gem for AWS Certificate Manager Private Certificate
48
48
  Authority (ACM-PCA). This gem is part of the AWS SDK for Ruby.
49
49
  email: