aws-sdk-secretsmanager 1.84.0 → 1.110.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.
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -31,11 +32,10 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
32
  require 'aws-sdk-core/plugins/request_compression.rb'
32
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
33
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
34
36
  require 'aws-sdk-core/plugins/sign.rb'
35
37
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
36
38
 
37
- Aws::Plugins::GlobalConfiguration.add_identifier(:secretsmanager)
38
-
39
39
  module Aws::SecretsManager
40
40
  # An API client for SecretsManager. To construct a client, you need to configure a `:region` and `:credentials`.
41
41
  #
@@ -72,6 +72,7 @@ module Aws::SecretsManager
72
72
  add_plugin(Aws::Plugins::ResponsePaging)
73
73
  add_plugin(Aws::Plugins::StubResponses)
74
74
  add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
75
76
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
77
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
78
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -81,12 +82,18 @@ module Aws::SecretsManager
81
82
  add_plugin(Aws::Plugins::RequestCompression)
82
83
  add_plugin(Aws::Plugins::DefaultsMode)
83
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
84
86
  add_plugin(Aws::Plugins::Sign)
85
87
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
88
  add_plugin(Aws::SecretsManager::Plugins::Endpoints)
87
89
 
88
90
  # @overload initialize(options)
89
91
  # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
90
97
  # @option options [required, Aws::CredentialProvider] :credentials
91
98
  # Your AWS credentials. This can be an instance of any one of the
92
99
  # following classes:
@@ -121,13 +128,15 @@ module Aws::SecretsManager
121
128
  # locations will be searched for credentials:
122
129
  #
123
130
  # * `Aws.config[:credentials]`
124
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
126
135
  # * `~/.aws/credentials`
127
136
  # * `~/.aws/config`
128
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
138
  # are very aggressive. Construct and pass an instance of
130
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
131
140
  # enable retries and extended timeouts. Instance profile credential
132
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
142
  # to true.
@@ -146,6 +155,8 @@ module Aws::SecretsManager
146
155
  #
147
156
  # @option options [String] :access_key_id
148
157
  #
158
+ # @option options [String] :account_id
159
+ #
149
160
  # @option options [Boolean] :active_endpoint_cache (false)
150
161
  # When set to `true`, a thread polling for endpoints will be running in
151
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -196,10 +207,16 @@ module Aws::SecretsManager
196
207
  # When set to 'true' the request body will not be compressed
197
208
  # for supported operations.
198
209
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
210
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
211
+ # Normally you should not configure the `:endpoint` option
212
+ # directly. This is normally constructed from the `:region`
213
+ # option. Configuring `:endpoint` is normally reserved for
214
+ # connecting to test or custom endpoints. The endpoint should
215
+ # be a URI formatted like:
216
+ #
217
+ # 'http://example.com'
218
+ # 'https://example.com'
219
+ # 'http://example.com:123'
203
220
  #
204
221
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
222
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -289,25 +306,31 @@ module Aws::SecretsManager
289
306
  # throttling. This is a provisional mode that may change behavior
290
307
  # in the future.
291
308
  #
292
- #
293
309
  # @option options [String] :sdk_ua_app_id
294
310
  # A unique and opaque application ID that is appended to the
295
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
- # maximum length of 50.
311
+ # User-Agent header as app/sdk_ua_app_id. It should have a
312
+ # maximum length of 50. This variable is sourced from environment
313
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
314
  #
298
315
  # @option options [String] :secret_access_key
299
316
  #
300
317
  # @option options [String] :session_token
301
318
  #
319
+ # @option options [Array] :sigv4a_signing_region_set
320
+ # A list of regions that should be signed with SigV4a signing. When
321
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
322
+ # in the following locations:
323
+ #
324
+ # * `Aws.config[:sigv4a_signing_region_set]`
325
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
326
+ # * `~/.aws/config`
327
+ #
302
328
  # @option options [Boolean] :simple_json (false)
303
329
  # Disables request parameter conversion, validation, and formatting.
304
- # Also disable response data type conversions. This option is useful
305
- # when you want to ensure the highest level of performance by
306
- # avoiding overhead of walking request parameters and response data
307
- # structures.
308
- #
309
- # When `:simple_json` is enabled, the request parameters hash must
310
- # be formatted exactly as the DynamoDB API expects.
330
+ # Also disables response data type conversions. The request parameters
331
+ # hash must be formatted exactly as the API expects.This option is useful
332
+ # when you want to ensure the highest level of performance by avoiding
333
+ # overhead of walking request parameters and response data structures.
311
334
  #
312
335
  # @option options [Boolean] :stub_responses (false)
