aws-sdk-secretsmanager 1.81.0 → 1.95.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,8 +13,12 @@ module Aws::SecretsManager
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ APIErrorListType = Shapes::ListShape.new(name: 'APIErrorListType')
17
+ APIErrorType = Shapes::StructureShape.new(name: 'APIErrorType')
16
18
  AddReplicaRegionListType = Shapes::ListShape.new(name: 'AddReplicaRegionListType')
17
19
  AutomaticallyRotateAfterDaysType = Shapes::IntegerShape.new(name: 'AutomaticallyRotateAfterDaysType')
20
+ BatchGetSecretValueRequest = Shapes::StructureShape.new(name: 'BatchGetSecretValueRequest')
21
+ BatchGetSecretValueResponse = Shapes::StructureShape.new(name: 'BatchGetSecretValueResponse')
18
22
  BooleanType = Shapes::BooleanShape.new(name: 'BooleanType')
19
23
  CancelRotateSecretRequest = Shapes::StructureShape.new(name: 'CancelRotateSecretRequest')
20
24
  CancelRotateSecretResponse = Shapes::StructureShape.new(name: 'CancelRotateSecretResponse')
@@ -34,6 +38,7 @@ module Aws::SecretsManager
34
38
  DescriptionType = Shapes::StringShape.new(name: 'DescriptionType')
35
39
  DurationType = Shapes::StringShape.new(name: 'DurationType')
36
40
  EncryptionFailure = Shapes::StructureShape.new(name: 'EncryptionFailure')
41
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
37
42
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
38
43
  ExcludeCharactersType = Shapes::StringShape.new(name: 'ExcludeCharactersType')
39
44
  ExcludeLowercaseType = Shapes::BooleanShape.new(name: 'ExcludeLowercaseType')
@@ -67,6 +72,7 @@ module Aws::SecretsManager
67
72
  ListSecretsRequest = Shapes::StructureShape.new(name: 'ListSecretsRequest')
68
73
  ListSecretsResponse = Shapes::StructureShape.new(name: 'ListSecretsResponse')
69
74
  MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
75
+ MaxResultsBatchType = Shapes::IntegerShape.new(name: 'MaxResultsBatchType')
70
76
  MaxResultsType = Shapes::IntegerShape.new(name: 'MaxResultsType')
71
77
  NameType = Shapes::StringShape.new(name: 'NameType')
72
78
  NextRotationDateType = Shapes::TimestampShape.new(name: 'NextRotationDateType')
@@ -104,11 +110,14 @@ module Aws::SecretsManager
104
110
  ScheduleExpressionType = Shapes::StringShape.new(name: 'ScheduleExpressionType')
105
111
  SecretARNType = Shapes::StringShape.new(name: 'SecretARNType')
106
112
  SecretBinaryType = Shapes::BlobShape.new(name: 'SecretBinaryType')
113
+ SecretIdListType = Shapes::ListShape.new(name: 'SecretIdListType')
107
114
  SecretIdType = Shapes::StringShape.new(name: 'SecretIdType')
108
115
  SecretListEntry = Shapes::StructureShape.new(name: 'SecretListEntry')
109
116
  SecretListType = Shapes::ListShape.new(name: 'SecretListType')
110
117
  SecretNameType = Shapes::StringShape.new(name: 'SecretNameType')
111
118
  SecretStringType = Shapes::StringShape.new(name: 'SecretStringType')
119
+ SecretValueEntry = Shapes::StructureShape.new(name: 'SecretValueEntry')
120
+ SecretValuesType = Shapes::ListShape.new(name: 'SecretValuesType')
112
121
  SecretVersionIdType = Shapes::StringShape.new(name: 'SecretVersionIdType')
113
122
  SecretVersionStageType = Shapes::StringShape.new(name: 'SecretVersionStageType')
114
123
  SecretVersionStagesType = Shapes::ListShape.new(name: 'SecretVersionStagesType')
@@ -137,8 +146,26 @@ module Aws::SecretsManager
137
146
  ValidationErrorsEntry = Shapes::StructureShape.new(name: 'ValidationErrorsEntry')
138
147
  ValidationErrorsType = Shapes::ListShape.new(name: 'ValidationErrorsType')
