aws-sdk-secretsmanager 1.81.0 → 1.95.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.
@@ -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