313
336
  # Causes the client to return stubbed responses. By default
@@ -318,6 +341,16 @@ module Aws::SecretsManager
318
341
  # ** Please note ** When response stubbing is enabled, no HTTP
319
342
  # requests are made, and retries are disabled.
320
343
  #
344
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
345
+ # Allows you to provide a telemetry provider, which is used to
346
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
347
+ # will not record or emit any telemetry data. The SDK supports the
348
+ # following telemetry providers:
349
+ #
350
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
351
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
352
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
353
+ #
321
354
  # @option options [Aws::TokenProvider] :token_provider
322
355
  # A Bearer Token Provider. This can be an instance of any one of the
323
356
  # following classes:
@@ -345,59 +378,233 @@ module Aws::SecretsManager
345
378
  # sending the request.
346
379
  #
347
380
  # @option options [Aws::SecretsManager::EndpointProvider] :endpoint_provider
348
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SecretsManager::EndpointParameters`
381
+ # The endpoint provider used to resolve endpoints. Any object that responds to
382
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
383
+ # `Aws::SecretsManager::EndpointParameters`.
384
+ #
385
+ # @option options [Float] :http_continue_timeout (1)
386
+ # The number of seconds to wait for a 100-continue response before sending the
387
+ # request body. This option has no effect unless the request has "Expect"
388
+ # header set to "100-continue". Defaults to `nil` which disables this
389
+ # behaviour. This value can safely be set per request on the session.
390
+ #
391
+ # @option options [Float] :http_idle_timeout (5)
392
+ # The number of seconds a connection is allowed to sit idle before it
393
+ # is considered stale. Stale connections are closed and removed from the
394
+ # pool before making a request.
395
+ #
396
+ # @option options [Float] :http_open_timeout (15)
397
+ # The default number of seconds to wait for response data.
398
+ # This value can safely be set per-request on the session.
399
+ #
400
+ # @option options [URI::HTTP,String] :http_proxy
401
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
402
+ #
403
+ # @option options [Float] :http_read_timeout (60)
404
+ # The default number of seconds to wait for response data.
405
+ # This value can safely be set per-request on the session.
406
+ #
407
+ # @option options [Boolean] :http_wire_trace (false)
408
+ # When `true`, HTTP debug output will be sent to the `:logger`.
409
+ #
410
+ # @option options [Proc] :on_chunk_received
411
+ # When a Proc object is provided, it will be used as callback when each chunk
412
+ # of the response body is received. It provides three arguments: the chunk,
413
+ # the number of bytes received, and the total number of
414
+ # bytes in the response (or nil if the server did not send a `content-length`).
415
+ #
416
+ # @option options [Proc] :on_chunk_sent
417
+ # When a Proc object is provided, it will be used as callback when each chunk
418
+ # of the request body is sent. It provides three arguments: the chunk,
419
+ # the number of bytes read from the body, and the total number of
420
+ # bytes in the body.
421
+ #
422
+ # @option options [Boolean] :raise_response_errors (true)
423
+ # When `true`, response errors are raised.
424
+ #
425
+ # @option options [String] :ssl_ca_bundle
426
+ # Full path to the SSL certificate authority bundle file that should be used when
427
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
428
+ # `:ssl_ca_directory` the the system default will be used if available.
429
+ #
430
+ # @option options [String] :ssl_ca_directory
431
+ # Full path of the directory that contains the unbundled SSL certificate
432
+ # authority files for verifying peer certificates. If you do
433
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
434
+ # default will be used if available.
349
435
  #
350
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
- # requests through. Formatted like 'http://proxy.com:123'.
436
+ # @option options [String] :ssl_ca_store
437
+ # Sets the X509::Store to verify peer certificate.
352
438
  #
353
- # @option options [Float] :http_open_timeout (15) The number of
354
- # seconds to wait when opening a HTTP session before raising a
355
- # `Timeout::Error`.
439
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
440
+ # Sets a client certificate when creating http connections.
356
441
  #
357
- # @option options [Float] :http_read_timeout (60) The default
358
- # number of seconds to wait for response data. This value can
359
- # safely be set per-request on the session.
442
+ # @option options [OpenSSL::PKey] :ssl_key
443
+ # Sets a client key when creating http connections.
444
+ #
445
+ # @option options [Float] :ssl_timeout
446
+ # Sets the SSL timeout in seconds
447
+ #
448
+ # @option options [Boolean] :ssl_verify_peer (true)
449
+ # When `true`, SSL peer certificates are verified when establishing a connection.
450
+ #
451
+ def initialize(*args)
452
+ super
453
+ end
454
+
455
+ # @!group API Operations
456
+
457
+ # Retrieves the contents of the encrypted fields `SecretString` or
458
+ # `SecretBinary` for up to 20 secrets. To retrieve a single secret, call
459
+ # GetSecretValue.
360
460
  #
361
- # @option options [Float] :http_idle_timeout (5) The number of
362
- # seconds a connection is allowed to sit idle before it is
363
- # considered stale. Stale connections are closed and removed
364
- # from the pool before making a request.
461
+ # To choose which secrets to retrieve, you can specify a list of secrets
462
+ # by name or ARN, or you can use filters. If Secrets Manager encounters
463
+ # errors such as `AccessDeniedException` while attempting to retrieve
464
+ # any of the secrets, you can see the errors in `Errors` in the
465
+ # response.
365
466
  #
366
- # @option options [Float] :http_continue_timeout (1) The number of
367
- # seconds to wait for a 100-continue response before sending the
368
- # request body. This option has no effect unless the request has
369
- # "Expect" header set to "100-continue". Defaults to `nil` which
370
- # disables this behaviour. This value can safely be set per
371
- # request on the session.
467
+ # Secrets Manager generates CloudTrail `GetSecretValue` log entries for
468
+ # each secret you request when you call this action. Do not include
469
+ # sensitive information in request parameters because it might be
470
+ # logged. For more information, see [Logging Secrets Manager events with
471
+ # CloudTrail][1].
372
472
  #
373
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
- # in seconds.
473
+ # <b>Required permissions: </b> `secretsmanager:BatchGetSecretValue`,
474
+ # and you must have `secretsmanager:GetSecretValue` for each secret. If
475
+ # you use filters, you must also have `secretsmanager:ListSecrets`. If
476
+ # the secrets are encrypted using customer-managed keys instead of the
477
+ # Amazon Web Services managed key `aws/secretsmanager`, then you also
478
+ # need `kms:Decrypt` permissions for the keys. For more information, see
479
+ # [ IAM policy actions for Secrets Manager][2] and [Authentication and
480
+ # access control in Secrets Manager][3].
375
481
  #
376
- # @option options [Boolean] :http_wire_trace (false) When `true`,
377
- # HTTP debug output will be sent to the `:logger`.
378
482
  #
379
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
- # SSL peer certificates are verified when establishing a
381
- # connection.
382
483
  #
383
- # @option options [String] :ssl_ca_bundle Full path to the SSL
384
- # certificate authority bundle file that should be used when
385
- # verifying peer certificates. If you do not pass
386
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
- # will be used if available.
484
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html
485
+ # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
486
+ # [3]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
388
487
  #
389
- # @option options [String] :ssl_ca_directory Full path of the
390
- # directory that contains the unbundled SSL certificate
391
- # authority files for verifying peer certificates. If you do
392
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
- # system default will be used if available.
488
+ # @option params [Array<String>] :secret_id_list
489
+ # The ARN or names of the secrets to retrieve. You must include
490
+ # `Filters` or `SecretIdList`, but not both.
394
491
  #
395
- def initialize(*args)
396
- super
492
+ # @option params [Array<Types::Filter>] :filters
493
+ # The filters to choose which secrets to retrieve. You must include
494
+ # `Filters` or `SecretIdList`, but not both.
495
+ #
496
+ # @option params [Integer] :max_results
497
+ # The number of results to include in the response.
498
+ #
499
+ # If there are more results available, in the response, Secrets Manager
500
+ # includes `NextToken`. To get the next results, call
501
+ # `BatchGetSecretValue` again with the value from `NextToken`. To use
502
+ # this parameter, you must also use the `Filters` parameter.
503
+ #
504
+ # @option params [String] :next_token
505
+ # A token that indicates where the output should continue from, if a
506
+ # previous call did not show all results. To get the next results, call
507
+ # `BatchGetSecretValue` again with this value.
508
+ #
509
+ # @return [Types::BatchGetSecretValueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
510
+ #
511
+ # * {Types::BatchGetSecretValueResponse#secret_values #secret_values} => Array&lt;Types::SecretValueEntry&gt;
512
+ # * {Types::BatchGetSecretValueResponse#next_token #next_token} => String
513
+ # * {Types::BatchGetSecretValueResponse#errors #errors} => Array&lt;Types::APIErrorType&gt;
514
+ #
515
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
516
+ #
517
+ #
518
+ # @example Example: To retrieve the secret values for a group of secrets listed by name
519
+ #
520
+ # # The following example gets the values for three secrets.
521
+ #
522
+ # resp = client.batch_get_secret_value({
523
+ # secret_id_list: [
524
+ # "MySecret1",
525
+ # "MySecret2",
526
+ # "MySecret3",
527
+ # ],
528
+ # })
529
+ #
530
+ # resp.to_h outputs the following:
531
+ # {
532
+ # errors: [
533
+ # ],
534
+ # secret_values: [
535
+ # {
536
+ # arn: "&region-arn;&asm-service-name;:us-west-2:&ExampleAccountId;:secret:MySecret1-a1b2c3",
537
+ # created_date: Time.parse(1700591229.801),
538
+ # name: "MySecret1",
539
+ # secret_string: "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}",
540
+ # version_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa",
541
+ # version_stages: [
542
+ # "AWSCURRENT",
543
+ # ],
544
+ # },
545
+ # {
546
+ # arn: "&region-arn;&asm-service-name;:us-west-2:&ExampleAccountId;:secret:MySecret2-a1b2c3",
547
+ # created_date: Time.parse(1699911394.105),
548
+ # name: "MySecret2",
549
+ # secret_string: "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"",
550
+ # version_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb",
551
+ # version_stages: [
552
+ # "AWSCURRENT",
553
+ # ],
554
+ # },
555
+ # {
556
+ # arn: "&region-arn;&asm-service-name;:us-west-2:&ExampleAccountId;:secret:MySecret3-a1b2c3",
557
+ # created_date: Time.parse(1699911394.105),
558
+ # name: "MySecret3",
559
+ # secret_string: "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"",
560
+ # version_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc",
561
+ # version_stages: [
562
+ # "AWSCURRENT",
563
+ # ],
564
+ # },
565
+ # ],
566
+ # }
567
+ #
568
+ # @example Request syntax with placeholder values
569
+ #
570
+ # resp = client.batch_get_secret_value({
571
+ # secret_id_list: ["SecretIdType"],
572
+ # filters: [
573
+ # {
574
+ # key: "description", # accepts description, name, tag-key, tag-value, primary-region, owning-service, all
575
+ # values: ["FilterValueStringType"],
576
+ # },
577
+ # ],
578
+ # max_results: 1,
579
+ # next_token: "NextTokenType",
580
+ # })
581
+ #
582
+ # @example Response structure
583
+ #
584
+ # resp.secret_values #=> Array
585
+ # resp.secret_values[0].arn #=> String
586
+ # resp.secret_values[0].name #=> String
587
+ # resp.secret_values[0].version_id #=> String
588
+ # resp.secret_values[0].secret_binary #=> String
589
+ # resp.secret_values[0].secret_string #=> String
590
+ # resp.secret_values[0].version_stages #=> Array
591
+ # resp.secret_values[0].version_stages[0] #=> String
592
+ # resp.secret_values[0].created_date #=> Time
593
+ # resp.next_token #=> String
594
+ # resp.errors #=> Array
595
+ # resp.errors[0].secret_id #=> String
596
+ # resp.errors[0].error_code #=> String
597
+ # resp.errors[0].message #=> String
598
+ #
599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/secretsmanager-2017-10-17/BatchGetSecretValue AWS API Documentation
600
+ #
601
+ # @overload batch_get_secret_value(params = {})
602
+ # @param [Hash] params ({})
603
+ def batch_get_secret_value(params = {}, options = {})
604
+ req = build_request(:batch_get_secret_value, params)
605
+ req.send_request(options)
397
606
  end
398
607
 
399
- # @!group API Operations
400
-
401
608
  # Turns off automatic rotation, and if a rotation is currently in
402
609
  # progress, cancels the rotation.
403
610
  #
@@ -530,14 +737,21 @@ module Aws::SecretsManager
530
737
  #
531
738
  # <b>Required permissions: </b> `secretsmanager:CreateSecret`. If you
532
739
  # include tags in the secret, you also need
533
- # `secretsmanager:TagResource`. For more information, see [ IAM policy
534
- # actions for Secrets Manager][5] and [Authentication and access control
535
- # in Secrets Manager][6].
740
+ # `secretsmanager:TagResource`. To add replica Regions, you must also
741
+ # have `secretsmanager:ReplicateSecretToRegions`. For more information,
742
+ # see [ IAM policy actions for Secrets Manager][5] and [Authentication
743
+ # and access control in Secrets Manager][6].
536
744
  #
537
745
  # To encrypt the secret with a KMS key other than `aws/secretsmanager`,
538
746
  # you need `kms:GenerateDataKey` and `kms:Decrypt` permission to the
539
747
  # key.
540
748
  #
749
+ # When you enter commands in a command shell, there is a risk of the
750
+ # command history being accessed or utilities having access to your
751
+ # command parameters. This is a concern if the command includes the
752
+ # value of a secret. Learn how to [Mitigate the risks of using
753
+ # command-line tools to store Secrets Manager secrets][7].
754
+ #
541
755
  #
542
756
  #
543
757
  # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html
@@ -546,6 +760,7 @@ module Aws::SecretsManager
546
760
  # [4]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html
547
761
  # [5]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
548
762
  # [6]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
763
+ # [7]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/security_cli-exposure-risks.html
549
764
  #
550
765
  # @option params [required, String] :name
551
766
  # The name of the new secret.
@@ -639,6 +854,11 @@ module Aws::SecretsManager
639
854
  #
640
855
  # This parameter is not available in the Secrets Manager console.
641
856
  #
857
+ # Sensitive: This field contains sensitive information, so the service
858
+ # does not include it in CloudTrail log entries. If you create your own
859
+ # log entries, you must also avoid logging the information in this
860
+ # field.
861
+ #
642
862
  # @option params [String] :secret_string
643
863
  # The text data to encrypt and store in this new version of the secret.
644
864
  # We recommend you use a JSON structure of key/value pairs for your
@@ -653,11 +873,16 @@ module Aws::SecretsManager
653
873
  # information as a JSON structure of key/value pairs that a Lambda
654
874
  # rotation function can parse.
655
875
  #
876
+ # Sensitive: This field contains sensitive information, so the service
877
+ # does not include it in CloudTrail log entries. If you create your own
878
+ # log entries, you must also avoid logging the information in this
879
+ # field.
880
+ #
656
881
  # @option params [Array<Types::Tag>] :tags
657
882
  # A list of tags to attach to the secret. Each tag is a key and value
658
883
  # pair of strings in a JSON text string, for example:
659
884
  #
660
- # `[\{"Key":"CostCenter","Value":"12345"\},\{"Key":"environment","Value":"production"\}]`
885
+ # `[{"Key":"CostCenter","Value":"12345"},{"Key":"environment","Value":"production"}]`
661
886
  #
662
887
  # Secrets Manager tag key names are case sensitive. A tag with the key
663
888
  # "ABC" is a different tag from one with key "abc".
@@ -1115,22 +1340,21 @@ module Aws::SecretsManager
1115
1340
 
1116
1341
  # Generates a random password. We recommend that you specify the maximum
1117
1342
  # length and include every character type that the system you are
1118
- # generating a password for can support.
1343
+ # generating a password for can support. By default, Secrets Manager
1344
+ # uses uppercase and lowercase letters, numbers, and the following
1345
+ # characters in passwords: `` !"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ ``
1119
1346
  #
1120
1347
  # Secrets Manager generates a CloudTrail log entry when you call this
1121
- # action. Do not include sensitive information in request parameters
1122
- # because it might be logged. For more information, see [Logging Secrets
1123
- # Manager events with CloudTrail][1].
1348
+ # action.
1124
1349
  #
1125
1350
  # <b>Required permissions: </b> `secretsmanager:GetRandomPassword`. For
1126
- # more information, see [ IAM policy actions for Secrets Manager][2] and
1127
- # [Authentication and access control in Secrets Manager][3].
1351
+ # more information, see [ IAM policy actions for Secrets Manager][1] and
1352
+ # [Authentication and access control in Secrets Manager][2].
1128
1353
  #
1129
1354
  #
1130
1355
  #
1131
- # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html
1132
- # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
1133
- # [3]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
1356
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
1357
+ # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
1134
1358
  #
1135
1359
  # @option params [Integer] :password_length
1136
1360
  # The length of the password. If you don't include this parameter, the
@@ -1146,7 +1370,7 @@ module Aws::SecretsManager
1146
1370
  # @option params [Boolean] :exclude_punctuation
1147
1371
  # Specifies whether to exclude the following punctuation characters from
1148
1372
  # the password: `` ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _
1149
- # ` \{ | \} ~ ``. If you don't include this switch, the password can
1373
+ # ` { | } ~ ``. If you don't include this switch, the password can
1150
1374
  # contain punctuation.