139
148
 
149
+ APIErrorListType.member = Shapes::ShapeRef.new(shape: APIErrorType)
150
+
151
+ APIErrorType.add_member(:secret_id, Shapes::ShapeRef.new(shape: SecretIdType, location_name: "SecretId"))
152
+ APIErrorType.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
153
+ APIErrorType.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
154
+ APIErrorType.struct_class = Types::APIErrorType
155
+
140
156
  AddReplicaRegionListType.member = Shapes::ShapeRef.new(shape: ReplicaRegionType)
141
157
 
158
+ BatchGetSecretValueRequest.add_member(:secret_id_list, Shapes::ShapeRef.new(shape: SecretIdListType, location_name: "SecretIdList"))
159
+ BatchGetSecretValueRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FiltersListType, location_name: "Filters"))
160
+ BatchGetSecretValueRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResultsBatchType, location_name: "MaxResults", metadata: {"box"=>true}))
161
+ BatchGetSecretValueRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenType, location_name: "NextToken"))
162
+ BatchGetSecretValueRequest.struct_class = Types::BatchGetSecretValueRequest
163
+
164
+ BatchGetSecretValueResponse.add_member(:secret_values, Shapes::ShapeRef.new(shape: SecretValuesType, location_name: "SecretValues"))
165
+ BatchGetSecretValueResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenType, location_name: "NextToken"))
166
+ BatchGetSecretValueResponse.add_member(:errors, Shapes::ShapeRef.new(shape: APIErrorListType, location_name: "Errors"))
167
+ BatchGetSecretValueResponse.struct_class = Types::BatchGetSecretValueResponse
168
+
142
169
  CancelRotateSecretRequest.add_member(:secret_id, Shapes::ShapeRef.new(shape: SecretIdType, required: true, location_name: "SecretId"))
143
170
  CancelRotateSecretRequest.struct_class = Types::CancelRotateSecretRequest
144
171
 
@@ -386,6 +413,8 @@ module Aws::SecretsManager
386
413
  RotationRulesType.add_member(:schedule_expression, Shapes::ShapeRef.new(shape: ScheduleExpressionType, location_name: "ScheduleExpression"))
387
414
  RotationRulesType.struct_class = Types::RotationRulesType
388
415
 
416
+ SecretIdListType.member = Shapes::ShapeRef.new(shape: SecretIdType)
417
+
389
418
  SecretListEntry.add_member(:arn, Shapes::ShapeRef.new(shape: SecretARNType, location_name: "ARN"))
390
419
  SecretListEntry.add_member(:name, Shapes::ShapeRef.new(shape: SecretNameType, location_name: "Name"))
391
420
  SecretListEntry.add_member(:description, Shapes::ShapeRef.new(shape: DescriptionType, location_name: "Description"))
@@ -407,6 +436,17 @@ module Aws::SecretsManager
407
436
 
408
437
  SecretListType.member = Shapes::ShapeRef.new(shape: SecretListEntry)
409
438
 
439
+ SecretValueEntry.add_member(:arn, Shapes::ShapeRef.new(shape: SecretARNType, location_name: "ARN"))
440
+ SecretValueEntry.add_member(:name, Shapes::ShapeRef.new(shape: SecretNameType, location_name: "Name"))
441
+ SecretValueEntry.add_member(:version_id, Shapes::ShapeRef.new(shape: SecretVersionIdType, location_name: "VersionId"))
442
+ SecretValueEntry.add_member(:secret_binary, Shapes::ShapeRef.new(shape: SecretBinaryType, location_name: "SecretBinary"))
443
+ SecretValueEntry.add_member(:secret_string, Shapes::ShapeRef.new(shape: SecretStringType, location_name: "SecretString"))
444
+ SecretValueEntry.add_member(:version_stages, Shapes::ShapeRef.new(shape: SecretVersionStagesType, location_name: "VersionStages"))
445
+ SecretValueEntry.add_member(:created_date, Shapes::ShapeRef.new(shape: CreatedDateType, location_name: "CreatedDate", metadata: {"box"=>true}))
446
+ SecretValueEntry.struct_class = Types::SecretValueEntry
447
+
448
+ SecretValuesType.member = Shapes::ShapeRef.new(shape: SecretValueEntry)
449
+
410
450
  SecretVersionStagesType.member = Shapes::ShapeRef.new(shape: SecretVersionStageType)
