aws-sdk-secretsmanager 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/aws-sdk-secretsmanager.rb +47 -0
- data/lib/aws-sdk-secretsmanager/client.rb +1937 -0
- data/lib/aws-sdk-secretsmanager/client_api.rb +514 -0
- data/lib/aws-sdk-secretsmanager/customizations.rb +0 -0
- data/lib/aws-sdk-secretsmanager/errors.rb +14 -0
- data/lib/aws-sdk-secretsmanager/resource.rb +23 -0
- data/lib/aws-sdk-secretsmanager/types.rb +1630 -0
- metadata +82 -0
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws::SecretsManager
|
9
|
+
module Errors
|
10
|
+
|
11
|
+
extend Aws::Errors::DynamicErrors
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws::SecretsManager
|
9
|
+
class Resource
|
10
|
+
|
11
|
+
# @param options ({})
|
12
|
+
# @option options [Client] :client
|
13
|
+
def initialize(options = {})
|
14
|
+
@client = options[:client] || Client.new(options)
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [Client]
|
18
|
+
def client
|
19
|
+
@client
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,1630 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing guide for more information:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
module Aws::SecretsManager
|
9
|
+
module Types
|
10
|
+
|
11
|
+
# @note When making an API call, you may pass CancelRotateSecretRequest
|
12
|
+
# data as a hash:
|
13
|
+
#
|
14
|
+
# {
|
15
|
+
# secret_id: "SecretIdType", # required
|
16
|
+
# }
|
17
|
+
#
|
18
|
+
# @!attribute [rw] secret_id
|
19
|
+
# Specifies the secret for which you want to cancel a rotation
|
20
|
+
# request. You can specify either the Amazon Resource Name (ARN) or
|
21
|
+
# the friendly name of the secret.
|
22
|
+
# @return [String]
|
23
|
+
#
|
24
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/CancelRotateSecretRequest AWS API Documentation
|
25
|
+
#
|
26
|
+
class CancelRotateSecretRequest < Struct.new(
|
27
|
+
:secret_id)
|
28
|
+
include Aws::Structure
|
29
|
+
end
|
30
|
+
|
31
|
+
# @!attribute [rw] arn
|
32
|
+
# The ARN of the secret for which rotation was canceled.
|
33
|
+
# @return [String]
|
34
|
+
#
|
35
|
+
# @!attribute [rw] name
|
36
|
+
# The friendly name of the secret for which rotation was canceled.
|
37
|
+
# @return [String]
|
38
|
+
#
|
39
|
+
# @!attribute [rw] version_id
|
40
|
+
# The unique identifier of the version of the secret that was created
|
41
|
+
# during the rotation. This version might not be complete, and should
|
42
|
+
# be evaluated for possible deletion. At the very least, you should
|
43
|
+
# remove the `VersionStage` value `AWSPENDING` to enable this version
|
44
|
+
# to be deleted. Failing to clean up a cancelled rotation can block
|
45
|
+
# you from successfully starting future rotations.
|
46
|
+
# @return [String]
|
47
|
+
#
|
48
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/CancelRotateSecretResponse AWS API Documentation
|
49
|
+
#
|
50
|
+
class CancelRotateSecretResponse < Struct.new(
|
51
|
+
:arn,
|
52
|
+
:name,
|
53
|
+
:version_id)
|
54
|
+
include Aws::Structure
|
55
|
+
end
|
56
|
+
|
57
|
+
# @note When making an API call, you may pass CreateSecretRequest
|
58
|
+
# data as a hash:
|
59
|
+
#
|
60
|
+
# {
|
61
|
+
# name: "NameType", # required
|
62
|
+
# client_request_token: "ClientRequestTokenType",
|
63
|
+
# description: "DescriptionType",
|
64
|
+
# kms_key_id: "KmsKeyIdType",
|
65
|
+
# secret_binary: "data",
|
66
|
+
# secret_string: "SecretStringType",
|
67
|
+
# tags: [
|
68
|
+
# {
|
69
|
+
# key: "TagKeyType",
|
70
|
+
# value: "TagValueType",
|
71
|
+
# },
|
72
|
+
# ],
|
73
|
+
# }
|
74
|
+
#
|
75
|
+
# @!attribute [rw] name
|
76
|
+
# Specifies the friendly name of the new secret. The secret name can
|
77
|
+
# consist of uppercase letters, lowercase letters, digits, and any of
|
78
|
+
# the following characters: /\_+=.@- Spaces are not permitted.
|
79
|
+
# @return [String]
|
80
|
+
#
|
81
|
+
# @!attribute [rw] client_request_token
|
82
|
+
# (Optional) If you include `SecretString` or `SecretBinary`, then an
|
83
|
+
# initial version is created as part of the secret, and this parameter
|
84
|
+
# specifies a unique identifier for the new version.
|
85
|
+
#
|
86
|
+
# <note markdown="1"> If you use the AWS CLI or one of the AWS SDK to call this operation,
|
87
|
+
# then you can leave this parameter empty. The CLI or SDK generates a
|
88
|
+
# random UUID for you and includes as the value for this parameter in
|
89
|
+
# the request. If you don't use the SDK and instead generate a raw
|
90
|
+
# HTTP request to the AWS Secrets Manager service endpoint, then you
|
91
|
+
# must generate a `ClientRequestToken` yourself for the new version
|
92
|
+
# and include that value in the request.
|
93
|
+
#
|
94
|
+
# </note>
|
95
|
+
#
|
96
|
+
# This value helps ensure idempotency. Secrets Manager uses this value
|
97
|
+
# to prevent the accidental creation of duplicate versions if there
|
98
|
+
# are failures and retries during a rotation. We recommend that you
|
99
|
+
# generate a [UUID-type][1] value to ensure uniqueness of your
|
100
|
+
# versions within the specified secret.
|
101
|
+
#
|
102
|
+
# * If the `ClientRequestToken` value isn't already associated with a
|
103
|
+
# version of the secret then a new version of the secret is created.
|
104
|
+
#
|
105
|
+
# * If a version with this value already exists and that version's
|
106
|
+
# `SecretString` and `SecretBinary` values are the same as those in
|
107
|
+
# the request, then the request is ignored (the operation is
|
108
|
+
# idempotent).
|
109
|
+
#
|
110
|
+
# * If a version with this value already exists and that version's
|
111
|
+
# `SecretString` and `SecretBinary` values are different from those
|
112
|
+
# in the request then the request fails because you cannot modify an
|
113
|
+
# existing version. Instead, use PutSecretValue to create a new
|
114
|
+
# version.
|
115
|
+
#
|
116
|
+
# This value becomes the `SecretVersionId` of the new version.
|
117
|
+
#
|
118
|
+
# **A suitable default value is auto-generated.** You should normally
|
119
|
+
# not need to pass this option.
|
120
|
+
#
|
121
|
+
#
|
122
|
+
#
|
123
|
+
# [1]: https://wikipedia.org/wiki/Universally_unique_identifier
|
124
|
+
# @return [String]
|
125
|
+
#
|
126
|
+
# @!attribute [rw] description
|
127
|
+
# (Optional) Specifies a user-provided description of the secret.
|
128
|
+
# @return [String]
|
129
|
+
#
|
130
|
+
# @!attribute [rw] kms_key_id
|
131
|
+
# (Optional) Specifies the ARN or alias of the AWS KMS customer master
|
132
|
+
# key (CMK) to be used to encrypt the `SecretString` and
|
133
|
+
# `SecretBinary` values in the versions stored in this secret.
|
134
|
+
#
|
135
|
+
# If you don't specify this value, then Secrets Manager defaults to
|
136
|
+
# using the AWS account's default CMK (the one named
|
137
|
+
# `aws/secretsmanager`). If a KMS CMK with that name doesn't yet
|
138
|
+
# exist, then AWS Secrets Manager creates it for you automatically the
|
139
|
+
# first time it needs to encrypt a version's `SecretString` or
|
140
|
+
# `SecretBinary` fields.
|
141
|
+
#
|
142
|
+
# You can use the account's default CMK to encrypt and decrypt only
|
143
|
+
# if you call this operation using credentials from the same account
|
144
|
+
# that owns the secret. If the secret is in a different account, then
|
145
|
+
# you must create a custom CMK and specify the ARN in this field.
|
146
|
+
# @return [String]
|
147
|
+
#
|
148
|
+
# @!attribute [rw] secret_binary
|
149
|
+
# (Optional) Specifies binary data that you want to encrypt and store
|
150
|
+
# in the new version of the secret. To use this parameter in the
|
151
|
+
# command-line tools, we recommend that you store your binary data in
|
152
|
+
# a file and then use the appropriate technique for your tool to pass
|
153
|
+
# the contents of the file as a parameter.
|
154
|
+
#
|
155
|
+
# Either `SecretString`, `SecretBinary`, or both must have a value.
|
156
|
+
# They cannot both be empty.
|
157
|
+
#
|
158
|
+
# This `SecretBinary` value is stored separately from the
|
159
|
+
# `SecretString`, but the two parameters jointly share a maximum size
|
160
|
+
# limit.
|
161
|
+
#
|
162
|
+
# This parameter is not available using the Secrets Manager console.
|
163
|
+
# It can be accessed only by using the AWS CLI or one of the AWS SDKs.
|
164
|
+
# @return [String]
|
165
|
+
#
|
166
|
+
# @!attribute [rw] secret_string
|
167
|
+
# (Optional) Specifies text data that you want to encrypt and store in
|
168
|
+
# this new version of the secret.
|
169
|
+
#
|
170
|
+
# Either `SecretString`, `SecretBinary`, or both must have a value.
|
171
|
+
# They cannot both be empty.
|
172
|
+
#
|
173
|
+
# This string value is stored separately from the `SecretBinary`, but
|
174
|
+
# the two parameters jointly share a maximum size limit.
|
175
|
+
#
|
176
|
+
# If you create a secret by using the Secrets Manager console then
|
177
|
+
# Secrets Manager puts the protected secret text in only the
|
178
|
+
# `SecretString` parameter. The Secrets Manager console stores the
|
179
|
+
# information as a JSON structure of key/value pairs that the Lambda
|
180
|
+
# rotation function knows how to parse.
|
181
|
+
#
|
182
|
+
# For storing multiple values, we recommend that you use a JSON text
|
183
|
+
# string argument and specify key/value pairs. For information on how
|
184
|
+
# to format a JSON parameter for the various command line tool
|
185
|
+
# environments, see [Using JSON for Parameters][1] in the *AWS CLI
|
186
|
+
# User Guide*. For example:
|
187
|
+
#
|
188
|
+
# `[\{"Key":"username","Value":"bob"\},\{"Key":"password","Value":"abc123xyz456"\}]`
|
189
|
+
#
|
190
|
+
# If your command-line tool or SDK requires quotation marks around the
|
191
|
+
# parameter, you should use single quotes to avoid confusion with the
|
192
|
+
# double quotes required in the JSON text.
|
193
|
+
#
|
194
|
+
#
|
195
|
+
#
|
196
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
197
|
+
# @return [String]
|
198
|
+
#
|
199
|
+
# @!attribute [rw] tags
|
200
|
+
# (Optional) Specifies a list of user-defined tags that are attached
|
201
|
+
# to the secret. Each tag is a "Key" and "Value" pair of strings.
|
202
|
+
# This operation only appends tags to the existing list of tags. To
|
203
|
+
# remove tags, you must use UntagResource.
|
204
|
+
#
|
205
|
+
# * AWS Secrets Manager tag key names are case sensitive. A tag with
|
206
|
+
# the key "ABC" is a different tag from one with key "abc".
|
207
|
+
#
|
208
|
+
# * If you check tags in IAM policy `Condition` elements as part of
|
209
|
+
# your security strategy, then adding or removing a tag can change
|
210
|
+
# permissions. If the successful completion of this operation would
|
211
|
+
# result in you losing your permissions for this secret, then this
|
212
|
+
# operation is blocked and returns an `Access Denied` error.
|
213
|
+
#
|
214
|
+
# This parameter requires a JSON text string argument. For information
|
215
|
+
# on how to format a JSON parameter for the various command line tool
|
216
|
+
# environments, see [Using JSON for Parameters][1] in the *AWS CLI
|
217
|
+
# User Guide*. For example:
|
218
|
+
#
|
219
|
+
# `[\{"Key":"CostCenter","Value":"12345"\},\{"Key":"environment","Value":"production"\}]`
|
220
|
+
#
|
221
|
+
# If your command-line tool or SDK requires quotation marks around the
|
222
|
+
# parameter, you should use single quotes to avoid confusion with the
|
223
|
+
# double quotes required in the JSON text.
|
224
|
+
#
|
225
|
+
# The following basic restrictions apply to tags:
|
226
|
+
#
|
227
|
+
# * Maximum number of tags per secret—50
|
228
|
+
#
|
229
|
+
# * Maximum key length—127 Unicode characters in UTF-8
|
230
|
+
#
|
231
|
+
# * Maximum value length—255 Unicode characters in UTF-8
|
232
|
+
#
|
233
|
+
# * Tag keys and values are case sensitive.
|
234
|
+
#
|
235
|
+
# * Do not use the `aws:` prefix in your tag names or values because
|
236
|
+
# it is reserved for AWS use. You can't edit or delete tag names or
|
237
|
+
# values with this prefix. Tags with this prefix do not count
|
238
|
+
# against your tags per secret limit.
|
239
|
+
#
|
240
|
+
# * If your tagging schema will be used across multiple services and
|
241
|
+
# resources, remember that other services might have restrictions on
|
242
|
+
# allowed characters. Generally allowed characters are: letters,
|
243
|
+
# spaces, and numbers representable in UTF-8, plus the following
|
244
|
+
# special characters: + - = . \_ : / @.
|
245
|
+
#
|
246
|
+
#
|
247
|
+
#
|
248
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
249
|
+
# @return [Array<Types::Tag>]
|
250
|
+
#
|
251
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/CreateSecretRequest AWS API Documentation
|
252
|
+
#
|
253
|
+
class CreateSecretRequest < Struct.new(
|
254
|
+
:name,
|
255
|
+
:client_request_token,
|
256
|
+
:description,
|
257
|
+
:kms_key_id,
|
258
|
+
:secret_binary,
|
259
|
+
:secret_string,
|
260
|
+
:tags)
|
261
|
+
include Aws::Structure
|
262
|
+
end
|
263
|
+
|
264
|
+
# @!attribute [rw] arn
|
265
|
+
# The Amazon Resource Name (ARN) of the secret that you just created.
|
266
|
+
#
|
267
|
+
# <note markdown="1"> AWS Secrets Manager automatically adds several random characters to
|
268
|
+
# the name at the end of the ARN when you initially create a secret.
|
269
|
+
# This affects only the ARN and not the actual friendly name. This
|
270
|
+
# ensures that if you create a new secret with the same name as an old
|
271
|
+
# secret that you previously deleted, then users with access to the
|
272
|
+
# old secret *don't* automatically get access to the new secret
|
273
|
+
# because the ARNs are different.
|
274
|
+
#
|
275
|
+
# </note>
|
276
|
+
# @return [String]
|
277
|
+
#
|
278
|
+
# @!attribute [rw] name
|
279
|
+
# The friendly name of the secret that you just created.
|
280
|
+
# @return [String]
|
281
|
+
#
|
282
|
+
# @!attribute [rw] version_id
|
283
|
+
# The unique identifier that's associated with the version of the
|
284
|
+
# secret you just created.
|
285
|
+
# @return [String]
|
286
|
+
#
|
287
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/CreateSecretResponse AWS API Documentation
|
288
|
+
#
|
289
|
+
class CreateSecretResponse < Struct.new(
|
290
|
+
:arn,
|
291
|
+
:name,
|
292
|
+
:version_id)
|
293
|
+
include Aws::Structure
|
294
|
+
end
|
295
|
+
|
296
|
+
# @note When making an API call, you may pass DeleteSecretRequest
|
297
|
+
# data as a hash:
|
298
|
+
#
|
299
|
+
# {
|
300
|
+
# secret_id: "SecretIdType", # required
|
301
|
+
# recovery_window_in_days: 1,
|
302
|
+
# }
|
303
|
+
#
|
304
|
+
# @!attribute [rw] secret_id
|
305
|
+
# Specifies the secret that you want to delete. You can specify either
|
306
|
+
# the Amazon Resource Name (ARN) or the friendly name of the secret.
|
307
|
+
# @return [String]
|
308
|
+
#
|
309
|
+
# @!attribute [rw] recovery_window_in_days
|
310
|
+
# (Optional) Specifies the number of days that AWS Secrets Manager
|
311
|
+
# waits before it can delete the secret.
|
312
|
+
#
|
313
|
+
# This value can range from 7 to 30 days. The default value is 30.
|
314
|
+
# @return [Integer]
|
315
|
+
#
|
316
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/DeleteSecretRequest AWS API Documentation
|
317
|
+
#
|
318
|
+
class DeleteSecretRequest < Struct.new(
|
319
|
+
:secret_id,
|
320
|
+
:recovery_window_in_days)
|
321
|
+
include Aws::Structure
|
322
|
+
end
|
323
|
+
|
324
|
+
# @!attribute [rw] arn
|
325
|
+
# The ARN of the secret that is now scheduled for deletion.
|
326
|
+
# @return [String]
|
327
|
+
#
|
328
|
+
# @!attribute [rw] name
|
329
|
+
# The friendly name of the secret that is now scheduled for deletion.
|
330
|
+
# @return [String]
|
331
|
+
#
|
332
|
+
# @!attribute [rw] deletion_date
|
333
|
+
# The date and time after which this secret will be deleted by AWS
|
334
|
+
# Secrets Manager and is no longer recoverable. This value is the date
|
335
|
+
# and time of the delete request plus the number of days specified in
|
336
|
+
# `RecoveryWindowInDays`.
|
337
|
+
# @return [Time]
|
338
|
+
#
|
339
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/DeleteSecretResponse AWS API Documentation
|
340
|
+
#
|
341
|
+
class DeleteSecretResponse < Struct.new(
|
342
|
+
:arn,
|
343
|
+
:name,
|
344
|
+
:deletion_date)
|
345
|
+
include Aws::Structure
|
346
|
+
end
|
347
|
+
|
348
|
+
# @note When making an API call, you may pass DescribeSecretRequest
|
349
|
+
# data as a hash:
|
350
|
+
#
|
351
|
+
# {
|
352
|
+
# secret_id: "SecretIdType", # required
|
353
|
+
# }
|
354
|
+
#
|
355
|
+
# @!attribute [rw] secret_id
|
356
|
+
# The identifier of the secret whose details you want to retrieve. You
|
357
|
+
# can specify either the Amazon Resource Name (ARN) or the friendly
|
358
|
+
# name of the secret.
|
359
|
+
# @return [String]
|
360
|
+
#
|
361
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/DescribeSecretRequest AWS API Documentation
|
362
|
+
#
|
363
|
+
class DescribeSecretRequest < Struct.new(
|
364
|
+
:secret_id)
|
365
|
+
include Aws::Structure
|
366
|
+
end
|
367
|
+
|
368
|
+
# @!attribute [rw] arn
|
369
|
+
# The ARN of the secret.
|
370
|
+
# @return [String]
|
371
|
+
#
|
372
|
+
# @!attribute [rw] name
|
373
|
+
# The user-provided friendly name of the secret.
|
374
|
+
# @return [String]
|
375
|
+
#
|
376
|
+
# @!attribute [rw] description
|
377
|
+
# The user-provided description of the secret.
|
378
|
+
# @return [String]
|
379
|
+
#
|
380
|
+
# @!attribute [rw] kms_key_id
|
381
|
+
# The ARN or alias of the AWS KMS customer master key (CMK) that's
|
382
|
+
# used to encrypt the `SecretString` and `SecretBinary` fields in each
|
383
|
+
# version of the secret. If you don't provide a key, then AWS Secrets
|
384
|
+
# Manager defaults to encrypting the secret fields with the default
|
385
|
+
# KMS CMK (the one named `awssecretsmanager`) for this account.
|
386
|
+
# @return [String]
|
387
|
+
#
|
388
|
+
# @!attribute [rw] rotation_enabled
|
389
|
+
# Specifies whether automatic rotation is enabled for this secret.
|
390
|
+
#
|
391
|
+
# To enable rotation, use RotateSecret with
|
392
|
+
# `AutomaticallyRotateAfterDays` set to a value greater than 0. To
|
393
|
+
# disable rotation, use CancelRotateSecret.
|
394
|
+
# @return [Boolean]
|
395
|
+
#
|
396
|
+
# @!attribute [rw] rotation_lambda_arn
|
397
|
+
# The ARN of a Lambda function that's invoked by AWS Secrets Manager
|
398
|
+
# to rotate the secret either automatically per the schedule or
|
399
|
+
# manually by a call to `RotateSecret`.
|
400
|
+
# @return [String]
|
401
|
+
#
|
402
|
+
# @!attribute [rw] rotation_rules
|
403
|
+
# A structure that contains the rotation configuration for this
|
404
|
+
# secret.
|
405
|
+
# @return [Types::RotationRulesType]
|
406
|
+
#
|
407
|
+
# @!attribute [rw] last_rotated_date
|
408
|
+
# The last date and time that the Secrets Manager rotation process for
|
409
|
+
# this secret was invoked.
|
410
|
+
# @return [Time]
|
411
|
+
#
|
412
|
+
# @!attribute [rw] last_changed_date
|
413
|
+
# The last date and time that this secret was modified in any way.
|
414
|
+
# @return [Time]
|
415
|
+
#
|
416
|
+
# @!attribute [rw] last_accessed_date
|
417
|
+
# The last date that this secret was accessed. This value is truncated
|
418
|
+
# to midnight of the date and therefore shows only the date, not the
|
419
|
+
# time.
|
420
|
+
# @return [Time]
|
421
|
+
#
|
422
|
+
# @!attribute [rw] deleted_date
|
423
|
+
# This value exists if the secret is scheduled for deletion. Some time
|
424
|
+
# after the specified date and time, Secrets Manager deletes the
|
425
|
+
# secret and all of its versions.
|
426
|
+
#
|
427
|
+
# If a secret is scheduled for deletion, then its details, including
|
428
|
+
# the encrypted secret information, is not accessible. To cancel a
|
429
|
+
# scheduled deletion and restore access, use RestoreSecret.
|
430
|
+
# @return [Time]
|
431
|
+
#
|
432
|
+
# @!attribute [rw] tags
|
433
|
+
# The list of user-defined tags that are associated with the secret.
|
434
|
+
# To add tags to a secret, use TagResource. To remove tags, use
|
435
|
+
# UntagResource.
|
436
|
+
# @return [Array<Types::Tag>]
|
437
|
+
#
|
438
|
+
# @!attribute [rw] version_ids_to_stages
|
439
|
+
# A list of all of the currently assigned `VersionStage` staging
|
440
|
+
# labels and the `SecretVersionId` that each is attached to. Staging
|
441
|
+
# labels are used to keep track of the different versions during the
|
442
|
+
# rotation process.
|
443
|
+
#
|
444
|
+
# <note markdown="1"> A version that does not have any staging labels attached is
|
445
|
+
# considered deprecated and subject to deletion. Such versions are not
|
446
|
+
# included in this list.
|
447
|
+
#
|
448
|
+
# </note>
|
449
|
+
# @return [Hash<String,Array<String>>]
|
450
|
+
#
|
451
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/DescribeSecretResponse AWS API Documentation
|
452
|
+
#
|
453
|
+
class DescribeSecretResponse < Struct.new(
|
454
|
+
:arn,
|
455
|
+
:name,
|
456
|
+
:description,
|
457
|
+
:kms_key_id,
|
458
|
+
:rotation_enabled,
|
459
|
+
:rotation_lambda_arn,
|
460
|
+
:rotation_rules,
|
461
|
+
:last_rotated_date,
|
462
|
+
:last_changed_date,
|
463
|
+
:last_accessed_date,
|
464
|
+
:deleted_date,
|
465
|
+
:tags,
|
466
|
+
:version_ids_to_stages)
|
467
|
+
include Aws::Structure
|
468
|
+
end
|
469
|
+
|
470
|
+
# @note When making an API call, you may pass GetRandomPasswordRequest
|
471
|
+
# data as a hash:
|
472
|
+
#
|
473
|
+
# {
|
474
|
+
# password_length: 1,
|
475
|
+
# exclude_characters: "ExcludeCharactersType",
|
476
|
+
# exclude_numbers: false,
|
477
|
+
# exclude_punctuation: false,
|
478
|
+
# exclude_uppercase: false,
|
479
|
+
# exclude_lowercase: false,
|
480
|
+
# include_space: false,
|
481
|
+
# require_each_included_type: false,
|
482
|
+
# }
|
483
|
+
#
|
484
|
+
# @!attribute [rw] password_length
|
485
|
+
# The desired length of the generated password. The default value if
|
486
|
+
# you do not include this parameter is 32 characters.
|
487
|
+
# @return [Integer]
|
488
|
+
#
|
489
|
+
# @!attribute [rw] exclude_characters
|
490
|
+
# A string that includes characters that should not be included in the
|
491
|
+
# generated password. The default is that all characters from the
|
492
|
+
# included sets can be used.
|
493
|
+
# @return [String]
|
494
|
+
#
|
495
|
+
# @!attribute [rw] exclude_numbers
|
496
|
+
# Specifies that the generated password should not include digits. The
|
497
|
+
# default if you do not include this switch parameter is that digits
|
498
|
+
# can be included.
|
499
|
+
# @return [Boolean]
|
500
|
+
#
|
501
|
+
# @!attribute [rw] exclude_punctuation
|
502
|
+
# Specifies that the generated password should not include punctuation
|
503
|
+
# characters. The default if you do not include this switch parameter
|
504
|
+
# is that punctuation characters can be included.
|
505
|
+
# @return [Boolean]
|
506
|
+
#
|
507
|
+
# @!attribute [rw] exclude_uppercase
|
508
|
+
# Specifies that the generated password should not include uppercase
|
509
|
+
# letters. The default if you do not include this switch parameter is
|
510
|
+
# that uppercase letters can be included.
|
511
|
+
# @return [Boolean]
|
512
|
+
#
|
513
|
+
# @!attribute [rw] exclude_lowercase
|
514
|
+
# Specifies that the generated password should not include lowercase
|
515
|
+
# letters. The default if you do not include this switch parameter is
|
516
|
+
# that lowercase letters can be included.
|
517
|
+
# @return [Boolean]
|
518
|
+
#
|
519
|
+
# @!attribute [rw] include_space
|
520
|
+
# Specifies that the generated password can include the space
|
521
|
+
# character. The default if you do not include this switch parameter
|
522
|
+
# is that the space character is not included.
|
523
|
+
# @return [Boolean]
|
524
|
+
#
|
525
|
+
# @!attribute [rw] require_each_included_type
|
526
|
+
# A boolean value that specifies whether the generated password must
|
527
|
+
# include at least one of every allowed character type. The default
|
528
|
+
# value is `True` and the operation requires at least one of every
|
529
|
+
# character type.
|
530
|
+
# @return [Boolean]
|
531
|
+
#
|
532
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/GetRandomPasswordRequest AWS API Documentation
|
533
|
+
#
|
534
|
+
class GetRandomPasswordRequest < Struct.new(
|
535
|
+
:password_length,
|
536
|
+
:exclude_characters,
|
537
|
+
:exclude_numbers,
|
538
|
+
:exclude_punctuation,
|
539
|
+
:exclude_uppercase,
|
540
|
+
:exclude_lowercase,
|
541
|
+
:include_space,
|
542
|
+
:require_each_included_type)
|
543
|
+
include Aws::Structure
|
544
|
+
end
|
545
|
+
|
546
|
+
# @!attribute [rw] random_password
|
547
|
+
# A string with the generated password.
|
548
|
+
# @return [String]
|
549
|
+
#
|
550
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/GetRandomPasswordResponse AWS API Documentation
|
551
|
+
#
|
552
|
+
class GetRandomPasswordResponse < Struct.new(
|
553
|
+
:random_password)
|
554
|
+
include Aws::Structure
|
555
|
+
end
|
556
|
+
|
557
|
+
# @note When making an API call, you may pass GetSecretValueRequest
|
558
|
+
# data as a hash:
|
559
|
+
#
|
560
|
+
# {
|
561
|
+
# secret_id: "SecretIdType", # required
|
562
|
+
# version_id: "SecretVersionIdType",
|
563
|
+
# version_stage: "SecretVersionStageType",
|
564
|
+
# }
|
565
|
+
#
|
566
|
+
# @!attribute [rw] secret_id
|
567
|
+
# Specifies the secret containing the version that you want to
|
568
|
+
# retrieve. You can specify either the Amazon Resource Name (ARN) or
|
569
|
+
# the friendly name of the secret.
|
570
|
+
# @return [String]
|
571
|
+
#
|
572
|
+
# @!attribute [rw] version_id
|
573
|
+
# Specifies the unique identifier of the version of the secret that
|
574
|
+
# you want to retrieve. If you specify this parameter then don't
|
575
|
+
# specify `VersionStage`. If you don't specify either a
|
576
|
+
# `VersionStage` or `SecretVersionId` then the default is to perform
|
577
|
+
# the operation on the version with the `VersionStage` value of
|
578
|
+
# `AWSCURRENT`.
|
579
|
+
#
|
580
|
+
# This value is typically a [UUID-type][1] value with 32 hexadecimal
|
581
|
+
# digits.
|
582
|
+
#
|
583
|
+
#
|
584
|
+
#
|
585
|
+
# [1]: https://wikipedia.org/wiki/Universally_unique_identifier
|
586
|
+
# @return [String]
|
587
|
+
#
|
588
|
+
# @!attribute [rw] version_stage
|
589
|
+
# Specifies the secret version that you want to retrieve by the
|
590
|
+
# staging label attached to the version.
|
591
|
+
#
|
592
|
+
# Staging labels are used to keep track of different versions during
|
593
|
+
# the rotation process. If you use this parameter then don't specify
|
594
|
+
# `SecretVersionId`. If you don't specify either a `VersionStage` or
|
595
|
+
# `SecretVersionId`, then the default is to perform the operation on
|
596
|
+
# the version with the `VersionStage` value of `AWSCURRENT`.
|
597
|
+
# @return [String]
|
598
|
+
#
|
599
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/GetSecretValueRequest AWS API Documentation
|
600
|
+
#
|
601
|
+
class GetSecretValueRequest < Struct.new(
|
602
|
+
:secret_id,
|
603
|
+
:version_id,
|
604
|
+
:version_stage)
|
605
|
+
include Aws::Structure
|
606
|
+
end
|
607
|
+
|
608
|
+
# @!attribute [rw] arn
|
609
|
+
# The ARN of the secret.
|
610
|
+
# @return [String]
|
611
|
+
#
|
612
|
+
# @!attribute [rw] name
|
613
|
+
# The friendly name of the secret.
|
614
|
+
# @return [String]
|
615
|
+
#
|
616
|
+
# @!attribute [rw] version_id
|
617
|
+
# The unique identifier of this version of the secret.
|
618
|
+
# @return [String]
|
619
|
+
#
|
620
|
+
# @!attribute [rw] secret_binary
|
621
|
+
# The decrypted part of the protected secret information that was
|
622
|
+
# originally provided as binary data in the form of a byte array. The
|
623
|
+
# response parameter represents the binary data as a
|
624
|
+
# [base64-encoded][1] string.
|
625
|
+
#
|
626
|
+
# This parameter is not used if the secret is created by the Secrets
|
627
|
+
# Manager console.
|
628
|
+
#
|
629
|
+
# If you store custom information in this field of the secret, then
|
630
|
+
# you must code your Lambda rotation function to parse and interpret
|
631
|
+
# whatever you store in the `SecretString` or `SecretBinary` fields.
|
632
|
+
#
|
633
|
+
#
|
634
|
+
#
|
635
|
+
# [1]: https://tools.ietf.org/html/rfc4648#section-4
|
636
|
+
# @return [String]
|
637
|
+
#
|
638
|
+
# @!attribute [rw] secret_string
|
639
|
+
# The decrypted part of the protected secret information that was
|
640
|
+
# originally provided as a string.
|
641
|
+
#
|
642
|
+
# If you create this secret by using the Secrets Manager console then
|
643
|
+
# only the `SecretString` parameter contains data. Secrets Manager
|
644
|
+
# stores the information as a JSON structure of key/value pairs that
|
645
|
+
# the Lambda rotation function knows how to parse.
|
646
|
+
#
|
647
|
+
# If you store custom information in the secret by using the
|
648
|
+
# CreateSecret, UpdateSecret, or PutSecretValue API operations instead
|
649
|
+
# of the AWS Secrets Manager console, or by using the **Other secret
|
650
|
+
# type** in the console, then you must code your Lambda rotation
|
651
|
+
# function to parse and interpret those values.
|
652
|
+
# @return [String]
|
653
|
+
#
|
654
|
+
# @!attribute [rw] version_stages
|
655
|
+
# A list of all of the staging labels currently attached to this
|
656
|
+
# version of the secret.
|
657
|
+
# @return [Array<String>]
|
658
|
+
#
|
659
|
+
# @!attribute [rw] created_date
|
660
|
+
# The date and time that this version of the secret was created.
|
661
|
+
# @return [Time]
|
662
|
+
#
|
663
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/GetSecretValueResponse AWS API Documentation
|
664
|
+
#
|
665
|
+
class GetSecretValueResponse < Struct.new(
|
666
|
+
:arn,
|
667
|
+
:name,
|
668
|
+
:version_id,
|
669
|
+
:secret_binary,
|
670
|
+
:secret_string,
|
671
|
+
:version_stages,
|
672
|
+
:created_date)
|
673
|
+
include Aws::Structure
|
674
|
+
end
|
675
|
+
|
676
|
+
# @note When making an API call, you may pass ListSecretVersionIdsRequest
|
677
|
+
# data as a hash:
|
678
|
+
#
|
679
|
+
# {
|
680
|
+
# secret_id: "SecretIdType", # required
|
681
|
+
# max_results: 1,
|
682
|
+
# next_token: "NextTokenType",
|
683
|
+
# include_deprecated: false,
|
684
|
+
# }
|
685
|
+
#
|
686
|
+
# @!attribute [rw] secret_id
|
687
|
+
# The identifier for the secret containing the versions you want to
|
688
|
+
# list. You can specify either the Amazon Resource Name (ARN) or the
|
689
|
+
# friendly name of the secret.
|
690
|
+
# @return [String]
|
691
|
+
#
|
692
|
+
# @!attribute [rw] max_results
|
693
|
+
# (Optional) Limits the number of results that you want to include in
|
694
|
+
# the response. If you don't include this parameter, it defaults to a
|
695
|
+
# value that's specific to the operation. If additional items exist
|
696
|
+
# beyond the maximum you specify, the `NextToken` response element is
|
697
|
+
# present and has a value (isn't null). Include that value as the
|
698
|
+
# `NextToken` request parameter in the next call to the operation to
|
699
|
+
# get the next part of the results. Note that AWS Secrets Manager
|
700
|
+
# might return fewer results than the maximum even when there are more
|
701
|
+
# results available. You should check `NextToken` after every
|
702
|
+
# operation to ensure that you receive all of the results.
|
703
|
+
# @return [Integer]
|
704
|
+
#
|
705
|
+
# @!attribute [rw] next_token
|
706
|
+
# (Optional) Use this parameter in a request if you receive a
|
707
|
+
# `NextToken` response in a previous request that indicates that
|
708
|
+
# there's more output available. In a subsequent call, set it to the
|
709
|
+
# value of the previous call's `NextToken` response to indicate where
|
710
|
+
# the output should continue from.
|
711
|
+
# @return [String]
|
712
|
+
#
|
713
|
+
# @!attribute [rw] include_deprecated
|
714
|
+
# (Optional) Specifies that you want the results to include versions
|
715
|
+
# that do not have any staging labels attached to them. Such versions
|
716
|
+
# are considered deprecated and are subject to deletion by Secrets
|
717
|
+
# Manager as needed.
|
718
|
+
# @return [Boolean]
|
719
|
+
#
|
720
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecretVersionIdsRequest AWS API Documentation
|
721
|
+
#
|
722
|
+
class ListSecretVersionIdsRequest < Struct.new(
|
723
|
+
:secret_id,
|
724
|
+
:max_results,
|
725
|
+
:next_token,
|
726
|
+
:include_deprecated)
|
727
|
+
include Aws::Structure
|
728
|
+
end
|
729
|
+
|
730
|
+
# @!attribute [rw] versions
|
731
|
+
# The list of the currently available versions of the specified
|
732
|
+
# secret.
|
733
|
+
# @return [Array<Types::SecretVersionsListEntry>]
|
734
|
+
#
|
735
|
+
# @!attribute [rw] next_token
|
736
|
+
# If present in the response, this value indicates that there's more
|
737
|
+
# output available than what's included in the current response. This
|
738
|
+
# can occur even when the response includes no values at all, such as
|
739
|
+
# when you ask for a filtered view of a very long list. Use this value
|
740
|
+
# in the `NextToken` request parameter in a subsequent call to the
|
741
|
+
# operation to continue processing and get the next part of the
|
742
|
+
# output. You should repeat this until the `NextToken` response
|
743
|
+
# element comes back empty (as `null`).
|
744
|
+
# @return [String]
|
745
|
+
#
|
746
|
+
# @!attribute [rw] arn
|
747
|
+
# The Amazon Resource Name (ARN) for the secret.
|
748
|
+
#
|
749
|
+
# <note markdown="1"> AWS Secrets Manager automatically adds several random characters to
|
750
|
+
# the name at the end of the ARN when you initially create a secret.
|
751
|
+
# This affects only the ARN and not the actual friendly name. This
|
752
|
+
# ensures that if you create a new secret with the same name as an old
|
753
|
+
# secret that you previously deleted, then users with access to the
|
754
|
+
# old secret *don't* automatically get access to the new secret
|
755
|
+
# because the ARNs are different.
|
756
|
+
#
|
757
|
+
# </note>
|
758
|
+
# @return [String]
|
759
|
+
#
|
760
|
+
# @!attribute [rw] name
|
761
|
+
# The friendly name of the secret.
|
762
|
+
# @return [String]
|
763
|
+
#
|
764
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecretVersionIdsResponse AWS API Documentation
|
765
|
+
#
|
766
|
+
class ListSecretVersionIdsResponse < Struct.new(
|
767
|
+
:versions,
|
768
|
+
:next_token,
|
769
|
+
:arn,
|
770
|
+
:name)
|
771
|
+
include Aws::Structure
|
772
|
+
end
|
773
|
+
|
774
|
+
# @note When making an API call, you may pass ListSecretsRequest
|
775
|
+
# data as a hash:
|
776
|
+
#
|
777
|
+
# {
|
778
|
+
# max_results: 1,
|
779
|
+
# next_token: "NextTokenType",
|
780
|
+
# }
|
781
|
+
#
|
782
|
+
# @!attribute [rw] max_results
|
783
|
+
# (Optional) Limits the number of results that you want to include in
|
784
|
+
# the response. If you don't include this parameter, it defaults to a
|
785
|
+
# value that's specific to the operation. If additional items exist
|
786
|
+
# beyond the maximum you specify, the `NextToken` response element is
|
787
|
+
# present and has a value (isn't null). Include that value as the
|
788
|
+
# `NextToken` request parameter in the next call to the operation to
|
789
|
+
# get the next part of the results. Note that AWS Secrets Manager
|
790
|
+
# might return fewer results than the maximum even when there are more
|
791
|
+
# results available. You should check `NextToken` after every
|
792
|
+
# operation to ensure that you receive all of the results.
|
793
|
+
# @return [Integer]
|
794
|
+
#
|
795
|
+
# @!attribute [rw] next_token
|
796
|
+
# (Optional) Use this parameter in a request if you receive a
|
797
|
+
# `NextToken` response in a previous request that indicates that
|
798
|
+
# there's more output available. In a subsequent call, set it to the
|
799
|
+
# value of the previous call's `NextToken` response to indicate where
|
800
|
+
# the output should continue from.
|
801
|
+
# @return [String]
|
802
|
+
#
|
803
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecretsRequest AWS API Documentation
|
804
|
+
#
|
805
|
+
class ListSecretsRequest < Struct.new(
|
806
|
+
:max_results,
|
807
|
+
:next_token)
|
808
|
+
include Aws::Structure
|
809
|
+
end
|
810
|
+
|
811
|
+
# @!attribute [rw] secret_list
|
812
|
+
# A list of the secrets in the account.
|
813
|
+
# @return [Array<Types::SecretListEntry>]
|
814
|
+
#
|
815
|
+
# @!attribute [rw] next_token
|
816
|
+
# If present in the response, this value indicates that there's more
|
817
|
+
# output available than what's included in the current response. This
|
818
|
+
# can occur even when the response includes no values at all, such as
|
819
|
+
# when you ask for a filtered view of a very long list. Use this value
|
820
|
+
# in the `NextToken` request parameter in a subsequent call to the
|
821
|
+
# operation to continue processing and get the next part of the
|
822
|
+
# output. You should repeat this until the `NextToken` response
|
823
|
+
# element comes back empty (as `null`).
|
824
|
+
# @return [String]
|
825
|
+
#
|
826
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/ListSecretsResponse AWS API Documentation
|
827
|
+
#
|
828
|
+
class ListSecretsResponse < Struct.new(
|
829
|
+
:secret_list,
|
830
|
+
:next_token)
|
831
|
+
include Aws::Structure
|
832
|
+
end
|
833
|
+
|
834
|
+
# @note When making an API call, you may pass PutSecretValueRequest
|
835
|
+
# data as a hash:
|
836
|
+
#
|
837
|
+
# {
|
838
|
+
# secret_id: "SecretIdType", # required
|
839
|
+
# client_request_token: "ClientRequestTokenType",
|
840
|
+
# secret_binary: "data",
|
841
|
+
# secret_string: "SecretStringType",
|
842
|
+
# version_stages: ["SecretVersionStageType"],
|
843
|
+
# }
|
844
|
+
#
|
845
|
+
# @!attribute [rw] secret_id
|
846
|
+
# Specifies the secret to which you want to add a new version. You can
|
847
|
+
# specify either the Amazon Resource Name (ARN) or the friendly name
|
848
|
+
# of the secret. The secret must already exist.
|
849
|
+
#
|
850
|
+
# The secret name can consist of uppercase letters, lowercase letters,
|
851
|
+
# digits, and any of the following characters: /\_+=.@- Spaces are
|
852
|
+
# not permitted.
|
853
|
+
# @return [String]
|
854
|
+
#
|
855
|
+
# @!attribute [rw] client_request_token
|
856
|
+
# (Optional) Specifies a unique identifier for the new version of the
|
857
|
+
# secret.
|
858
|
+
#
|
859
|
+
# <note markdown="1"> If you use the AWS CLI or one of the AWS SDK to call this operation,
|
860
|
+
# then you can leave this parameter empty. The CLI or SDK generates a
|
861
|
+
# random UUID for you and includes that in the request. If you don't
|
862
|
+
# use the SDK and instead generate a raw HTTP request to the AWS
|
863
|
+
# Secrets Manager service endpoint, then you must generate a
|
864
|
+
# `ClientRequestToken` yourself for new versions and include that
|
865
|
+
# value in the request.
|
866
|
+
#
|
867
|
+
# </note>
|
868
|
+
#
|
869
|
+
# This value helps ensure idempotency. Secrets Manager uses this value
|
870
|
+
# to prevent the accidental creation of duplicate versions if there
|
871
|
+
# are failures and retries during the Lambda rotation function's
|
872
|
+
# processing. We recommend that you generate a [UUID-type][1] value to
|
873
|
+
# ensure uniqueness within the specified secret.
|
874
|
+
#
|
875
|
+
# * If the `ClientRequestToken` value isn't already associated with a
|
876
|
+
# version of the secret then a new version of the secret is created.
|
877
|
+
#
|
878
|
+
# * If a version with this value already exists and that version's
|
879
|
+
# `SecretString` or `SecretBinary` values are the same as those in
|
880
|
+
# the request then the request is ignored (the operation is
|
881
|
+
# idempotent).
|
882
|
+
#
|
883
|
+
# * If a version with this value already exists and that version's
|
884
|
+
# `SecretString` and `SecretBinary` values are different from those
|
885
|
+
# in the request then the request fails because you cannot modify an
|
886
|
+
# existing secret version. You can only create new versions to store
|
887
|
+
# new secret values.
|
888
|
+
#
|
889
|
+
# This value becomes the `SecretVersionId` of the new version.
|
890
|
+
#
|
891
|
+
# **A suitable default value is auto-generated.** You should normally
|
892
|
+
# not need to pass this option.
|
893
|
+
#
|
894
|
+
#
|
895
|
+
#
|
896
|
+
# [1]: https://wikipedia.org/wiki/Universally_unique_identifier
|
897
|
+
# @return [String]
|
898
|
+
#
|
899
|
+
# @!attribute [rw] secret_binary
|
900
|
+
# (Optional) Specifies binary data that you want to encrypt and store
|
901
|
+
# in the new version of the secret. To use this parameter in the
|
902
|
+
# command-line tools, we recommend that you store your binary data in
|
903
|
+
# a file and then use the appropriate technique for your tool to pass
|
904
|
+
# the contents of the file as a parameter. Either `SecretBinary` or
|
905
|
+
# `SecretString` must have a value. They cannot both be empty.
|
906
|
+
#
|
907
|
+
# This parameter is not accessible if the secret using the Secrets
|
908
|
+
# Manager console.
|
909
|
+
# @return [String]
|
910
|
+
#
|
911
|
+
# @!attribute [rw] secret_string
|
912
|
+
# (Optional) Specifies text data that you want to encrypt and store in
|
913
|
+
# this new version of the secret. Either `SecretString` or
|
914
|
+
# `SecretBinary` must have a value. They cannot both be empty.
|
915
|
+
#
|
916
|
+
# If you create this secret by using the Secrets Manager console then
|
917
|
+
# Secrets Manager puts the protected secret text in only the
|
918
|
+
# `SecretString` parameter. The Secrets Manager console stores the
|
919
|
+
# information as a JSON structure of key/value pairs that the default
|
920
|
+
# Lambda rotation function knows how to parse.
|
921
|
+
#
|
922
|
+
# For storing multiple values, we recommend that you use a JSON text
|
923
|
+
# string argument and specify key/value pairs. For information on how
|
924
|
+
# to format a JSON parameter for the various command line tool
|
925
|
+
# environments, see [Using JSON for Parameters][1] in the *AWS CLI
|
926
|
+
# User Guide*.
|
927
|
+
#
|
928
|
+
#
|
929
|
+
#
|
930
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
931
|
+
# @return [String]
|
932
|
+
#
|
933
|
+
# @!attribute [rw] version_stages
|
934
|
+
# (Optional) Specifies a list of staging labels that are attached to
|
935
|
+
# this version of the secret. These staging labels are used to track
|
936
|
+
# the versions through the rotation process by the Lambda rotation
|
937
|
+
# function.
|
938
|
+
#
|
939
|
+
# A staging label must be unique to a single version of the secret. If
|
940
|
+
# you specify a staging label that's already associated with a
|
941
|
+
# different version of the same secret then that staging label is
|
942
|
+
# automatically removed from the other version and attached to this
|
943
|
+
# version.
|
944
|
+
#
|
945
|
+
# If you do not specify a value for `VersionStages` then AWS Secrets
|
946
|
+
# Manager automatically moves the staging label `AWSCURRENT` to this
|
947
|
+
# new version.
|
948
|
+
# @return [Array<String>]
|
949
|
+
#
|
950
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutSecretValueRequest AWS API Documentation
|
951
|
+
#
|
952
|
+
class PutSecretValueRequest < Struct.new(
|
953
|
+
:secret_id,
|
954
|
+
:client_request_token,
|
955
|
+
:secret_binary,
|
956
|
+
:secret_string,
|
957
|
+
:version_stages)
|
958
|
+
include Aws::Structure
|
959
|
+
end
|
960
|
+
|
961
|
+
# @!attribute [rw] arn
|
962
|
+
# The Amazon Resource Name (ARN) for the secret for which you just
|
963
|
+
# created a version.
|
964
|
+
# @return [String]
|
965
|
+
#
|
966
|
+
# @!attribute [rw] name
|
967
|
+
# The friendly name of the secret for which you just created or
|
968
|
+
# updated a version.
|
969
|
+
# @return [String]
|
970
|
+
#
|
971
|
+
# @!attribute [rw] version_id
|
972
|
+
# The unique identifier of the version of the secret you just created
|
973
|
+
# or updated.
|
974
|
+
# @return [String]
|
975
|
+
#
|
976
|
+
# @!attribute [rw] version_stages
|
977
|
+
# The list of staging labels that are currently attached to this
|
978
|
+
# version of the secret. Staging labels are used to track a version as
|
979
|
+
# it progresses through the secret rotation process.
|
980
|
+
# @return [Array<String>]
|
981
|
+
#
|
982
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/PutSecretValueResponse AWS API Documentation
|
983
|
+
#
|
984
|
+
class PutSecretValueResponse < Struct.new(
|
985
|
+
:arn,
|
986
|
+
:name,
|
987
|
+
:version_id,
|
988
|
+
:version_stages)
|
989
|
+
include Aws::Structure
|
990
|
+
end
|
991
|
+
|
992
|
+
# @note When making an API call, you may pass RestoreSecretRequest
|
993
|
+
# data as a hash:
|
994
|
+
#
|
995
|
+
# {
|
996
|
+
# secret_id: "SecretIdType", # required
|
997
|
+
# }
|
998
|
+
#
|
999
|
+
# @!attribute [rw] secret_id
|
1000
|
+
# Specifies the secret that you want to restore from a previously
|
1001
|
+
# scheduled deletion. You can specify either the Amazon Resource Name
|
1002
|
+
# (ARN) or the friendly name of the secret.
|
1003
|
+
# @return [String]
|
1004
|
+
#
|
1005
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RestoreSecretRequest AWS API Documentation
|
1006
|
+
#
|
1007
|
+
class RestoreSecretRequest < Struct.new(
|
1008
|
+
:secret_id)
|
1009
|
+
include Aws::Structure
|
1010
|
+
end
|
1011
|
+
|
1012
|
+
# @!attribute [rw] arn
|
1013
|
+
# The ARN of the secret that was restored.
|
1014
|
+
# @return [String]
|
1015
|
+
#
|
1016
|
+
# @!attribute [rw] name
|
1017
|
+
# The friendly name of the secret that was restored.
|
1018
|
+
# @return [String]
|
1019
|
+
#
|
1020
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RestoreSecretResponse AWS API Documentation
|
1021
|
+
#
|
1022
|
+
class RestoreSecretResponse < Struct.new(
|
1023
|
+
:arn,
|
1024
|
+
:name)
|
1025
|
+
include Aws::Structure
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
# @note When making an API call, you may pass RotateSecretRequest
|
1029
|
+
# data as a hash:
|
1030
|
+
#
|
1031
|
+
# {
|
1032
|
+
# secret_id: "SecretIdType", # required
|
1033
|
+
# client_request_token: "ClientRequestTokenType",
|
1034
|
+
# rotation_lambda_arn: "RotationLambdaARNType",
|
1035
|
+
# rotation_rules: {
|
1036
|
+
# automatically_after_days: 1,
|
1037
|
+
# },
|
1038
|
+
# }
|
1039
|
+
#
|
1040
|
+
# @!attribute [rw] secret_id
|
1041
|
+
# Specifies the secret that you want to rotate. You can specify either
|
1042
|
+
# the Amazon Resource Name (ARN) or the friendly name of the secret.
|
1043
|
+
# @return [String]
|
1044
|
+
#
|
1045
|
+
# @!attribute [rw] client_request_token
|
1046
|
+
# (Optional) Specifies a unique identifier for the new version of the
|
1047
|
+
# secret that helps ensure idempotency.
|
1048
|
+
#
|
1049
|
+
# If you use the AWS CLI or one of the AWS SDK to call this operation,
|
1050
|
+
# then you can leave this parameter empty. The CLI or SDK generates a
|
1051
|
+
# random UUID for you and includes that in the request for this
|
1052
|
+
# parameter. If you don't use the SDK and instead generate a raw HTTP
|
1053
|
+
# request to the AWS Secrets Manager service endpoint, then you must
|
1054
|
+
# generate a `ClientRequestToken` yourself for new versions and
|
1055
|
+
# include that value in the request.
|
1056
|
+
#
|
1057
|
+
# You only need to specify your own value if you are implementing your
|
1058
|
+
# own retry logic and want to ensure that a given secret is not
|
1059
|
+
# created twice. We recommend that you generate a [UUID-type][1] value
|
1060
|
+
# to ensure uniqueness within the specified secret.
|
1061
|
+
#
|
1062
|
+
# Secrets Manager uses this value to prevent the accidental creation
|
1063
|
+
# of duplicate versions if there are failures and retries during the
|
1064
|
+
# function's processing.
|
1065
|
+
#
|
1066
|
+
# * If the `ClientRequestToken` value isn't already associated with a
|
1067
|
+
# version of the secret then a new version of the secret is created.
|
1068
|
+
#
|
1069
|
+
# * If a version with this value already exists and that version's
|
1070
|
+
# `SecretString` and `SecretBinary` values are the same as the
|
1071
|
+
# request, then the request is ignored (the operation is
|
1072
|
+
# idempotent).
|
1073
|
+
#
|
1074
|
+
# * If a version with this value already exists and that version's
|
1075
|
+
# `SecretString` and `SecretBinary` values are different from the
|
1076
|
+
# request then an error occurs because you cannot modify an existing
|
1077
|
+
# secret value.
|
1078
|
+
#
|
1079
|
+
# This value becomes the `SecretVersionId` of the new version.
|
1080
|
+
#
|
1081
|
+
# **A suitable default value is auto-generated.** You should normally
|
1082
|
+
# not need to pass this option.
|
1083
|
+
#
|
1084
|
+
#
|
1085
|
+
#
|
1086
|
+
# [1]: https://wikipedia.org/wiki/Universally_unique_identifier
|
1087
|
+
# @return [String]
|
1088
|
+
#
|
1089
|
+
# @!attribute [rw] rotation_lambda_arn
|
1090
|
+
# (Optional) Specifies the ARN of the Lambda function that can rotate
|
1091
|
+
# the secret.
|
1092
|
+
# @return [String]
|
1093
|
+
#
|
1094
|
+
# @!attribute [rw] rotation_rules
|
1095
|
+
# A structure that defines the rotation configuration for this secret.
|
1096
|
+
# @return [Types::RotationRulesType]
|
1097
|
+
#
|
1098
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RotateSecretRequest AWS API Documentation
|
1099
|
+
#
|
1100
|
+
class RotateSecretRequest < Struct.new(
|
1101
|
+
:secret_id,
|
1102
|
+
:client_request_token,
|
1103
|
+
:rotation_lambda_arn,
|
1104
|
+
:rotation_rules)
|
1105
|
+
include Aws::Structure
|
1106
|
+
end
|
1107
|
+
|
1108
|
+
# @!attribute [rw] arn
|
1109
|
+
# The ARN of the secret.
|
1110
|
+
# @return [String]
|
1111
|
+
#
|
1112
|
+
# @!attribute [rw] name
|
1113
|
+
# The friendly name of the secret.
|
1114
|
+
# @return [String]
|
1115
|
+
#
|
1116
|
+
# @!attribute [rw] version_id
|
1117
|
+
# The ID of the new version of the secret created by the rotation
|
1118
|
+
# started by this request.
|
1119
|
+
# @return [String]
|
1120
|
+
#
|
1121
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RotateSecretResponse AWS API Documentation
|
1122
|
+
#
|
1123
|
+
class RotateSecretResponse < Struct.new(
|
1124
|
+
:arn,
|
1125
|
+
:name,
|
1126
|
+
:version_id)
|
1127
|
+
include Aws::Structure
|
1128
|
+
end
|
1129
|
+
|
1130
|
+
# A structure that defines the rotation configuration for the secret.
|
1131
|
+
#
|
1132
|
+
# @note When making an API call, you may pass RotationRulesType
|
1133
|
+
# data as a hash:
|
1134
|
+
#
|
1135
|
+
# {
|
1136
|
+
# automatically_after_days: 1,
|
1137
|
+
# }
|
1138
|
+
#
|
1139
|
+
# @!attribute [rw] automatically_after_days
|
1140
|
+
# Specifies the number of days between automatic scheduled rotations
|
1141
|
+
# of the secret.
|
1142
|
+
# @return [Integer]
|
1143
|
+
#
|
1144
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/RotationRulesType AWS API Documentation
|
1145
|
+
#
|
1146
|
+
class RotationRulesType < Struct.new(
|
1147
|
+
:automatically_after_days)
|
1148
|
+
include Aws::Structure
|
1149
|
+
end
|
1150
|
+
|
1151
|
+
# A structure that contains the details about a secret. It does not
|
1152
|
+
# include the encrypted `SecretString` and `SecretBinary` values. To get
|
1153
|
+
# those values, use the GetSecretValue operation.
|
1154
|
+
#
|
1155
|
+
# @!attribute [rw] arn
|
1156
|
+
# The Amazon Resource Name (ARN) of the secret.
|
1157
|
+
#
|
1158
|
+
# For more information about ARNs in AWS Secrets Manager, see [Policy
|
1159
|
+
# Resources][1] in the *AWS Secrets Manager User Guide*.
|
1160
|
+
#
|
1161
|
+
#
|
1162
|
+
#
|
1163
|
+
# [1]: http://docs.aws.amazon.com/http:/docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#iam-resources
|
1164
|
+
# @return [String]
|
1165
|
+
#
|
1166
|
+
# @!attribute [rw] name
|
1167
|
+
# The friendly name of the secret. You can use forward slashes in the
|
1168
|
+
# name to represent a path hierarchy. For example,
|
1169
|
+
# `/prod/databases/dbserver1` could represent the secret for a server
|
1170
|
+
# named `dbserver1` in the folder `databases` in the folder `prod`.
|
1171
|
+
# @return [String]
|
1172
|
+
#
|
1173
|
+
# @!attribute [rw] description
|
1174
|
+
# The user-provided description of the secret.
|
1175
|
+
# @return [String]
|
1176
|
+
#
|
1177
|
+
# @!attribute [rw] kms_key_id
|
1178
|
+
# The ARN or alias of the AWS KMS customer master key (CMK) that's
|
1179
|
+
# used to encrypt the `SecretString` and `SecretBinary` fields in each
|
1180
|
+
# version of the secret. If you don't provide a key, then AWS Secrets
|
1181
|
+
# Manager defaults to encrypting the secret fields with the default
|
1182
|
+
# KMS CMK (the one named `awssecretsmanager`) for this account.
|
1183
|
+
# @return [String]
|
1184
|
+
#
|
1185
|
+
# @!attribute [rw] rotation_enabled
|
1186
|
+
# Indicated whether automatic, scheduled rotation is enabled for this
|
1187
|
+
# secret.
|
1188
|
+
# @return [Boolean]
|
1189
|
+
#
|
1190
|
+
# @!attribute [rw] rotation_lambda_arn
|
1191
|
+
# The ARN of an AWS Lambda function that's invoked by AWS Secrets
|
1192
|
+
# Manager to rotate and expire the secret either automatically per the
|
1193
|
+
# schedule or manually by a call to RotateSecret.
|
1194
|
+
# @return [String]
|
1195
|
+
#
|
1196
|
+
# @!attribute [rw] rotation_rules
|
1197
|
+
# A structure that defines the rotation configuration for the secret.
|
1198
|
+
# @return [Types::RotationRulesType]
|
1199
|
+
#
|
1200
|
+
# @!attribute [rw] last_rotated_date
|
1201
|
+
# The last date and time that the rotation process for this secret was
|
1202
|
+
# invoked.
|
1203
|
+
# @return [Time]
|
1204
|
+
#
|
1205
|
+
# @!attribute [rw] last_changed_date
|
1206
|
+
# The last date and time that this secret was modified in any way.
|
1207
|
+
# @return [Time]
|
1208
|
+
#
|
1209
|
+
# @!attribute [rw] last_accessed_date
|
1210
|
+
# The last date that this secret was accessed. This value is truncated
|
1211
|
+
# to midnight of the date and therefore shows only the date, not the
|
1212
|
+
# time.
|
1213
|
+
# @return [Time]
|
1214
|
+
#
|
1215
|
+
# @!attribute [rw] deleted_date
|
1216
|
+
# The date and time on which this secret was deleted. Not present on
|
1217
|
+
# active secrets. The secret can be recovered until the number of days
|
1218
|
+
# in the recovery window has passed, as specified in the
|
1219
|
+
# `RecoveryWindowInDays` parameter of the DeleteSecret operation.
|
1220
|
+
# @return [Time]
|
1221
|
+
#
|
1222
|
+
# @!attribute [rw] tags
|
1223
|
+
# The list of user-defined tags that are associated with the secret.
|
1224
|
+
# To add tags to a secret, use TagResource. To remove tags, use
|
1225
|
+
# UntagResource.
|
1226
|
+
# @return [Array<Types::Tag>]
|
1227
|
+
#
|
1228
|
+
# @!attribute [rw] secret_versions_to_stages
|
1229
|
+
# A list of all of the currently assigned `SecretVersionStage` staging
|
1230
|
+
# labels and the `SecretVersionId` that each is attached to. Staging
|
1231
|
+
# labels are used to keep track of the different versions during the
|
1232
|
+
# rotation process.
|
1233
|
+
#
|
1234
|
+
# <note markdown="1"> A version that does not have any `SecretVersionStage` is considered
|
1235
|
+
# deprecated and subject to deletion. Such versions are not included
|
1236
|
+
# in this list.
|
1237
|
+
#
|
1238
|
+
# </note>
|
1239
|
+
# @return [Hash<String,Array<String>>]
|
1240
|
+
#
|
1241
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/SecretListEntry AWS API Documentation
|
1242
|
+
#
|
1243
|
+
class SecretListEntry < Struct.new(
|
1244
|
+
:arn,
|
1245
|
+
:name,
|
1246
|
+
:description,
|
1247
|
+
:kms_key_id,
|
1248
|
+
:rotation_enabled,
|
1249
|
+
:rotation_lambda_arn,
|
1250
|
+
:rotation_rules,
|
1251
|
+
:last_rotated_date,
|
1252
|
+
:last_changed_date,
|
1253
|
+
:last_accessed_date,
|
1254
|
+
:deleted_date,
|
1255
|
+
:tags,
|
1256
|
+
:secret_versions_to_stages)
|
1257
|
+
include Aws::Structure
|
1258
|
+
end
|
1259
|
+
|
1260
|
+
# A structure that contains information about one version of a secret.
|
1261
|
+
#
|
1262
|
+
# @!attribute [rw] version_id
|
1263
|
+
# The unique version identifier of this version of the secret.
|
1264
|
+
# @return [String]
|
1265
|
+
#
|
1266
|
+
# @!attribute [rw] version_stages
|
1267
|
+
# An array of staging labels that are currently associated with this
|
1268
|
+
# version of the secret.
|
1269
|
+
# @return [Array<String>]
|
1270
|
+
#
|
1271
|
+
# @!attribute [rw] last_accessed_date
|
1272
|
+
# The date that this version of the secret was last accessed. Note
|
1273
|
+
# that the resolution of this field is at the date level and does not
|
1274
|
+
# include the time.
|
1275
|
+
# @return [Time]
|
1276
|
+
#
|
1277
|
+
# @!attribute [rw] created_date
|
1278
|
+
# The date and time this version of the secret was created.
|
1279
|
+
# @return [Time]
|
1280
|
+
#
|
1281
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/SecretVersionsListEntry AWS API Documentation
|
1282
|
+
#
|
1283
|
+
class SecretVersionsListEntry < Struct.new(
|
1284
|
+
:version_id,
|
1285
|
+
:version_stages,
|
1286
|
+
:last_accessed_date,
|
1287
|
+
:created_date)
|
1288
|
+
include Aws::Structure
|
1289
|
+
end
|
1290
|
+
|
1291
|
+
# A structure that contains information about a tag.
|
1292
|
+
#
|
1293
|
+
# @note When making an API call, you may pass Tag
|
1294
|
+
# data as a hash:
|
1295
|
+
#
|
1296
|
+
# {
|
1297
|
+
# key: "TagKeyType",
|
1298
|
+
# value: "TagValueType",
|
1299
|
+
# }
|
1300
|
+
#
|
1301
|
+
# @!attribute [rw] key
|
1302
|
+
# The key identifier, or name, of the tag.
|
1303
|
+
# @return [String]
|
1304
|
+
#
|
1305
|
+
# @!attribute [rw] value
|
1306
|
+
# The string value that's associated with the key of the tag.
|
1307
|
+
# @return [String]
|
1308
|
+
#
|
1309
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/Tag AWS API Documentation
|
1310
|
+
#
|
1311
|
+
class Tag < Struct.new(
|
1312
|
+
:key,
|
1313
|
+
:value)
|
1314
|
+
include Aws::Structure
|
1315
|
+
end
|
1316
|
+
|
1317
|
+
# @note When making an API call, you may pass TagResourceRequest
|
1318
|
+
# data as a hash:
|
1319
|
+
#
|
1320
|
+
# {
|
1321
|
+
# secret_id: "SecretIdType", # required
|
1322
|
+
# tags: [ # required
|
1323
|
+
# {
|
1324
|
+
# key: "TagKeyType",
|
1325
|
+
# value: "TagValueType",
|
1326
|
+
# },
|
1327
|
+
# ],
|
1328
|
+
# }
|
1329
|
+
#
|
1330
|
+
# @!attribute [rw] secret_id
|
1331
|
+
# The identifier for the secret that you want to attach tags to. You
|
1332
|
+
# can specify either the Amazon Resource Name (ARN) or the friendly
|
1333
|
+
# name of the secret.
|
1334
|
+
# @return [String]
|
1335
|
+
#
|
1336
|
+
# @!attribute [rw] tags
|
1337
|
+
# The tags to attach to the secret. Each element in the list consists
|
1338
|
+
# of a `Key` and a `Value`.
|
1339
|
+
#
|
1340
|
+
# This parameter to the API requires a JSON text string argument. For
|
1341
|
+
# information on how to format a JSON parameter for the various
|
1342
|
+
# command line tool environments, see [Using JSON for Parameters][1]
|
1343
|
+
# in the *AWS CLI User Guide*. For the AWS CLI, you can also use the
|
1344
|
+
# syntax: `--Tags
|
1345
|
+
# Key="Key1",Value="Value1",Key="Key2",Value="Value2"[,…]`
|
1346
|
+
#
|
1347
|
+
#
|
1348
|
+
#
|
1349
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
1350
|
+
# @return [Array<Types::Tag>]
|
1351
|
+
#
|
1352
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/TagResourceRequest AWS API Documentation
|
1353
|
+
#
|
1354
|
+
class TagResourceRequest < Struct.new(
|
1355
|
+
:secret_id,
|
1356
|
+
:tags)
|
1357
|
+
include Aws::Structure
|
1358
|
+
end
|
1359
|
+
|
1360
|
+
# @note When making an API call, you may pass UntagResourceRequest
|
1361
|
+
# data as a hash:
|
1362
|
+
#
|
1363
|
+
# {
|
1364
|
+
# secret_id: "SecretIdType", # required
|
1365
|
+
# tag_keys: ["TagKeyType"], # required
|
1366
|
+
# }
|
1367
|
+
#
|
1368
|
+
# @!attribute [rw] secret_id
|
1369
|
+
# The identifier for the secret that you want to remove tags from. You
|
1370
|
+
# can specify either the Amazon Resource Name (ARN) or the friendly
|
1371
|
+
# name of the secret.
|
1372
|
+
# @return [String]
|
1373
|
+
#
|
1374
|
+
# @!attribute [rw] tag_keys
|
1375
|
+
# A list of tag key names to remove from the secret. You don't
|
1376
|
+
# specify the value. Both the key and its associated value are
|
1377
|
+
# removed.
|
1378
|
+
#
|
1379
|
+
# This parameter to the API requires a JSON text string argument. For
|
1380
|
+
# information on how to format a JSON parameter for the various
|
1381
|
+
# command line tool environments, see [Using JSON for Parameters][1]
|
1382
|
+
# in the *AWS CLI User Guide*.
|
1383
|
+
#
|
1384
|
+
#
|
1385
|
+
#
|
1386
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
1387
|
+
# @return [Array<String>]
|
1388
|
+
#
|
1389
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/UntagResourceRequest AWS API Documentation
|
1390
|
+
#
|
1391
|
+
class UntagResourceRequest < Struct.new(
|
1392
|
+
:secret_id,
|
1393
|
+
:tag_keys)
|
1394
|
+
include Aws::Structure
|
1395
|
+
end
|
1396
|
+
|
1397
|
+
# @note When making an API call, you may pass UpdateSecretRequest
|
1398
|
+
# data as a hash:
|
1399
|
+
#
|
1400
|
+
# {
|
1401
|
+
# secret_id: "SecretIdType", # required
|
1402
|
+
# client_request_token: "ClientRequestTokenType",
|
1403
|
+
# description: "DescriptionType",
|
1404
|
+
# kms_key_id: "KmsKeyIdType",
|
1405
|
+
# secret_binary: "data",
|
1406
|
+
# secret_string: "SecretStringType",
|
1407
|
+
# }
|
1408
|
+
#
|
1409
|
+
# @!attribute [rw] secret_id
|
1410
|
+
# Specifies the secret that you want to update or to which you want to
|
1411
|
+
# add a new version. You can specify either the Amazon Resource Name
|
1412
|
+
# (ARN) or the friendly name of the secret.
|
1413
|
+
# @return [String]
|
1414
|
+
#
|
1415
|
+
# @!attribute [rw] client_request_token
|
1416
|
+
# (Optional) If you want to add a new version to the secret, this
|
1417
|
+
# parameter specifies a unique identifier for the new version that
|
1418
|
+
# helps ensure idempotency.
|
1419
|
+
#
|
1420
|
+
# If you use the AWS CLI or one of the AWS SDK to call this operation,
|
1421
|
+
# then you can leave this parameter empty. The CLI or SDK generates a
|
1422
|
+
# random UUID for you and includes that in the request. If you don't
|
1423
|
+
# use the SDK and instead generate a raw HTTP request to the AWS
|
1424
|
+
# Secrets Manager service endpoint, then you must generate a
|
1425
|
+
# `ClientRequestToken` yourself for new versions and include that
|
1426
|
+
# value in the request.
|
1427
|
+
#
|
1428
|
+
# You typically only need to interact with this value if you implement
|
1429
|
+
# your own retry logic and want to ensure that a given secret is not
|
1430
|
+
# created twice. We recommend that you generate a [UUID-type][1] value
|
1431
|
+
# to ensure uniqueness within the specified secret.
|
1432
|
+
#
|
1433
|
+
# Secrets Manager uses this value to prevent the accidental creation
|
1434
|
+
# of duplicate versions if there are failures and retries during the
|
1435
|
+
# Lambda rotation function's processing.
|
1436
|
+
#
|
1437
|
+
# * If the `ClientRequestToken` value isn't already associated with a
|
1438
|
+
# version of the secret then a new version of the secret is created.
|
1439
|
+
#
|
1440
|
+
# * If a version with this value already exists and that version's
|
1441
|
+
# `SecretString` and `SecretBinary` values are the same as those in
|
1442
|
+
# the request then the request is ignored (the operation is
|
1443
|
+
# idempotent).
|
1444
|
+
#
|
1445
|
+
# * If a version with this value already exists and that version's
|
1446
|
+
# `SecretString` and `SecretBinary` values are different from the
|
1447
|
+
# request then an error occurs because you cannot modify an existing
|
1448
|
+
# secret value.
|
1449
|
+
#
|
1450
|
+
# This value becomes the `SecretVersionId` of the new version.
|
1451
|
+
#
|
1452
|
+
# **A suitable default value is auto-generated.** You should normally
|
1453
|
+
# not need to pass this option.
|
1454
|
+
#
|
1455
|
+
#
|
1456
|
+
#
|
1457
|
+
# [1]: https://wikipedia.org/wiki/Universally_unique_identifier
|
1458
|
+
# @return [String]
|
1459
|
+
#
|
1460
|
+
# @!attribute [rw] description
|
1461
|
+
# (Optional) Specifies a user-provided description of the secret.
|
1462
|
+
# @return [String]
|
1463
|
+
#
|
1464
|
+
# @!attribute [rw] kms_key_id
|
1465
|
+
# (Optional) Specifies the ARN or alias of the KMS customer master key
|
1466
|
+
# (CMK) to be used to encrypt the protected text in the versions of
|
1467
|
+
# this secret.
|
1468
|
+
#
|
1469
|
+
# If you don't specify this value, then Secrets Manager defaults to
|
1470
|
+
# using the default CMK in the account (the one named
|
1471
|
+
# `aws/secretsmanager`). If a KMS CMK with that name doesn't exist,
|
1472
|
+
# then AWS Secrets Manager creates it for you automatically the first
|
1473
|
+
# time it needs to encrypt a version's `Plaintext` or
|
1474
|
+
# `PlaintextString` fields.
|
1475
|
+
#
|
1476
|
+
# You can only use the account's default CMK to encrypt and decrypt
|
1477
|
+
# if you call this operation using credentials from the same account
|
1478
|
+
# that owns the secret. If the secret is in a different account, then
|
1479
|
+
# you must create a custom CMK and provide the ARN in this field.
|
1480
|
+
# @return [String]
|
1481
|
+
#
|
1482
|
+
# @!attribute [rw] secret_binary
|
1483
|
+
# (Optional) Specifies binary data that you want to encrypt and store
|
1484
|
+
# in the new version of the secret. To use this parameter in the
|
1485
|
+
# command-line tools, we recommend that you store your binary data in
|
1486
|
+
# a file and then use the appropriate technique for your tool to pass
|
1487
|
+
# the contents of the file as a parameter. Either `SecretBinary` or
|
1488
|
+
# `SecretString` must have a value. They cannot both be empty.
|
1489
|
+
#
|
1490
|
+
# This parameter is not accessible using the Secrets Manager console.
|
1491
|
+
# @return [String]
|
1492
|
+
#
|
1493
|
+
# @!attribute [rw] secret_string
|
1494
|
+
# (Optional) Specifies text data that you want to encrypt and store in
|
1495
|
+
# this new version of the secret. Either `SecretBinary` or
|
1496
|
+
# `SecretString` must have a value. They cannot both be empty.
|
1497
|
+
#
|
1498
|
+
# If you create this secret by using the Secrets Manager console then
|
1499
|
+
# Secrets Manager puts the protected secret text in only the
|
1500
|
+
# `SecretString` parameter. The Secrets Manager console stores the
|
1501
|
+
# information as a JSON structure of key/value pairs that the default
|
1502
|
+
# Lambda rotation function knows how to parse.
|
1503
|
+
#
|
1504
|
+
# For storing multiple values, we recommend that you use a JSON text
|
1505
|
+
# string argument and specify key/value pairs. For information on how
|
1506
|
+
# to format a JSON parameter for the various command line tool
|
1507
|
+
# environments, see [Using JSON for Parameters][1] in the *AWS CLI
|
1508
|
+
# User Guide*.
|
1509
|
+
#
|
1510
|
+
#
|
1511
|
+
#
|
1512
|
+
# [1]: http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
|
1513
|
+
# @return [String]
|
1514
|
+
#
|
1515
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/UpdateSecretRequest AWS API Documentation
|
1516
|
+
#
|
1517
|
+
class UpdateSecretRequest < Struct.new(
|
1518
|
+
:secret_id,
|
1519
|
+
:client_request_token,
|
1520
|
+
:description,
|
1521
|
+
:kms_key_id,
|
1522
|
+
:secret_binary,
|
1523
|
+
:secret_string)
|
1524
|
+
include Aws::Structure
|
1525
|
+
end
|
1526
|
+
|
1527
|
+
# @!attribute [rw] arn
|
1528
|
+
# The ARN of this secret.
|
1529
|
+
#
|
1530
|
+
# <note markdown="1"> AWS Secrets Manager automatically adds several random characters to
|
1531
|
+
# the name at the end of the ARN when you initially create a secret.
|
1532
|
+
# This affects only the ARN and not the actual friendly name. This
|
1533
|
+
# ensures that if you create a new secret with the same name as an old
|
1534
|
+
# secret that you previously deleted, then users with access to the
|
1535
|
+
# old secret *don't* automatically get access to the new secret
|
1536
|
+
# because the ARNs are different.
|
1537
|
+
#
|
1538
|
+
# </note>
|
1539
|
+
# @return [String]
|
1540
|
+
#
|
1541
|
+
# @!attribute [rw] name
|
1542
|
+
# The friendly name of this secret.
|
1543
|
+
# @return [String]
|
1544
|
+
#
|
1545
|
+
# @!attribute [rw] version_id
|
1546
|
+
# If a version of the secret was created or updated by this operation,
|
1547
|
+
# then its unique identifier is returned.
|
1548
|
+
# @return [String]
|
1549
|
+
#
|
1550
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/UpdateSecretResponse AWS API Documentation
|
1551
|
+
#
|
1552
|
+
class UpdateSecretResponse < Struct.new(
|
1553
|
+
:arn,
|
1554
|
+
:name,
|
1555
|
+
:version_id)
|
1556
|
+
include Aws::Structure
|
1557
|
+
end
|
1558
|
+
|
1559
|
+
# @note When making an API call, you may pass UpdateSecretVersionStageRequest
|
1560
|
+
# data as a hash:
|
1561
|
+
#
|
1562
|
+
# {
|
1563
|
+
# secret_id: "SecretIdType", # required
|
1564
|
+
# version_stage: "SecretVersionStageType", # required
|
1565
|
+
# remove_from_version_id: "SecretVersionIdType",
|
1566
|
+
# move_to_version_id: "SecretVersionIdType",
|
1567
|
+
# }
|
1568
|
+
#
|
1569
|
+
# @!attribute [rw] secret_id
|
1570
|
+
# Specifies the secret with the version whose list of staging labels
|
1571
|
+
# you want to modify. You can specify either the Amazon Resource Name
|
1572
|
+
# (ARN) or the friendly name of the secret.
|
1573
|
+
# @return [String]
|
1574
|
+
#
|
1575
|
+
# @!attribute [rw] version_stage
|
1576
|
+
# The list of staging labels to add to this version.
|
1577
|
+
# @return [String]
|
1578
|
+
#
|
1579
|
+
# @!attribute [rw] remove_from_version_id
|
1580
|
+
# (Optional) Specifies the secret version ID of the version that the
|
1581
|
+
# staging labels are to be removed from.
|
1582
|
+
#
|
1583
|
+
# If you want to move a label to a new version, you do not have to
|
1584
|
+
# explicitly remove it with this parameter. Adding a label using the
|
1585
|
+
# `MoveToVersionId` parameter automatically removes it from the old
|
1586
|
+
# version. However, if you do include both the "MoveTo" and
|
1587
|
+
# "RemoveFrom" parameters, then the move is successful only if the
|
1588
|
+
# staging labels are actually present on the "RemoveFrom" version.
|
1589
|
+
# If a staging label was on a different version than "RemoveFrom",
|
1590
|
+
# then the request fails.
|
1591
|
+
# @return [String]
|
1592
|
+
#
|
1593
|
+
# @!attribute [rw] move_to_version_id
|
1594
|
+
# (Optional) The secret version ID that you want to add the staging
|
1595
|
+
# labels to.
|
1596
|
+
#
|
1597
|
+
# If any of the staging labels are already attached to a different
|
1598
|
+
# version of the secret, then they are removed from that version
|
1599
|
+
# before adding them to this version.
|
1600
|
+
# @return [String]
|
1601
|
+
#
|
1602
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/UpdateSecretVersionStageRequest AWS API Documentation
|
1603
|
+
#
|
1604
|
+
class UpdateSecretVersionStageRequest < Struct.new(
|
1605
|
+
:secret_id,
|
1606
|
+
:version_stage,
|
1607
|
+
:remove_from_version_id,
|
1608
|
+
:move_to_version_id)
|
1609
|
+
include Aws::Structure
|
1610
|
+
end
|
1611
|
+
|
1612
|
+
# @!attribute [rw] arn
|
1613
|
+
# The ARN of the secret with the staging labels that were modified.
|
1614
|
+
# @return [String]
|
1615
|
+
#
|
1616
|
+
# @!attribute [rw] name
|
1617
|
+
# The friendly name of the secret with the staging labels that were
|
1618
|
+
# modified.
|
1619
|
+
# @return [String]
|
1620
|
+
#
|
1621
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/UpdateSecretVersionStageResponse AWS API Documentation
|
1622
|
+
#
|
1623
|
+
class UpdateSecretVersionStageResponse < Struct.new(
|
1624
|
+
:arn,
|
1625
|
+
:name)
|
1626
|
+
include Aws::Structure
|
1627
|
+
end
|
1628
|
+
|
1629
|
+
end
|
1630
|
+
end
|