1151
1375
  #
1152
1376
  # @option params [Boolean] :exclude_uppercase
@@ -1294,6 +1518,9 @@ module Aws::SecretsManager
1294
1518
  # `SecretBinary` from the specified version of a secret, whichever
1295
1519
  # contains content.
1296
1520
  #
1521
+ # To retrieve the values for a group of secrets, call
1522
+ # BatchGetSecretValue.
1523
+ #
1297
1524
  # We recommend that you cache your secret values by using client-side
1298
1525
  # caching. Caching secrets improves speed and reduces your costs. For
1299
1526
  # more information, see [Cache secrets for your applications][1].
@@ -1323,7 +1550,8 @@ module Aws::SecretsManager
1323
1550
  # [5]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
1324
1551
  #
1325
1552
  # @option params [required, String] :secret_id
1326
- # The ARN or name of the secret to retrieve.
1553
+ # The ARN or name of the secret to retrieve. To retrieve a secret from
1554
+ # another account, you must use an ARN.
1327
1555
  #
1328
1556
  # For an ARN, we recommend that you specify a complete ARN rather than a
1329
1557
  # partial ARN. See [Finding a secret from a partial ARN][1].
@@ -1546,13 +1774,13 @@ module Aws::SecretsManager
1546
1774
  # Services account, not including secrets that are marked for deletion.