411
451
 
412
452
  SecretVersionsListEntry.add_member(:version_id, Shapes::ShapeRef.new(shape: SecretVersionIdType, location_name: "VersionId"))
@@ -491,6 +531,7 @@ module Aws::SecretsManager
491
531
  "endpointPrefix" => "secretsmanager",
492
532
  "jsonVersion" => "1.1",
493
533
  "protocol" => "json",
534
+ "protocols" => ["json"],
494
535
  "serviceFullName" => "AWS Secrets Manager",
495
536
  "serviceId" => "Secrets Manager",
496
537
  "signatureVersion" => "v4",
@@ -499,6 +540,26 @@ module Aws::SecretsManager
499
540
  "uid" => "secretsmanager-2017-10-17",
500
541
  }
501
542
 
543
+ api.add_operation(:batch_get_secret_value, Seahorse::Model::Operation.new.tap do |o|
544
+ o.name = "BatchGetSecretValue"
545
+ o.http_method = "POST"
546
+ o.http_request_uri = "/"
547
+ o.input = Shapes::ShapeRef.new(shape: BatchGetSecretValueRequest)
548
+ o.output = Shapes::ShapeRef.new(shape: BatchGetSecretValueResponse)
549
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
550
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
551
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
552
+ o.errors << Shapes::ShapeRef.new(shape: DecryptionFailure)
553
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
554
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
555
+ o[:pager] = Aws::Pager.new(
556
+ limit_key: "max_results",
557
+ tokens: {
558
+ "next_token" => "next_token"
559
+ }
560
+ )
561
+ end)
562
+
502
563
  api.add_operation(:cancel_rotate_secret, Seahorse::Model::Operation.new.tap do |o|
503
564
  o.name = "CancelRotateSecret"
504
565
  o.http_method = "POST"
@@ -625,6 +686,7 @@ module Aws::SecretsManager
625
686
  o.input = Shapes::ShapeRef.new(shape: ListSecretsRequest)
626
687
  o.output = Shapes::ShapeRef.new(shape: ListSecretsResponse)
627
688
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
689
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
628
690
  o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
629
691
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
630
692
  o[:pager] = Aws::Pager.new(
@@ -27,18 +27,33 @@ module Aws::SecretsManager
27
27
  if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
28
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
29
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ if Aws::Endpoints::Matchers.string_equals?("aws", Aws::Endpoints::Matchers.attr(partition_result, "name"))
31
+ return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager-fips.#{region}.amazonaws.com", headers: {}, properties: {})
32
+ end
33
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
34
+ return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager-fips.#{region}.amazonaws.com", headers: {}, properties: {})
35
+ end
30
36
  return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
37
  end
32
38
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
39
  end
34
40
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
41
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
42
  return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
43
  end
38
44
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
45
  end
40
46
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
47
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
48
+ if Aws::Endpoints::Matchers.string_equals?("aws", Aws::Endpoints::Matchers.attr(partition_result, "name"))
49
+ return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager.#{region}.amazonaws.com", headers: {}, properties: {})
50
+ end
51
+ if Aws::Endpoints::Matchers.string_equals?("aws-cn", Aws::Endpoints::Matchers.attr(partition_result, "name"))
52
+ return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager.#{region}.amazonaws.com.cn", headers: {}, properties: {})
53
+ end
54
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
55
+ return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager.#{region}.amazonaws.com", headers: {}, properties: {})
56
+ end
42
57
  return Aws::Endpoints::Endpoint.new(url: "https://secretsmanager.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
58
  end
44
59
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
@@ -12,6 +12,20 @@ module Aws::SecretsManager
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
+ class BatchGetSecretValue
16
+ def self.build(context)
17
+ unless context.config.regional_endpoint
18
+ endpoint = context.config.endpoint.to_s
19
+ end
20
+ Aws::SecretsManager::EndpointParameters.new(
21
+ region: context.config.region,
22
+ use_dual_stack: context.config.use_dualstack_endpoint,
23
+ use_fips: context.config.use_fips_endpoint,
24
+ endpoint: endpoint,
25
+ )
26
+ end
27
+ end
28
+
15
29
  class CancelRotateSecret
16
30
  def self.build(context)
17
31
  unless context.config.regional_endpoint
@@ -14,6 +14,7 @@ module Aws::SecretsManager
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SecretsManager::EndpointProvider',
17
+ rbs_type: 'untyped',
17
18
  docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
19
  'object that responds to `#resolve_endpoint(parameters)` '\
19
20
  'where `parameters` is a Struct similar to '\
@@ -25,16 +26,17 @@ module Aws::SecretsManager
25
26
  # @api private
26
27
  class Handler < Seahorse::Client::Handler
27
28
  def call(context)
28
- # If endpoint was discovered, do not resolve or apply the endpoint.
29
29
  unless context[:discovered_endpoint]
30
30
  params = parameters_for_operation(context)
31
31
  endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
32
 
33
33
  context.http_request.endpoint = endpoint.url
34
34
  apply_endpoint_headers(context, endpoint.headers)
35
+
36
+ context[:endpoint_params] = params
37
+ context[:endpoint_properties] = endpoint.properties
35
38
  end
36
39
 
37
- context[:endpoint_params] = params
38
40
  context[:auth_scheme] =
39
41
  Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
42
 
@@ -56,6 +58,8 @@ module Aws::SecretsManager
56
58
 
57
59
  def parameters_for_operation(context)
58
60
  case context.operation_name
61
+ when :batch_get_secret_value
62
+ Aws::SecretsManager::Endpoints::BatchGetSecretValue.build(context)
59
63
  when :cancel_rotate_secret
60
64
  Aws::SecretsManager::Endpoints::CancelRotateSecret.build(context)
61
65
  when :create_secret
@@ -10,6 +10,98 @@
10
10
  module Aws::SecretsManager
11
11
  module Types
12
12
 
13
+ # The error Secrets Manager encountered while retrieving an individual
14
+ # secret as part of BatchGetSecretValue.
15
+ #
16
+ # @!attribute [rw] secret_id
17
+ # The ARN or name of the secret.
18
+ # @return [String]
19
+ #
20
+ # @!attribute [rw] error_code
21
+ # The error Secrets Manager encountered while retrieving an individual
22
+ # secret as part of BatchGetSecretValue, for example
23
+ # `ResourceNotFoundException`,`InvalidParameterException`,
24
+ # `InvalidRequestException`, `DecryptionFailure`, or
25
+ # `AccessDeniedException`.
26
+ # @return [String]
27
+ #
28
+ # @!attribute [rw] message
29
+ # A message describing the error.
30
+ # @return [String]
31
+ #
32
+ # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/APIErrorType AWS API Documentation
33
+ #
34
+ class APIErrorType < Struct.new(
35
+ :secret_id,
36
+ :error_code,
37
+ :message)
38
+ SENSITIVE = []
39
+ include Aws::Structure
40
+ end
41
+
42
+ # @!attribute [rw] secret_id_list
43
+ # The ARN or names of the secrets to retrieve. You must include
44
+ # `Filters` or `SecretIdList`, but not both.
45
+ # @return [Array<String>]
46
+ #
47
+ # @!attribute [rw] filters
48
+ # The filters to choose which secrets to retrieve. You must include
49
+ # `Filters` or `SecretIdList`, but not both.
50
+ # @return [Array<Types::Filter>]
51
+ #
52
+ # @!attribute [rw] max_results
53
+ # The number of results to include in the response.
54
+ #
55
+ # If there are more results available, in the response, Secrets
56
+ # Manager includes `NextToken`. To get the next results, call
57
+ # `BatchGetSecretValue` again with the value from `NextToken`. To use
58
+ # this parameter, you must also use the `Filters` parameter.
59
+ # @return [Integer]
60
+ #
61
+ # @!attribute [rw] next_token
62
+ # A token that indicates where the output should continue from, if a
63
+ # previous call did not show all results. To get the next results,
64
+ # call `BatchGetSecretValue` again with this value.
65
+ # @return [String]
66
+ #
67
+ # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/BatchGetSecretValueRequest AWS API Documentation
68
+ #
69
+ class BatchGetSecretValueRequest < Struct.new(
70
+ :secret_id_list,
71
+ :filters,
72
+ :max_results,
73
+ :next_token)
74
+ SENSITIVE = []
75
+ include Aws::Structure
76
+ end
77
+
78
+ # @!attribute [rw] secret_values
79
+ # A list of secret values.
80
+ # @return [Array<Types::SecretValueEntry>]
81
+ #
82
+ # @!attribute [rw] next_token
83
+ # Secrets Manager includes this value if there's more output
84
+ # available than what is included in the current response. This can
85
+ # occur even when the response includes no values at all, such as when
86
+ # you ask for a filtered view of a long list. To get the next results,
87
+ # call `BatchGetSecretValue` again with this value.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] errors
91
+ # A list of errors Secrets Manager encountered while attempting to
92
+ # retrieve individual secrets.
93
+ # @return [Array<Types::APIErrorType>]
94
+ #
95
+ # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/BatchGetSecretValueResponse AWS API Documentation
96
+ #
97
+ class BatchGetSecretValueResponse < Struct.new(
98
+ :secret_values,
99
+ :next_token,
100
+ :errors)
101
+ SENSITIVE = []
102
+ include Aws::Structure
103
+ end
104
+
13
105
  # @!attribute [rw] secret_id
14
106
  # The ARN or name of the secret.
15
107
  #
@@ -77,14 +169,14 @@ module Aws::SecretsManager
77
169
  # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
78
170
  # Services SDKs to call this operation, then you can leave this
79
171
  # parameter empty. The CLI or SDK generates a random UUID for you and
80
- # includes it as the value for this parameter in the request. If you
81
- # don't use the SDK and instead generate a raw HTTP request to the
82
- # Secrets Manager service endpoint, then you must generate a
83
- # `ClientRequestToken` yourself for the new version and include the
84
- # value in the request.
172
+ # includes it as the value for this parameter in the request.
85
173
  #
86
174
  # </note>
87
175
  #
176
+ # If you generate a raw HTTP request to the Secrets Manager service
177
+ # endpoint, then you must generate a `ClientRequestToken` and include
178
+ # it in the request.
179
+ #
88
180
  # This value helps ensure idempotency. Secrets Manager uses this value
89
181
  # to prevent the accidental creation of duplicate versions if there
90
182
  # are failures and retries during a rotation. We recommend that you
@@ -191,32 +283,15 @@ module Aws::SecretsManager
191
283
  # parameter, you should use single quotes to avoid confusion with the
192
284
  # double quotes required in the JSON text.
193
285
  #
194
- # The following restrictions apply to tags:
195
- #
196
- # * Maximum number of tags per secret: 50
197
- #
198
- # * Maximum key length: 127 Unicode characters in UTF-8
199
- #
200
- # * Maximum value length: 255 Unicode characters in UTF-8
201
- #
202
- # * Tag keys and values are case sensitive.
203
- #
204
- # * Do not use the `aws:` prefix in your tag names or values because
205
- # Amazon Web Services reserves it for Amazon Web Services use. You
206
- # can't edit or delete tag names or values with this prefix. Tags
207
- # with this prefix do not count against your tags per secret limit.
208
- #
209
- # * If you use your tagging schema across multiple services and
210
- # resources, other services might have restrictions on allowed
211
- # characters. Generally allowed characters: letters, spaces, and
212
- # numbers representable in UTF-8, plus the following special
213
- # characters: + - = . \_ : / @.
286
+ # For tag quotas and naming restrictions, see [Service quotas for
287
+ # Tagging][4] in the *Amazon Web Services General Reference guide*.
214
288
  #
215
289
  #
216
290
  #
217
291
  # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac
218
292
  # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2
219
293
  # [3]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
294
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas
220
295
  # @return [Array<Types::Tag>]
221
296
  #
222
297
  # @!attribute [rw] add_replica_regions
@@ -472,8 +547,8 @@ module Aws::SecretsManager
472
547
  #
473
548
  # @!attribute [rw] last_rotated_date
474
549
  # The last date and time that Secrets Manager rotated the secret. If
475
- # the secret isn't configured for rotation, Secrets Manager returns
476
- # null.
550
+ # the secret isn't configured for rotation or rotation has been
551
+ # disabled, Secrets Manager returns null.
477
552
  # @return [Time]
478
553
  #
479
554
  # @!attribute [rw] last_changed_date
@@ -499,8 +574,15 @@ module Aws::SecretsManager
499
574
  #
500
575
  # @!attribute [rw] next_rotation_date
501
576
  # The next rotation is scheduled to occur on or before this date. If
502
- # the secret isn't configured for rotation, Secrets Manager returns
503
- # null.
577
+ # the secret isn't configured for rotation or rotation has been
578
+ # disabled, Secrets Manager returns null. If rotation fails, Secrets
579
+ # Manager retries the entire rotation process multiple times. If
580
+ # rotation is unsuccessful, this date may be in the past.
581
+ #
582
+ # This date represents the latest date that rotation will occur, but
583
+ # it is not an approximate rotation date. In some cases, for example
584
+ # if you turn off automatic rotation and then turn it back on, the
585
+ # next rotation may occur much sooner than this date.
504
586
  # @return [Time]
505
587
  #
506
588
  # @!attribute [rw] tags
@@ -838,18 +920,15 @@ module Aws::SecretsManager
838
920
  #
839
921
  # @!attribute [rw] secret_binary
840
922
  # The decrypted secret value, if the secret value was originally
841
- # provided as binary data in the form of a byte array. The response
842
- # parameter represents the binary data as a [base64-encoded][1]
843
- # string.
923
+ # provided as binary data in the form of a byte array. When you
924
+ # retrieve a `SecretBinary` using the HTTP API, the Python SDK, or the
925
+ # Amazon Web Services CLI, the value is Base64-encoded. Otherwise, it
926
+ # is not encoded.
844
927
  #
845
928
  # If the secret was created by using the Secrets Manager console, or
846
929
  # if the secret value was originally provided as a string, then this
847
930
  # field is omitted. The secret value appears in `SecretString`
848
931
  # instead.
849
- #
850
- #
851
- #
852
- # [1]: https://tools.ietf.org/html/rfc4648#section-4
853
932
  # @return [String]
854
933
  #
855
934
  # @!attribute [rw] secret_string
@@ -1168,6 +1247,27 @@ module Aws::SecretsManager
1168
1247
  # Specifies whether to block resource-based policies that allow broad
1169
1248
  # access to the secret, for example those that use a wildcard for the
1170
1249
  # principal. By default, public policies aren't blocked.
1250
+ #
1251
+ # Resource policy validation and the BlockPublicPolicy parameter help
1252
+ # protect your resources by preventing public access from being
1253
+ # granted through the resource policies that are directly attached to
1254
+ # your secrets. In addition to using these features, carefully inspect
1255
+ # the following policies to confirm that they do not grant public
1256
+ # access:
1257
+ #
1258
+ # * Identity-based policies attached to associated Amazon Web
1259
+ # Services
1260
+ # principals (for example, IAM roles)
1261
+ #
1262
+ # * Resource-based policies attached to associated Amazon Web Services
1263
+ # resources (for example, Key Management Service (KMS) keys)
1264
+ #
1265
+ # To review permissions to your secrets, see [Determine who has
1266
+ # permissions to your secrets][1].
1267
+ #
1268
+ #
1269
+ #
1270
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/determine-acccess_examine-iam-policies.html
1171
1271
  # @return [Boolean]
1172
1272
  #
1173
1273
  # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutResourcePolicyRequest AWS API Documentation
@@ -1215,19 +1315,20 @@ module Aws::SecretsManager
1215
1315
  #
1216
1316
  # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
1217
1317
  # Services SDKs to call this operation, then you can leave this
1218
- # parameter empty because they generate a random UUID for you. If you
1219
- # don't use the SDK and instead generate a raw HTTP request to the
1220
- # Secrets Manager service endpoint, then you must generate a
1221
- # `ClientRequestToken` yourself for new versions and include that
1222
- # value in the request.
1318
+ # parameter empty. The CLI or SDK generates a random UUID for you and
1319
+ # includes it as the value for this parameter in the request.
1223
1320
  #
1224
1321
  # </note>
1225
1322
  #
1323
+ # If you generate a raw HTTP request to the Secrets Manager service
1324
+ # endpoint, then you must generate a `ClientRequestToken` and include
1325
+ # it in the request.
1326
+ #
1226
1327
  # This value helps ensure idempotency. Secrets Manager uses this value
1227
1328
  # to prevent the accidental creation of duplicate versions if there
1228
- # are failures and retries during the Lambda rotation function
1229
- # processing. We recommend that you generate a [UUID-type][1] value to
1230
- # ensure uniqueness within the specified secret.
1329
+ # are failures and retries during a rotation. We recommend that you
1330
+ # generate a [UUID-type][1] value to ensure uniqueness of your
1331
+ # versions within the specified secret.
1231
1332
  #
1232
1333
  # * If the `ClientRequestToken` value isn't already associated with a
1233
1334
  # version of the secret then a new version of the secret is created.
@@ -1542,26 +1643,27 @@ module Aws::SecretsManager
1542
1643
  # @return [String]
1543
1644
  #
1544
1645
  # @!attribute [rw] client_request_token
1545
- # A unique identifier for the new version of the secret that helps
1546
- # ensure idempotency. Secrets Manager uses this value to prevent the
1547
- # accidental creation of duplicate versions if there are failures and
1548
- # retries during rotation. This value becomes the `VersionId` of the
1549
- # new version.
1646
+ # A unique identifier for the new version of the secret. You only need
1647
+ # to specify this value if you implement your own retry logic and you
1648
+ # want to ensure that Secrets Manager doesn't attempt to create a
1649
+ # secret version twice.
1550
1650
  #
1551
- # If you use the Amazon Web Services CLI or one of the Amazon Web
1552
- # Services SDK to call this operation, then you can leave this
1651
+ # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
1652
+ # Services SDKs to call this operation, then you can leave this
1553
1653
  # parameter empty. The CLI or SDK generates a random UUID for you and
1554
- # includes that in the request for this parameter. If you don't use
1555
- # the SDK and instead generate a raw HTTP request to the Secrets
1556
- # Manager service endpoint, then you must generate a
1557
- # `ClientRequestToken` yourself for new versions and include that
1558
- # value in the request.
1559
- #
1560
- # You only need to specify this value if you implement your own retry
1561
- # logic and you want to ensure that Secrets Manager doesn't attempt
1562
- # to create a secret version twice. We recommend that you generate a
1563
- # [UUID-type][1] value to ensure uniqueness within the specified
1564
- # secret.
1654
+ # includes it as the value for this parameter in the request.
1655
+ #
1656
+ # </note>
1657
+ #
1658
+ # If you generate a raw HTTP request to the Secrets Manager service
1659
+ # endpoint, then you must generate a `ClientRequestToken` and include
1660
+ # it in the request.
1661
+ #
1662
+ # This value helps ensure idempotency. Secrets Manager uses this value
1663
+ # to prevent the accidental creation of duplicate versions if there
1664
+ # are failures and retries during a rotation. We recommend that you
1665
+ # generate a [UUID-type][1] value to ensure uniqueness of your
1666
+ # versions within the specified secret.
1565
1667
  #
1566
1668
  # **A suitable default value is auto-generated.** You should normally
1567
1669
  # not need to pass this option.
@@ -1730,10 +1832,7 @@ module Aws::SecretsManager
1730
1832
  # @return [String]
1731
1833
  #
1732
1834
  # @!attribute [rw] name
1733
- # The friendly name of the secret. You can use forward slashes in the
1734
- # name to represent a path hierarchy. For example,
1735
- # `/prod/databases/dbserver1` could represent the secret for a server
1736
- # named `dbserver1` in the folder `databases` in the folder `prod`.
1835
+ # The friendly name of the secret.
1737
1836
  # @return [String]
1738
1837
  #
1739
1838
  # @!attribute [rw] description
@@ -1794,8 +1893,8 @@ module Aws::SecretsManager
1794
1893
  #
1795
1894
  # @!attribute [rw] next_rotation_date
1796
1895
  # The next rotation is scheduled to occur on or before this date. If
1797
- # the secret isn't configured for rotation, Secrets Manager returns
1798
- # null.
1896
+ # the secret isn't configured for rotation or rotation has been
1897
+ # disabled, Secrets Manager returns null.
1799
1898
  # @return [Time]
1800
1899
  #
1801
1900
  # @!attribute [rw] tags
@@ -1858,6 +1957,59 @@ module Aws::SecretsManager
1858
1957
  include Aws::Structure
1859
1958
  end
1860
1959
 
1960
+ # A structure that contains the secret value and other details for a
1961
+ # secret.
1962
+ #
1963
+ # @!attribute [rw] arn
1964
+ # The Amazon Resource Name (ARN) of the secret.
1965
+ # @return [String]
1966
+ #
1967
+ # @!attribute [rw] name
1968
+ # The friendly name of the secret.
1969
+ # @return [String]
1970
+ #
1971
+ # @!attribute [rw] version_id
1972
+ # The unique version identifier of this version of the secret.
1973
+ # @return [String]
1974
+ #
1975
+ # @!attribute [rw] secret_binary
1976
+ # The decrypted secret value, if the secret value was originally
1977
+ # provided as binary data in the form of a byte array. The parameter
1978
+ # represents the binary data as a [base64-encoded][1] string.
1979
+ #
1980
+ #
1981
+ #
1982
+ # [1]: https://tools.ietf.org/html/rfc4648#section-4
1983
+ # @return [String]
1984
+ #
1985
+ # @!attribute [rw] secret_string
1986
+ # The decrypted secret value, if the secret value was originally
1987
+ # provided as a string or through the Secrets Manager console.
1988
+ # @return [String]
1989
+ #
1990
+ # @!attribute [rw] version_stages
1991
+ # A list of all of the staging labels currently attached to this
1992
+ # version of the secret.
1993
+ # @return [Array<String>]
1994
+ #
1995
+ # @!attribute [rw] created_date
1996
+ # The date the secret was created.
1997
+ # @return [Time]
1998
+ #
1999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/SecretValueEntry AWS API Documentation
2000
+ #
2001
+ class SecretValueEntry < Struct.new(
2002
+ :arn,
2003
+ :name,
2004
+ :version_id,
2005
+ :secret_binary,
2006
+ :secret_string,
2007
+ :version_stages,
2008
+ :created_date)
2009
+ SENSITIVE = [:secret_binary, :secret_string]
2010
+ include Aws::Structure
2011
+ end
2012
+
1861
2013
  # A structure that contains information about one version of a secret.
1862
2014
  #
1863
2015
  # @!attribute [rw] version_id
@@ -2031,18 +2183,26 @@ module Aws::SecretsManager
2031
2183
  # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
2032
2184
  # Services SDKs to call this operation, then you can leave this
2033
2185
  # parameter empty. The CLI or SDK generates a random UUID for you and
2034
- # includes it as the value for this parameter in the request. If you
2035
- # don't use the SDK and instead generate a raw HTTP request to the
2036
- # Secrets Manager service endpoint, then you must generate a
2037
- # `ClientRequestToken` yourself for the new version and include the
2038
- # value in the request.
2186
+ # includes it as the value for this parameter in the request.
2039
2187
  #
2040
2188
  # </note>
2041
2189
  #
2042
- # This value becomes the `VersionId` of the new version.
2190
+ # If you generate a raw HTTP request to the Secrets Manager service
2191
+ # endpoint, then you must generate a `ClientRequestToken` and include
2192
+ # it in the request.
2193
+ #
2194
+ # This value helps ensure idempotency. Secrets Manager uses this value
2195
+ # to prevent the accidental creation of duplicate versions if there
2196
+ # are failures and retries during a rotation. We recommend that you
2197
+ # generate a [UUID-type][1] value to ensure uniqueness of your
2198
+ # versions within the specified secret.
2043
2199
  #
2044
2200
  # **A suitable default value is auto-generated.** You should normally
2045
2201
  # not need to pass this option.
2202
+ #
2203
+ #
2204
+ #
2205
+ # [1]: https://wikipedia.org/wiki/Universally_unique_identifier
2046
2206
  # @return [String]
2047
2207
  #
2048
2208
  # @!attribute [rw] description