1547
1775
  # To see secrets marked for deletion, use the Secrets Manager console.
1548
1776
  #
1549
- # ListSecrets is eventually consistent, however it might not reflect
1550
- # changes from the last five minutes. To get the latest information for
1551
- # a specific secret, use DescribeSecret.
1777
+ # All Secrets Manager operations are eventually consistent. ListSecrets
1778
+ # might not reflect changes from the last five minutes. You can get more
1779
+ # recent information for a specific secret by calling DescribeSecret.
1552
1780
  #
1553
1781
  # To list the versions of a secret, use ListSecretVersionIds.
1554
1782
  #
1555
- # To get the secret value from `SecretString` or `SecretBinary`, call
1783
+ # To retrieve the values for the secrets, call BatchGetSecretValue or
1556
1784
  # GetSecretValue.
1557
1785
  #
1558
1786
  # For information about finding secrets in the console, see [Find
@@ -1737,6 +1965,25 @@ module Aws::SecretsManager
1737
1965
  # access to the secret, for example those that use a wildcard for the
1738
1966
  # principal. By default, public policies aren't blocked.
1739
1967
  #
1968
+ # Resource policy validation and the BlockPublicPolicy parameter help
1969
+ # protect your resources by preventing public access from being granted
1970
+ # through the resource policies that are directly attached to your
1971
+ # secrets. In addition to using these features, carefully inspect the
1972
+ # following policies to confirm that they do not grant public access:
1973
+ #
1974
+ # * Identity-based policies attached to associated Amazon Web Services
1975
+ # principals (for example, IAM roles)
1976
+ #
1977
+ # * Resource-based policies attached to associated Amazon Web Services
1978
+ # resources (for example, Key Management Service (KMS) keys)
1979
+ #
1980
+ # To review permissions to your secrets, see [Determine who has
1981
+ # permissions to your secrets][1].
1982
+ #
1983
+ #
1984
+ #
1985
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/determine-acccess_examine-iam-policies.html
1986
+ #
1740
1987
  # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1741
1988
  #
1742
1989
  # * {Types::PutResourcePolicyResponse#arn #arn} => String
@@ -1812,19 +2059,26 @@ module Aws::SecretsManager
1812
2059
  #
1813
2060
  # Secrets Manager generates a CloudTrail log entry when you call this
1814
2061
  # action. Do not include sensitive information in request parameters
1815
- # except `SecretBinary` or `SecretString` because it might be logged.
1816
- # For more information, see [Logging Secrets Manager events with
1817
- # CloudTrail][1].
2062
+ # except `SecretBinary`, `SecretString`, or `RotationToken` because it
2063
+ # might be logged. For more information, see [Logging Secrets Manager
2064
+ # events with CloudTrail][1].
1818
2065
  #
1819
2066
  # <b>Required permissions: </b> `secretsmanager:PutSecretValue`. For
1820
2067
  # more information, see [ IAM policy actions for Secrets Manager][2] and
1821
2068
  # [Authentication and access control in Secrets Manager][3].
1822
2069
  #
2070
+ # When you enter commands in a command shell, there is a risk of the
2071
+ # command history being accessed or utilities having access to your
2072
+ # command parameters. This is a concern if the command includes the
2073
+ # value of a secret. Learn how to [Mitigate the risks of using
2074
+ # command-line tools to store Secrets Manager secrets][4].
2075
+ #
1823
2076
  #
1824
2077
  #
1825
2078
  # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html
1826
2079
  # [2]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
1827
2080
  # [3]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
2081
+ # [4]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/security_cli-exposure-risks.html
1828
2082
  #
1829
2083
  # @option params [required, String] :secret_id
1830
2084
  # The ARN or name of the secret to add a new version to.
@@ -1890,6 +2144,11 @@ module Aws::SecretsManager
1890
2144
  #
1891
2145
  # You can't access this value from the Secrets Manager console.
1892
2146
  #
2147
+ # Sensitive: This field contains sensitive information, so the service
2148
+ # does not include it in CloudTrail log entries. If you create your own
2149
+ # log entries, you must also avoid logging the information in this
2150
+ # field.
2151
+ #
1893
2152
  # @option params [String] :secret_string
1894
2153
  # The text to encrypt and store in the new version of the secret.
1895
2154
  #
@@ -1898,6 +2157,11 @@ module Aws::SecretsManager
1898
2157
  # We recommend you create the secret string as JSON key/value pairs, as
1899
2158
  # shown in the example.
1900
2159
  #
2160
+ # Sensitive: This field contains sensitive information, so the service
2161
+ # does not include it in CloudTrail log entries. If you create your own
2162
+ # log entries, you must also avoid logging the information in this
2163
+ # field.
2164
+ #
1901
2165
  # @option params [Array<String>] :version_stages
1902
2166
  # A list of staging labels to attach to this version of the secret.
1903
2167
  # Secrets Manager uses staging labels to track versions of a secret
@@ -1913,6 +2177,23 @@ module Aws::SecretsManager
1913
2177
  # If you don't include `VersionStages`, then Secrets Manager
1914
2178
  # automatically moves the staging label `AWSCURRENT` to this version.
1915
2179
  #
2180
+ # @option params [String] :rotation_token
2181
+ # A unique identifier that indicates the source of the request. For
2182
+ # cross-account rotation (when you rotate a secret in one account by
2183
+ # using a Lambda rotation function in another account) and the Lambda
2184
+ # rotation function assumes an IAM role to call Secrets Manager, Secrets
2185
+ # Manager validates the identity with the rotation token. For more
2186
+ # information, see [How rotation works][1].
2187
+ #
2188
+ # Sensitive: This field contains sensitive information, so the service
2189
+ # does not include it in CloudTrail log entries. If you create your own
2190
+ # log entries, you must also avoid logging the information in this
2191
+ # field.
2192
+ #
2193
+ #
2194
+ #
2195
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html
2196
+ #
1916
2197
  # @return [Types::PutSecretValueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1917
2198
  #
1918
2199
  # * {Types::PutSecretValueResponse#arn #arn} => String
@@ -1950,6 +2231,7 @@ module Aws::SecretsManager
1950
2231
  # secret_binary: "data",
1951
2232
  # secret_string: "SecretStringType",
1952
2233
  # version_stages: ["SecretVersionStageType"],
2234
+ # rotation_token: "RotationTokenType",
1953
2235
  # })
1954
2236
  #
1955
2237
  # @example Response structure
@@ -2033,9 +2315,13 @@ module Aws::SecretsManager
2033
2315
  # Manager events with CloudTrail][2].
2034
2316
  #
2035
2317
  # <b>Required permissions: </b>
2036
- # `secretsmanager:ReplicateSecretToRegions`. For more information, see [
2037
- # IAM policy actions for Secrets Manager][3] and [Authentication and
2038
- # access control in Secrets Manager][4].
2318
+ # `secretsmanager:ReplicateSecretToRegions`. If the primary secret is
2319
+ # encrypted with a KMS key other than `aws/secretsmanager`, you also
2320
+ # need `kms:Decrypt` permission to the key. To encrypt the replicated
2321
+ # secret with a KMS key other than `aws/secretsmanager`, you need
2322
+ # `kms:GenerateDataKey` and `kms:Encrypt` to the key. For more
2323
+ # information, see [ IAM policy actions for Secrets Manager][3] and
2324
+ # [Authentication and access control in Secrets Manager][4].
2039
2325
  #
2040
2326
  #
2041
2327
  #
@@ -2296,7 +2582,7 @@ module Aws::SecretsManager
2296
2582
  #
2297
2583
  #
2298
2584
  #
2299
- # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html
2585
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_lambda-functions.html#rotate-secrets_lambda-functions-code
2300
2586
  #
2301
2587
  # @return [Types::RotateSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2302
2588
  #
@@ -2641,10 +2927,16 @@ module Aws::SecretsManager
2641
2927
  # a customer managed key, you must also have `kms:GenerateDataKey`,
2642
2928
  # `kms:Encrypt`, and `kms:Decrypt` permissions on the key. If you change
2643
2929
  # the KMS key and you don't have `kms:Encrypt` permission to the new
2644
- # key, Secrets Manager does not re-ecrypt existing secret versions with
2930
+ # key, Secrets Manager does not re-encrypt existing secret versions with
2645
2931
  # the new key. For more information, see [ Secret encryption and
2646
2932
  # decryption][5].
2647
2933
  #
2934
+ # When you enter commands in a command shell, there is a risk of the
2935
+ # command history being accessed or utilities having access to your
2936
+ # command parameters. This is a concern if the command includes the
2937
+ # value of a secret. Learn how to [Mitigate the risks of using
2938
+ # command-line tools to store Secrets Manager secrets][6].
2939
+ #
2648
2940
  #
2649
2941
  #
2650
2942
  # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/service-linked-secrets.html
@@ -2652,6 +2944,7 @@ module Aws::SecretsManager
2652
2944
  # [3]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions
2653
2945
  # [4]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
2654
2946
  # [5]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html
2947
+ # [6]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/security_cli-exposure-risks.html
2655
2948
  #
2656
2949
  # @option params [required, String] :secret_id
2657
2950
  # The ARN or name of the secret.
@@ -2700,8 +2993,8 @@ module Aws::SecretsManager
2700
2993
  # encrypt new secret versions as well as any existing versions with the
2701
2994
  # staging labels `AWSCURRENT`, `AWSPENDING`, or `AWSPREVIOUS`. If you
2702
2995
  # don't have `kms:Encrypt` permission to the new key, Secrets Manager
2703
- # does not re-ecrypt existing secret versions with the new key. For more
2704
- # information about versions and staging labels, see [Concepts:
2996
+ # does not re-encrypt existing secret versions with the new key. For
2997
+ # more information about versions and staging labels, see [Concepts:
2705
2998
  # Version][1].
2706
2999
  #
2707
3000
  # A key alias is always prefixed by `alias/`, for example
@@ -2739,6 +3032,11 @@ module Aws::SecretsManager
2739
3032
  #
2740
3033
  # You can't access this parameter in the Secrets Manager console.
2741
3034
  #
3035
+ # Sensitive: This field contains sensitive information, so the service
3036
+ # does not include it in CloudTrail log entries. If you create your own
3037
+ # log entries, you must also avoid logging the information in this
3038
+ # field.
3039
+ #
2742
3040
  # @option params [String] :secret_string
2743
3041
  # The text data to encrypt and store in the new version of the secret.
2744
3042
  # We recommend you use a JSON structure of key/value pairs for your
@@ -2747,6 +3045,11 @@ module Aws::SecretsManager
2747
3045
  # Either `SecretBinary` or `SecretString` must have a value, but not
2748
3046
  # both.
2749
3047
  #
3048
+ # Sensitive: This field contains sensitive information, so the service
3049
+ # does not include it in CloudTrail log entries. If you create your own
3050
+ # log entries, you must also avoid logging the information in this
3051
+ # field.
3052
+ #
2750
3053
  # @return [Types::UpdateSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2751
3054
  #
2752
3055
  # * {Types::UpdateSecretResponse#arn #arn} => String
@@ -3016,7 +3319,8 @@ module Aws::SecretsManager
3016
3319
  # [4]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html
3017
3320
  #
3018
3321
  # @option params [String] :secret_id
3019
- # This field is reserved for internal use.
3322
+ # The ARN or name of the secret with the resource-based policy you want
3323
+ # to validate.
3020
3324
  #
3021
3325
  # @option params [required, String] :resource_policy
3022
3326
  # A JSON-formatted string that contains an Amazon Web Services
@@ -3079,14 +3383,19 @@ module Aws::SecretsManager
3079
3383
  # @api private
3080
3384
  def build_request(operation_name, params = {})
3081
3385
  handlers = @handlers.for(operation_name)
3386
+ tracer = config.telemetry_provider.tracer_provider.tracer(
3387
+ Aws::Telemetry.module_to_tracer_name('Aws::SecretsManager')
3388
+ )
3082
3389
  context = Seahorse::Client::RequestContext.new(
3083
3390
  operation_name: operation_name,
3084
3391
  operation: config.api.operation(operation_name),
3085
3392
  client: self,
3086
3393
  params: params,
3087
- config: config)
3394
+ config: config,
3395
+ tracer: tracer
3396
+ )
3088
3397
  context[:gem_name] = 'aws-sdk-secretsmanager'
3089
- context[:gem_version] = '1.84.0'
3398
+ context[:gem_version] = '1.110.0'
3090
3399
  Seahorse::Client::Request.new(handlers, context)
3091
3400
  end
3092
3401