aws-sdk-secretsmanager 1.46.0 → 1.50.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.
@@ -392,26 +392,8 @@ module Aws::SecretsManager
392
392
  # either the Amazon Resource Name (ARN) or the friendly name of the
393
393
  # secret.
394
394
  #
395
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
396
- # complete ARN. You can specify a partial ARN too—for example, if you
397
- # don’t include the final hyphen and six random characters that Secrets
398
- # Manager adds at the end of the ARN when you created the secret. A
399
- # partial ARN match can work as long as it uniquely matches only one
400
- # secret. However, if your secret has a name that ends in a hyphen
401
- # followed by six characters (before Secrets Manager adds the hyphen and
402
- # six characters to the ARN) and you try to use that as a partial ARN,
403
- # then those characters cause Secrets Manager to assume that you’re
404
- # specifying a complete ARN. This confusion can cause unexpected
405
- # results. To avoid this situation, we recommend that you don’t create
406
- # secret names ending with a hyphen followed by six characters.
407
- #
408
- # If you specify an incomplete ARN without the random suffix, and
409
- # instead provide the 'friendly name', you *must* not include the
410
- # random suffix. If you do include the random suffix added by Secrets
411
- # Manager, you receive either a *ResourceNotFoundException* or an
412
- # *AccessDeniedException* error, depending on your permissions.
413
- #
414
- # </note>
395
+ # For an ARN, we recommend that you specify a complete ARN rather than a
396
+ # partial ARN.
415
397
  #
416
398
  # @return [Types::CancelRotateSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
417
399
  #
@@ -479,25 +461,27 @@ module Aws::SecretsManager
479
461
  #
480
462
  # <note markdown="1"> * If you call an operation to encrypt or decrypt the `SecretString` or
481
463
  # `SecretBinary` for a secret in the same account as the calling user
482
- # and that secret doesn't specify a AWS KMS encryption key, Secrets
483
- # Manager uses the account's default AWS managed customer master key
484
- # (CMK) with the alias `aws/secretsmanager`. If this key doesn't
485
- # already exist in your account then Secrets Manager creates it for
486
- # you automatically. All users and roles in the same AWS account
464
+ # and that secret doesn't specify a Amazon Web Services KMS
465
+ # encryption key, Secrets Manager uses the account's default Amazon
466
+ # Web Services managed customer master key (CMK) with the alias
467
+ # `aws/secretsmanager`. If this key doesn't already exist in your
468
+ # account then Secrets Manager creates it for you automatically. All
469
+ # users and roles in the same Amazon Web Services account
487
470
  # automatically have access to use the default CMK. Note that if an
488
- # Secrets Manager API call results in AWS creating the account's
489
- # AWS-managed CMK, it can result in a one-time significant delay in
490
- # returning the result.
491
- #
492
- # * If the secret resides in a different AWS account from the
493
- # credentials calling an API that requires encryption or decryption of
494
- # the secret value then you must create and use a custom AWS KMS CMK
495
- # because you can't access the default CMK for the account using
496
- # credentials from a different AWS account. Store the ARN of the CMK
497
- # in the secret when you create the secret or when you update it by
498
- # including it in the `KMSKeyId`. If you call an API that must encrypt
499
- # or decrypt `SecretString` or `SecretBinary` using credentials from a
500
- # different account then the AWS KMS key policy must grant
471
+ # Secrets Manager API call results in Amazon Web Services creating the
472
+ # account's Amazon Web Services-managed CMK, it can result in a
473
+ # one-time significant delay in returning the result.
474
+ #
475
+ # * If the secret resides in a different Amazon Web Services account
476
+ # from the credentials calling an API that requires encryption or
477
+ # decryption of the secret value then you must create and use a custom
478
+ # Amazon Web Services KMS CMK because you can't access the default
479
+ # CMK for the account using credentials from a different Amazon Web
480
+ # Services account. Store the ARN of the CMK in the secret when you
481
+ # create the secret or when you update it by including it in the
482
+ # `KMSKeyId`. If you call an API that must encrypt or decrypt
483
+ # `SecretString` or `SecretBinary` using credentials from a different
484
+ # account then the Amazon Web Services KMS key policy must grant
501
485
  # cross-account access to that other account's user or role for both
502
486
  # the kms:GenerateDataKey and kms:Decrypt operations.
503
487
  #
@@ -511,13 +495,15 @@ module Aws::SecretsManager
511
495
  #
512
496
  # * secretsmanager:CreateSecret
513
497
  #
514
- # * kms:GenerateDataKey - needed only if you use a customer-managed AWS
515
- # KMS key to encrypt the secret. You do not need this permission to
516
- # use the account default AWS managed CMK for Secrets Manager.
498
+ # * kms:GenerateDataKey - needed only if you use a customer-managed
499
+ # Amazon Web Services KMS key to encrypt the secret. You do not need
500
+ # this permission to use the account default Amazon Web Services
501
+ # managed CMK for Secrets Manager.
517
502
  #
518
- # * kms:Decrypt - needed only if you use a customer-managed AWS KMS key
519
- # to encrypt the secret. You do not need this permission to use the
520
- # account default AWS managed CMK for Secrets Manager.
503
+ # * kms:Decrypt - needed only if you use a customer-managed Amazon Web
504
+ # Services KMS key to encrypt the secret. You do not need this
505
+ # permission to use the account default Amazon Web Services managed
506
+ # CMK for Secrets Manager.
521
507
  #
522
508
  # * secretsmanager:TagResource - needed only if you include the `Tags`
523
509
  # parameter.
@@ -559,13 +545,13 @@ module Aws::SecretsManager
559
545
  # initial version is created as part of the secret, and this parameter
560
546
  # specifies a unique identifier for the new version.
561
547
  #
562
- # <note markdown="1"> If you use the AWS CLI or one of the AWS SDK to call this operation,
563
- # then you can leave this parameter empty. The CLI or SDK generates a
564
- # random UUID for you and includes it as the value for this parameter in
565
- # the request. If you don't use the SDK and instead generate a raw HTTP
566
- # request to the Secrets Manager service endpoint, then you must
567
- # generate a `ClientRequestToken` yourself for the new version and
568
- # include the value in the request.
548
+ # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
549
+ # Services SDK to call this operation, then you can leave this parameter
550
+ # empty. The CLI or SDK generates a random UUID for you and includes it
551
+ # as the value for this parameter in the request. If you don't use the
552
+ # SDK and instead generate a raw HTTP request to the Secrets Manager
553
+ # service endpoint, then you must generate a `ClientRequestToken`
554
+ # yourself for the new version and include the value in the request.
569
555
  #
570
556
  # </note>
571
557
  #
@@ -601,20 +587,21 @@ module Aws::SecretsManager
601
587
  # (Optional) Specifies a user-provided description of the secret.
602
588
  #
603
589
  # @option params [String] :kms_key_id
604
- # (Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer
605
- # master key (CMK) to be used to encrypt the `SecretString` or
606
- # `SecretBinary` values in the versions stored in this secret.
590
+ # (Optional) Specifies the ARN, Key ID, or alias of the Amazon Web
591
+ # Services KMS customer master key (CMK) to be used to encrypt the
592
+ # `SecretString` or `SecretBinary` values in the versions stored in this
593
+ # secret.
607
594
  #
608
- # You can specify any of the supported ways to identify a AWS KMS key
609
- # ID. If you need to reference a CMK in a different account, you can use
610
- # only the key ARN or the alias ARN.
595
+ # You can specify any of the supported ways to identify a Amazon Web
596
+ # Services KMS key ID. If you need to reference a CMK in a different
597
+ # account, you can use only the key ARN or the alias ARN.
611
598
  #
612
599
  # If you don't specify this value, then Secrets Manager defaults to
613
- # using the AWS account's default CMK (the one named
614
- # `aws/secretsmanager`). If a AWS KMS CMK with that name doesn't yet
615
- # exist, then Secrets Manager creates it for you automatically the first
616
- # time it needs to encrypt a version's `SecretString` or `SecretBinary`
617
- # fields.
600
+ # using the Amazon Web Services account's default CMK (the one named
601
+ # `aws/secretsmanager`). If a Amazon Web Services KMS CMK with that name
602
+ # doesn't yet exist, then Secrets Manager creates it for you
603
+ # automatically the first time it needs to encrypt a version's
604
+ # `SecretString` or `SecretBinary` fields.
618
605
  #
619
606
  # You can use the account default CMK to encrypt and decrypt only if you
620
607
  # call this operation using credentials from the same account that owns
@@ -632,7 +619,8 @@ module Aws::SecretsManager
632
619
  # both. They cannot both be empty.
633
620
  #
634
621
  # This parameter is not available using the Secrets Manager console. It
635
- # can be accessed only by using the AWS CLI or one of the AWS SDKs.
622
+ # can be accessed only by using the Amazon Web Services CLI or one of
623
+ # the Amazon Web Services SDKs.
636
624
  #
637
625
  # @option params [String] :secret_string
638
626
  # (Optional) Specifies text data that you want to encrypt and store in
@@ -648,20 +636,13 @@ module Aws::SecretsManager
648
636
  # rotation function knows how to parse.
649
637
  #
650
638
  # For storing multiple values, we recommend that you use a JSON text
651
- # string argument and specify key/value pairs. For information on how to
652
- # format a JSON parameter for the various command line tool
653
- # environments, see [Using JSON for Parameters][1] in the *AWS CLI User
654
- # Guide*. For example:
655
- #
656
- # `\{"username":"bob","password":"abc123xyz456"\}`
657
- #
658
- # If your command-line tool or SDK requires quotation marks around the
659
- # parameter, you should use single quotes to avoid confusion with the
660
- # double quotes required in the JSON text.
639
+ # string argument and specify key/value pairs. For more information, see
640
+ # [Specifying parameter values for the Amazon Web Services CLI][1] in
641
+ # the Amazon Web Services CLI User Guide.
661
642
  #
662
643
  #
663
644
  #
664
- # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
645
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html
665
646
  #
666
647
  # @option params [Array<Types::Tag>] :tags
667
648
  # (Optional) Specifies a list of user-defined tags that are attached to
@@ -680,7 +661,7 @@ module Aws::SecretsManager
680
661
  #
681
662
  # This parameter requires a JSON text string argument. For information
682
663
  # on how to format a JSON parameter for the various command line tool
683
- # environments, see [Using JSON for Parameters][1] in the *AWS CLI User
664
+ # environments, see [Using JSON for Parameters][1] in the *CLI User
684
665
  # Guide*. For example:
685
666
  #
686
667
  # `[\{"Key":"CostCenter","Value":"12345"\},\{"Key":"environment","Value":"production"\}]`
@@ -699,10 +680,10 @@ module Aws::SecretsManager
699
680
  #
700
681
  # * Tag keys and values are case sensitive.
701
682
  #
702
- # * Do not use the `aws:` prefix in your tag names or values because AWS
703
- # reserves it for AWS use. You can't edit or delete tag names or
704
- # values with this prefix. Tags with this prefix do not count against
705
- # your tags per secret limit.
683
+ # * Do not use the `aws:` prefix in your tag names or values because
684
+ # Amazon Web Services reserves it for Amazon Web Services use. You
685
+ # can't edit or delete tag names or values with this prefix. Tags
686
+ # with this prefix do not count against your tags per secret limit.
706
687
  #
707
688
  # * If you use your tagging schema across multiple services and
708
689
  # resources, remember other services might have restrictions on
@@ -819,26 +800,8 @@ module Aws::SecretsManager
819
800
  # resource-based policy for. You can specify either the Amazon Resource
820
801
  # Name (ARN) or the friendly name of the secret.
821
802
  #
822
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
823
- # complete ARN. You can specify a partial ARN too—for example, if you
824
- # don’t include the final hyphen and six random characters that Secrets
825
- # Manager adds at the end of the ARN when you created the secret. A
826
- # partial ARN match can work as long as it uniquely matches only one
827
- # secret. However, if your secret has a name that ends in a hyphen
828
- # followed by six characters (before Secrets Manager adds the hyphen and
829
- # six characters to the ARN) and you try to use that as a partial ARN,
830
- # then those characters cause Secrets Manager to assume that you’re
831
- # specifying a complete ARN. This confusion can cause unexpected
832
- # results. To avoid this situation, we recommend that you don’t create
833
- # secret names ending with a hyphen followed by six characters.
834
- #
835
- # If you specify an incomplete ARN without the random suffix, and
836
- # instead provide the 'friendly name', you *must* not include the
837
- # random suffix. If you do include the random suffix added by Secrets
838
- # Manager, you receive either a *ResourceNotFoundException* or an
839
- # *AccessDeniedException* error, depending on your permissions.
840
- #
841
- # </note>
803
+ # For an ARN, we recommend that you specify a complete ARN rather than a
804
+ # partial ARN.
842
805
  #
843
806
  # @return [Types::DeleteResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
844
807
  #
@@ -928,26 +891,8 @@ module Aws::SecretsManager
928
891
  # Specifies the secret to delete. You can specify either the Amazon
929
892
  # Resource Name (ARN) or the friendly name of the secret.
930
893
  #
931
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
932
- # complete ARN. You can specify a partial ARN too—for example, if you
933
- # don’t include the final hyphen and six random characters that Secrets
934
- # Manager adds at the end of the ARN when you created the secret. A
935
- # partial ARN match can work as long as it uniquely matches only one
936
- # secret. However, if your secret has a name that ends in a hyphen
937
- # followed by six characters (before Secrets Manager adds the hyphen and
938
- # six characters to the ARN) and you try to use that as a partial ARN,
939
- # then those characters cause Secrets Manager to assume that you’re
940
- # specifying a complete ARN. This confusion can cause unexpected
941
- # results. To avoid this situation, we recommend that you don’t create
942
- # secret names ending with a hyphen followed by six characters.
943
- #
944
- # If you specify an incomplete ARN without the random suffix, and
945
- # instead provide the 'friendly name', you *must* not include the
946
- # random suffix. If you do include the random suffix added by Secrets
947
- # Manager, you receive either a *ResourceNotFoundException* or an
948
- # *AccessDeniedException* error, depending on your permissions.
949
- #
950
- # </note>
894
+ # For an ARN, we recommend that you specify a complete ARN rather than a
895
+ # partial ARN.
951
896
  #
952
897
  # @option params [Integer] :recovery_window_in_days
953
898
  # (Optional) Specifies the number of days that Secrets Manager waits
@@ -970,10 +915,10 @@ module Aws::SecretsManager
970
915
  #
971
916
  # Use this parameter with caution. This parameter causes the operation
972
917
  # to skip the normal waiting period before the permanent deletion that
973
- # AWS would normally impose with the `RecoveryWindowInDays` parameter.
974
- # If you delete a secret with the `ForceDeleteWithouRecovery` parameter,
975
- # then you have no opportunity to recover the secret. You lose the
976
- # secret permanently.
918
+ # Amazon Web Services would normally impose with the
919
+ # `RecoveryWindowInDays` parameter. If you delete a secret with the
920
+ # `ForceDeleteWithouRecovery` parameter, then you have no opportunity to
921
+ # recover the secret. You lose the secret permanently.
977
922
  #
978
923
  # If you use this parameter and include a previously deleted or
979
924
  # nonexistent secret, the operation does not return the error
@@ -1048,33 +993,16 @@ module Aws::SecretsManager
1048
993
  # * To retrieve the encrypted secret information in a version of the
1049
994
  # secret, use GetSecretValue.
1050
995
  #
1051
- # * To list all of the secrets in the AWS account, use ListSecrets.
996
+ # * To list all of the secrets in the Amazon Web Services account, use
997
+ # ListSecrets.
1052
998
  #
1053
999
  # @option params [required, String] :secret_id
1054
1000
  # The identifier of the secret whose details you want to retrieve. You
1055
1001
  # can specify either the Amazon Resource Name (ARN) or the friendly name
1056
1002
  # of the secret.
1057
1003
  #
1058
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
1059
- # complete ARN. You can specify a partial ARN too—for example, if you
1060
- # don’t include the final hyphen and six random characters that Secrets
1061
- # Manager adds at the end of the ARN when you created the secret. A
1062
- # partial ARN match can work as long as it uniquely matches only one
1063
- # secret. However, if your secret has a name that ends in a hyphen
1064
- # followed by six characters (before Secrets Manager adds the hyphen and
1065
- # six characters to the ARN) and you try to use that as a partial ARN,
1066
- # then those characters cause Secrets Manager to assume that you’re
1067
- # specifying a complete ARN. This confusion can cause unexpected
1068
- # results. To avoid this situation, we recommend that you don’t create
1069
- # secret names ending with a hyphen followed by six characters.
1070
- #
1071
- # If you specify an incomplete ARN without the random suffix, and
1072
- # instead provide the 'friendly name', you *must* not include the
1073
- # random suffix. If you do include the random suffix added by Secrets
1074
- # Manager, you receive either a *ResourceNotFoundException* or an
1075
- # *AccessDeniedException* error, depending on your permissions.
1076
- #
1077
- # </note>
1004
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1005
+ # partial ARN.
1078
1006
  #
1079
1007
  # @return [Types::DescribeSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1080
1008
  #
@@ -1318,26 +1246,8 @@ module Aws::SecretsManager
1318
1246
  # resource-based policy for. You can specify either the Amazon Resource
1319
1247
  # Name (ARN) or the friendly name of the secret.
1320
1248
  #
1321
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
1322
- # complete ARN. You can specify a partial ARN too—for example, if you
1323
- # don’t include the final hyphen and six random characters that Secrets
1324
- # Manager adds at the end of the ARN when you created the secret. A
1325
- # partial ARN match can work as long as it uniquely matches only one
1326
- # secret. However, if your secret has a name that ends in a hyphen
1327
- # followed by six characters (before Secrets Manager adds the hyphen and
1328
- # six characters to the ARN) and you try to use that as a partial ARN,
1329
- # then those characters cause Secrets Manager to assume that you’re
1330
- # specifying a complete ARN. This confusion can cause unexpected
1331
- # results. To avoid this situation, we recommend that you don’t create
1332
- # secret names ending with a hyphen followed by six characters.
1333
- #
1334
- # If you specify an incomplete ARN without the random suffix, and
1335
- # instead provide the 'friendly name', you *must* not include the
1336
- # random suffix. If you do include the random suffix added by Secrets
1337
- # Manager, you receive either a *ResourceNotFoundException* or an
1338
- # *AccessDeniedException* error, depending on your permissions.
1339
- #
1340
- # </note>
1249
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1250
+ # partial ARN.
1341
1251
  #
1342
1252
  # @return [Types::GetResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1343
1253
  #
@@ -1392,9 +1302,10 @@ module Aws::SecretsManager
1392
1302
  #
1393
1303
  # * secretsmanager:GetSecretValue
1394
1304
  #
1395
- # * kms:Decrypt - required only if you use a customer-managed AWS KMS
1396
- # key to encrypt the secret. You do not need this permission to use
1397
- # the account's default AWS managed CMK for Secrets Manager.
1305
+ # * kms:Decrypt - required only if you use a customer-managed Amazon Web
1306
+ # Services KMS key to encrypt the secret. You do not need this
1307
+ # permission to use the account's default Amazon Web Services managed
1308
+ # CMK for Secrets Manager.
1398
1309
  #
1399
1310
  # **Related operations**
1400
1311
  #
@@ -1409,26 +1320,8 @@ module Aws::SecretsManager
1409
1320
  # You can specify either the Amazon Resource Name (ARN) or the friendly
1410
1321
  # name of the secret.
1411
1322
  #
1412
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
1413
- # complete ARN. You can specify a partial ARN too—for example, if you
1414
- # don’t include the final hyphen and six random characters that Secrets
1415
- # Manager adds at the end of the ARN when you created the secret. A
1416
- # partial ARN match can work as long as it uniquely matches only one
1417
- # secret. However, if your secret has a name that ends in a hyphen
1418
- # followed by six characters (before Secrets Manager adds the hyphen and
1419
- # six characters to the ARN) and you try to use that as a partial ARN,
1420
- # then those characters cause Secrets Manager to assume that you’re
1421
- # specifying a complete ARN. This confusion can cause unexpected
1422
- # results. To avoid this situation, we recommend that you don’t create
1423
- # secret names ending with a hyphen followed by six characters.
1424
- #
1425
- # If you specify an incomplete ARN without the random suffix, and
1426
- # instead provide the 'friendly name', you *must* not include the
1427
- # random suffix. If you do include the random suffix added by Secrets
1428
- # Manager, you receive either a *ResourceNotFoundException* or an
1429
- # *AccessDeniedException* error, depending on your permissions.
1430
- #
1431
- # </note>
1323
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1324
+ # partial ARN.
1432
1325
  #
1433
1326
  # @option params [String] :version_id
1434
1327
  # Specifies the unique identifier of the version of the secret that you
@@ -1551,26 +1444,8 @@ module Aws::SecretsManager
1551
1444
  # list. You can specify either the Amazon Resource Name (ARN) or the
1552
1445
  # friendly name of the secret.
1553
1446
  #
1554
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
1555
- # complete ARN. You can specify a partial ARN too—for example, if you
1556
- # don’t include the final hyphen and six random characters that Secrets
1557
- # Manager adds at the end of the ARN when you created the secret. A
1558
- # partial ARN match can work as long as it uniquely matches only one
1559
- # secret. However, if your secret has a name that ends in a hyphen
1560
- # followed by six characters (before Secrets Manager adds the hyphen and
1561
- # six characters to the ARN) and you try to use that as a partial ARN,
1562
- # then those characters cause Secrets Manager to assume that you’re
1563
- # specifying a complete ARN. This confusion can cause unexpected
1564
- # results. To avoid this situation, we recommend that you don’t create
1565
- # secret names ending with a hyphen followed by six characters.
1566
- #
1567
- # If you specify an incomplete ARN without the random suffix, and
1568
- # instead provide the 'friendly name', you *must* not include the
1569
- # random suffix. If you do include the random suffix added by Secrets
1570
- # Manager, you receive either a *ResourceNotFoundException* or an
1571
- # *AccessDeniedException* error, depending on your permissions.
1572
- #
1573
- # </note>
1447
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1448
+ # partial ARN.
1574
1449
  #
1575
1450
  # @option params [Integer] :max_results
1576
1451
  # (Optional) Limits the number of results you want to include in the
@@ -1660,6 +1535,8 @@ module Aws::SecretsManager
1660
1535
  # resp.versions[0].version_stages[0] #=> String
1661
1536
  # resp.versions[0].last_accessed_date #=> Time
1662
1537
  # resp.versions[0].created_date #=> Time
1538
+ # resp.versions[0].kms_key_ids #=> Array
1539
+ # resp.versions[0].kms_key_ids[0] #=> String
1663
1540
  # resp.next_token #=> String
1664
1541
  # resp.arn #=> String
1665
1542
  # resp.name #=> String
@@ -1673,11 +1550,11 @@ module Aws::SecretsManager
1673
1550
  req.send_request(options)
1674
1551
  end
1675
1552
 
1676
- # Lists all of the secrets that are stored by Secrets Manager in the AWS
1677
- # account. To list the versions currently stored for a specific secret,
1678
- # use ListSecretVersionIds. The encrypted fields `SecretString` and
1679
- # `SecretBinary` are not included in the output. To get that
1680
- # information, call the GetSecretValue operation.
1553
+ # Lists all of the secrets that are stored by Secrets Manager in the
1554
+ # Amazon Web Services account. To list the versions currently stored for
1555
+ # a specific secret, use ListSecretVersionIds. The encrypted fields
1556
+ # `SecretString` and `SecretBinary` are not included in the output. To
1557
+ # get that information, call the GetSecretValue operation.
1681
1558
  #
1682
1559
  # <note markdown="1"> Always check the `NextToken` response parameter when calling any of
1683
1560
  # the `List*` operations. These operations can occasionally return an
@@ -1826,9 +1703,9 @@ module Aws::SecretsManager
1826
1703
  # identity-based and resource-based policies. The affected users and
1827
1704
  # roles receive the permissions that are permitted by all of the
1828
1705
  # relevant policies. For more information, see [Using Resource-Based
1829
- # Policies for AWS Secrets Manager][1]. For the complete description of
1830
- # the AWS policy syntax and grammar, see [IAM JSON Policy Reference][2]
1831
- # in the *IAM User Guide*.
1706
+ # Policies for Amazon Web Services Secrets Manager][1]. For the complete
1707
+ # description of the Amazon Web Services policy syntax and grammar, see
1708
+ # [IAM JSON Policy Reference][2] in the *IAM User Guide*.
1832
1709
  #
1833
1710
  # **Minimum permissions**
1834
1711
  #
@@ -1858,34 +1735,16 @@ module Aws::SecretsManager
1858
1735
  # policy. You can specify either the ARN or the friendly name of the
1859
1736
  # secret.
1860
1737
  #
1861
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
1862
- # complete ARN. You can specify a partial ARN too—for example, if you
1863
- # don’t include the final hyphen and six random characters that Secrets
1864
- # Manager adds at the end of the ARN when you created the secret. A
1865
- # partial ARN match can work as long as it uniquely matches only one
1866
- # secret. However, if your secret has a name that ends in a hyphen
1867
- # followed by six characters (before Secrets Manager adds the hyphen and
1868
- # six characters to the ARN) and you try to use that as a partial ARN,
1869
- # then those characters cause Secrets Manager to assume that you’re
1870
- # specifying a complete ARN. This confusion can cause unexpected
1871
- # results. To avoid this situation, we recommend that you don’t create
1872
- # secret names ending with a hyphen followed by six characters.
1873
- #
1874
- # If you specify an incomplete ARN without the random suffix, and
1875
- # instead provide the 'friendly name', you *must* not include the
1876
- # random suffix. If you do include the random suffix added by Secrets
1877
- # Manager, you receive either a *ResourceNotFoundException* or an
1878
- # *AccessDeniedException* error, depending on your permissions.
1879
- #
1880
- # </note>
1738
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1739
+ # partial ARN.
1881
1740
  #
1882
1741
  # @option params [required, String] :resource_policy
1883
1742
  # A JSON-formatted string constructed according to the grammar and
1884
- # syntax for an AWS resource-based policy. The policy in the string
1885
- # identifies who can access or manage this secret and its versions. For
1886
- # information on how to format a JSON parameter for the various command
1887
- # line tool environments, see [Using JSON for Parameters][1] in the *AWS
1888
- # CLI User Guide*.
1743
+ # syntax for an Amazon Web Services resource-based policy. The policy in
1744
+ # the string identifies who can access or manage this secret and its
1745
+ # versions. For information on how to format a JSON parameter for the
1746
+ # various command line tool environments, see [Using JSON for
1747
+ # Parameters][1] in the *CLI User Guide*.
1889
1748
  #
1890
1749
  #
1891
1750
  #
@@ -1945,11 +1804,14 @@ module Aws::SecretsManager
1945
1804
  # `SecretBinary` value. You can also specify the staging labels that are
1946
1805
  # initially attached to the new version.
1947
1806
  #
1948
- # <note markdown="1"> The Secrets Manager console uses only the `SecretString` field. To add
1949
- # binary data to a secret with the `SecretBinary` field you must use the
1950
- # AWS CLI or one of the AWS SDKs.
1951
- #
1952
- # </note>
1807
+ # We recommend you avoid calling `PutSecretValue` at a sustained rate of
1808
+ # more than once every 10 minutes. When you update the secret value,
1809
+ # Secrets Manager creates a new version of the secret. Secrets Manager
1810
+ # removes outdated versions when there are more than 100, but it does
1811
+ # not remove versions created less than 24 hours ago. If you call
1812
+ # `PutSecretValue` more than once every 10 minutes, you create more
1813
+ # versions than Secrets Manager removes, and you will reach the quota
1814
+ # for secret versions.
1953
1815
  #
1954
1816
  # * If this operation creates the first version for the secret then
1955
1817
  # Secrets Manager automatically attaches the staging label
@@ -1973,25 +1835,27 @@ module Aws::SecretsManager
1973
1835
  #
1974
1836
  # <note markdown="1"> * If you call an operation to encrypt or decrypt the `SecretString` or
1975
1837
  # `SecretBinary` for a secret in the same account as the calling user
1976
- # and that secret doesn't specify a AWS KMS encryption key, Secrets
1977
- # Manager uses the account's default AWS managed customer master key
1978
- # (CMK) with the alias `aws/secretsmanager`. If this key doesn't
1979
- # already exist in your account then Secrets Manager creates it for
1980
- # you automatically. All users and roles in the same AWS account
1838
+ # and that secret doesn't specify a Amazon Web Services KMS
1839
+ # encryption key, Secrets Manager uses the account's default Amazon
1840
+ # Web Services managed customer master key (CMK) with the alias
1841
+ # `aws/secretsmanager`. If this key doesn't already exist in your
1842
+ # account then Secrets Manager creates it for you automatically. All
1843
+ # users and roles in the same Amazon Web Services account
1981
1844
  # automatically have access to use the default CMK. Note that if an
1982
- # Secrets Manager API call results in AWS creating the account's
1983
- # AWS-managed CMK, it can result in a one-time significant delay in
1984
- # returning the result.
1985
- #
1986
- # * If the secret resides in a different AWS account from the
1987
- # credentials calling an API that requires encryption or decryption of
1988
- # the secret value then you must create and use a custom AWS KMS CMK
1989
- # because you can't access the default CMK for the account using
1990
- # credentials from a different AWS account. Store the ARN of the CMK
1991
- # in the secret when you create the secret or when you update it by
1992
- # including it in the `KMSKeyId`. If you call an API that must encrypt
1993
- # or decrypt `SecretString` or `SecretBinary` using credentials from a
1994
- # different account then the AWS KMS key policy must grant
1845
+ # Secrets Manager API call results in Amazon Web Services creating the
1846
+ # account's Amazon Web Services-managed CMK, it can result in a
1847
+ # one-time significant delay in returning the result.
1848
+ #
1849
+ # * If the secret resides in a different Amazon Web Services account
1850
+ # from the credentials calling an API that requires encryption or
1851
+ # decryption of the secret value then you must create and use a custom
1852
+ # Amazon Web Services KMS CMK because you can't access the default
1853
+ # CMK for the account using credentials from a different Amazon Web
1854
+ # Services account. Store the ARN of the CMK in the secret when you
1855
+ # create the secret or when you update it by including it in the
1856
+ # `KMSKeyId`. If you call an API that must encrypt or decrypt
1857
+ # `SecretString` or `SecretBinary` using credentials from a different
1858
+ # account then the Amazon Web Services KMS key policy must grant
1995
1859
  # cross-account access to that other account's user or role for both
1996
1860
  # the kms:GenerateDataKey and kms:Decrypt operations.
1997
1861
  #
@@ -2003,9 +1867,10 @@ module Aws::SecretsManager
2003
1867
  #
2004
1868
  # * secretsmanager:PutSecretValue
2005
1869
  #
2006
- # * kms:GenerateDataKey - needed only if you use a customer-managed AWS
2007
- # KMS key to encrypt the secret. You do not need this permission to
2008
- # use the account's default AWS managed CMK for Secrets Manager.
1870
+ # * kms:GenerateDataKey - needed only if you use a customer-managed
1871
+ # Amazon Web Services KMS key to encrypt the secret. You do not need
1872
+ # this permission to use the account's default Amazon Web Services
1873
+ # managed CMK for Secrets Manager.
2009
1874
  #
2010
1875
  # **Related operations**
2011
1876
  #
@@ -2023,38 +1888,20 @@ module Aws::SecretsManager
2023
1888
  # specify either the Amazon Resource Name (ARN) or the friendly name of
2024
1889
  # the secret. The secret must already exist.
2025
1890
  #
2026
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2027
- # complete ARN. You can specify a partial ARN too—for example, if you
2028
- # don’t include the final hyphen and six random characters that Secrets
2029
- # Manager adds at the end of the ARN when you created the secret. A
2030
- # partial ARN match can work as long as it uniquely matches only one
2031
- # secret. However, if your secret has a name that ends in a hyphen
2032
- # followed by six characters (before Secrets Manager adds the hyphen and
2033
- # six characters to the ARN) and you try to use that as a partial ARN,
2034
- # then those characters cause Secrets Manager to assume that you’re
2035
- # specifying a complete ARN. This confusion can cause unexpected
2036
- # results. To avoid this situation, we recommend that you don’t create
2037
- # secret names ending with a hyphen followed by six characters.
2038
- #
2039
- # If you specify an incomplete ARN without the random suffix, and
2040
- # instead provide the 'friendly name', you *must* not include the
2041
- # random suffix. If you do include the random suffix added by Secrets
2042
- # Manager, you receive either a *ResourceNotFoundException* or an
2043
- # *AccessDeniedException* error, depending on your permissions.
2044
- #
2045
- # </note>
1891
+ # For an ARN, we recommend that you specify a complete ARN rather than a
1892
+ # partial ARN.
2046
1893
  #
2047
1894
  # @option params [String] :client_request_token
2048
1895
  # (Optional) Specifies a unique identifier for the new version of the
2049
1896
  # secret.
2050
1897
  #
2051
- # <note markdown="1"> If you use the AWS CLI or one of the AWS SDK to call this operation,
2052
- # then you can leave this parameter empty. The CLI or SDK generates a
2053
- # random UUID for you and includes that in the request. If you don't
2054
- # use the SDK and instead generate a raw HTTP request to the Secrets
2055
- # Manager service endpoint, then you must generate a
2056
- # `ClientRequestToken` yourself for new versions and include that value
2057
- # in the request.
1898
+ # <note markdown="1"> If you use the Amazon Web Services CLI or one of the Amazon Web
1899
+ # Services SDK to call this operation, then you can leave this parameter
1900
+ # empty. The CLI or SDK generates a random UUID for you and includes
1901
+ # that in the request. If you don't use the SDK and instead generate a
1902
+ # raw HTTP request to the Secrets Manager service endpoint, then you
1903
+ # must generate a `ClientRequestToken` yourself for new versions and
1904
+ # include that value in the request.
2058
1905
  #
2059
1906
  # </note>
2060
1907
  #
@@ -2111,22 +1958,13 @@ module Aws::SecretsManager
2111
1958
  # Lambda rotation function knows how to parse.
2112
1959
  #
2113
1960
  # For storing multiple values, we recommend that you use a JSON text
2114
- # string argument and specify key/value pairs. For information on how to
2115
- # format a JSON parameter for the various command line tool
2116
- # environments, see [Using JSON for Parameters][1] in the *AWS CLI User
2117
- # Guide*.
2118
- #
2119
- # For example:
2120
- #
2121
- # `[\{"username":"bob"\},\{"password":"abc123xyz456"\}]`
2122
- #
2123
- # If your command-line tool or SDK requires quotation marks around the
2124
- # parameter, you should use single quotes to avoid confusion with the
2125
- # double quotes required in the JSON text.
1961
+ # string argument and specify key/value pairs. For more information, see
1962
+ # [Specifying parameter values for the Amazon Web Services CLI][1] in
1963
+ # the Amazon Web Services CLI User Guide.
2126
1964
  #
2127
1965
  #
2128
1966
  #
2129
- # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
1967
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html
2130
1968
  #
2131
1969
  # @option params [Array<String>] :version_stages
2132
1970
  # (Optional) Specifies a list of staging labels that are attached to
@@ -2311,26 +2149,8 @@ module Aws::SecretsManager
2311
2149
  # scheduled deletion. You can specify either the Amazon Resource Name
2312
2150
  # (ARN) or the friendly name of the secret.
2313
2151
  #
2314
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2315
- # complete ARN. You can specify a partial ARN too—for example, if you
2316
- # don’t include the final hyphen and six random characters that Secrets
2317
- # Manager adds at the end of the ARN when you created the secret. A
2318
- # partial ARN match can work as long as it uniquely matches only one
2319
- # secret. However, if your secret has a name that ends in a hyphen
2320
- # followed by six characters (before Secrets Manager adds the hyphen and
2321
- # six characters to the ARN) and you try to use that as a partial ARN,
2322
- # then those characters cause Secrets Manager to assume that you’re
2323
- # specifying a complete ARN. This confusion can cause unexpected
2324
- # results. To avoid this situation, we recommend that you don’t create
2325
- # secret names ending with a hyphen followed by six characters.
2326
- #
2327
- # If you specify an incomplete ARN without the random suffix, and
2328
- # instead provide the 'friendly name', you *must* not include the
2329
- # random suffix. If you do include the random suffix added by Secrets
2330
- # Manager, you receive either a *ResourceNotFoundException* or an
2331
- # *AccessDeniedException* error, depending on your permissions.
2332
- #
2333
- # </note>
2152
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2153
+ # partial ARN.
2334
2154
  #
2335
2155
  # @return [Types::RestoreSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2336
2156
  #
@@ -2380,16 +2200,17 @@ module Aws::SecretsManager
2380
2200
  # secret. After the rotation completes, the protected service and its
2381
2201
  # clients all use the new version of the secret.
2382
2202
  #
2383
- # This required configuration information includes the ARN of an AWS
2384
- # Lambda function and the time between scheduled rotations. The Lambda
2385
- # rotation function creates a new version of the secret and creates or
2386
- # updates the credentials on the protected service to match. After
2387
- # testing the new credentials, the function marks the new secret with
2388
- # the staging label `AWSCURRENT` so that your clients all immediately
2389
- # begin to use the new version. For more information about rotating
2390
- # secrets and how to configure a Lambda function to rotate the secrets
2391
- # for your protected service, see [Rotating Secrets in AWS Secrets
2392
- # Manager][1] in the *AWS Secrets Manager User Guide*.
2203
+ # This required configuration information includes the ARN of an Amazon
2204
+ # Web Services Lambda function and optionally, the time between
2205
+ # scheduled rotations. The Lambda rotation function creates a new
2206
+ # version of the secret and creates or updates the credentials on the
2207
+ # protected service to match. After testing the new credentials, the
2208
+ # function marks the new secret with the staging label `AWSCURRENT` so
2209
+ # that your clients all immediately begin to use the new version. For
2210
+ # more information about rotating secrets and how to configure a Lambda
2211
+ # function to rotate the secrets for your protected service, see
2212
+ # [Rotating Secrets in Amazon Web Services Secrets Manager][1] in the
2213
+ # *Amazon Web Services Secrets Manager User Guide*.
2393
2214
  #
2394
2215
  # Secrets Manager schedules the next rotation when the previous one
2395
2216
  # completes. Secrets Manager schedules the date by adding the rotation
@@ -2441,38 +2262,20 @@ module Aws::SecretsManager
2441
2262
  # Specifies the secret that you want to rotate. You can specify either
2442
2263
  # the Amazon Resource Name (ARN) or the friendly name of the secret.
2443
2264
  #
2444
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2445
- # complete ARN. You can specify a partial ARN too—for example, if you
2446
- # don’t include the final hyphen and six random characters that Secrets
2447
- # Manager adds at the end of the ARN when you created the secret. A
2448
- # partial ARN match can work as long as it uniquely matches only one
2449
- # secret. However, if your secret has a name that ends in a hyphen
2450
- # followed by six characters (before Secrets Manager adds the hyphen and
2451
- # six characters to the ARN) and you try to use that as a partial ARN,
2452
- # then those characters cause Secrets Manager to assume that you’re
2453
- # specifying a complete ARN. This confusion can cause unexpected
2454
- # results. To avoid this situation, we recommend that you don’t create
2455
- # secret names ending with a hyphen followed by six characters.
2456
- #
2457
- # If you specify an incomplete ARN without the random suffix, and
2458
- # instead provide the 'friendly name', you *must* not include the
2459
- # random suffix. If you do include the random suffix added by Secrets
2460
- # Manager, you receive either a *ResourceNotFoundException* or an
2461
- # *AccessDeniedException* error, depending on your permissions.
2462
- #
2463
- # </note>
2265
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2266
+ # partial ARN.
2464
2267
  #
2465
2268
  # @option params [String] :client_request_token
2466
2269
  # (Optional) Specifies a unique identifier for the new version of the
2467
2270
  # secret that helps ensure idempotency.
2468
2271
  #
2469
- # If you use the AWS CLI or one of the AWS SDK to call this operation,
2470
- # then you can leave this parameter empty. The CLI or SDK generates a
2471
- # random UUID for you and includes that in the request for this
2472
- # parameter. If you don't use the SDK and instead generate a raw HTTP
2473
- # request to the Secrets Manager service endpoint, then you must
2474
- # generate a `ClientRequestToken` yourself for new versions and include
2475
- # that value in the request.
2272
+ # If you use the Amazon Web Services CLI or one of the Amazon Web
2273
+ # Services SDK to call this operation, then you can leave this parameter
2274
+ # empty. The CLI or SDK generates a random UUID for you and includes
2275
+ # that in the request for this parameter. If you don't use the SDK and
2276
+ # instead generate a raw HTTP request to the Secrets Manager service
2277
+ # endpoint, then you must generate a `ClientRequestToken` yourself for
2278
+ # new versions and include that value in the request.
2476
2279
  #
2477
2280
  # You only need to specify your own value if you implement your own
2478
2281
  # retry logic and want to ensure that a given secret is not created
@@ -2576,10 +2379,10 @@ module Aws::SecretsManager
2576
2379
  #
2577
2380
  # * Tag keys and values are case sensitive.
2578
2381
  #
2579
- # * Do not use the `aws:` prefix in your tag names or values because AWS
2580
- # reserves it for AWS use. You can't edit or delete tag names or
2581
- # values with this prefix. Tags with this prefix do not count against
2582
- # your tags per secret limit.
2382
+ # * Do not use the `aws:` prefix in your tag names or values because
2383
+ # Amazon Web Services reserves it for Amazon Web Services use. You
2384
+ # can't edit or delete tag names or values with this prefix. Tags
2385
+ # with this prefix do not count against your tags per secret limit.
2583
2386
  #
2584
2387
  # * If you use your tagging schema across multiple services and
2585
2388
  # resources, remember other services might have restrictions on
@@ -2612,40 +2415,23 @@ module Aws::SecretsManager
2612
2415
  # specify either the Amazon Resource Name (ARN) or the friendly name of
2613
2416
  # the secret.
2614
2417
  #
2615
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2616
- # complete ARN. You can specify a partial ARN too—for example, if you
2617
- # don’t include the final hyphen and six random characters that Secrets
2618
- # Manager adds at the end of the ARN when you created the secret. A
2619
- # partial ARN match can work as long as it uniquely matches only one
2620
- # secret. However, if your secret has a name that ends in a hyphen
2621
- # followed by six characters (before Secrets Manager adds the hyphen and
2622
- # six characters to the ARN) and you try to use that as a partial ARN,
2623
- # then those characters cause Secrets Manager to assume that you’re
2624
- # specifying a complete ARN. This confusion can cause unexpected
2625
- # results. To avoid this situation, we recommend that you don’t create
2626
- # secret names ending with a hyphen followed by six characters.
2627
- #
2628
- # If you specify an incomplete ARN without the random suffix, and
2629
- # instead provide the 'friendly name', you *must* not include the
2630
- # random suffix. If you do include the random suffix added by Secrets
2631
- # Manager, you receive either a *ResourceNotFoundException* or an
2632
- # *AccessDeniedException* error, depending on your permissions.
2633
- #
2634
- # </note>
2418
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2419
+ # partial ARN.
2635
2420
  #
2636
2421
  # @option params [required, Array<Types::Tag>] :tags
2637
2422
  # The tags to attach to the secret. Each element in the list consists of
2638
2423
  # a `Key` and a `Value`.
2639
2424
  #
2640
- # This parameter to the API requires a JSON text string argument. For
2641
- # information on how to format a JSON parameter for the various command
2642
- # line tool environments, see [Using JSON for Parameters][1] in the *AWS
2643
- # CLI User Guide*. For the AWS CLI, you can also use the syntax: `--Tags
2644
- # Key="Key1",Value="Value1" Key="Key2",Value="Value2"[,…]`
2425
+ # This parameter to the API requires a JSON text string argument.
2426
+ #
2427
+ # For storing multiple values, we recommend that you use a JSON text
2428
+ # string argument and specify key/value pairs. For more information, see
2429
+ # [Specifying parameter values for the Amazon Web Services CLI][1] in
2430
+ # the Amazon Web Services CLI User Guide.
2645
2431
  #
2646
2432
  #
2647
2433
  #
2648
- # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
2434
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html
2649
2435
  #
2650
2436
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2651
2437
  #
@@ -2720,39 +2506,23 @@ module Aws::SecretsManager
2720
2506
  # can specify either the Amazon Resource Name (ARN) or the friendly name
2721
2507
  # of the secret.
2722
2508
  #
2723
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2724
- # complete ARN. You can specify a partial ARN too—for example, if you
2725
- # don’t include the final hyphen and six random characters that Secrets
2726
- # Manager adds at the end of the ARN when you created the secret. A
2727
- # partial ARN match can work as long as it uniquely matches only one
2728
- # secret. However, if your secret has a name that ends in a hyphen
2729
- # followed by six characters (before Secrets Manager adds the hyphen and
2730
- # six characters to the ARN) and you try to use that as a partial ARN,
2731
- # then those characters cause Secrets Manager to assume that you’re
2732
- # specifying a complete ARN. This confusion can cause unexpected
2733
- # results. To avoid this situation, we recommend that you don’t create
2734
- # secret names ending with a hyphen followed by six characters.
2735
- #
2736
- # If you specify an incomplete ARN without the random suffix, and
2737
- # instead provide the 'friendly name', you *must* not include the
2738
- # random suffix. If you do include the random suffix added by Secrets
2739
- # Manager, you receive either a *ResourceNotFoundException* or an
2740
- # *AccessDeniedException* error, depending on your permissions.
2741
- #
2742
- # </note>
2509
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2510
+ # partial ARN.
2743
2511
  #
2744
2512
  # @option params [required, Array<String>] :tag_keys
2745
2513
  # A list of tag key names to remove from the secret. You don't specify
2746
2514
  # the value. Both the key and its associated value are removed.
2747
2515
  #
2748
- # This parameter to the API requires a JSON text string argument. For
2749
- # information on how to format a JSON parameter for the various command
2750
- # line tool environments, see [Using JSON for Parameters][1] in the *AWS
2751
- # CLI User Guide*.
2516
+ # This parameter to the API requires a JSON text string argument.
2752
2517
  #
2518
+ # For storing multiple values, we recommend that you use a JSON text
2519
+ # string argument and specify key/value pairs. For more information, see
2520
+ # [Specifying parameter values for the Amazon Web Services CLI][1] in
2521
+ # the Amazon Web Services CLI User Guide.
2753
2522
  #
2754
2523
  #
2755
- # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
2524
+ #
2525
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html
2756
2526
  #
2757
2527
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2758
2528
  #
@@ -2786,17 +2556,27 @@ module Aws::SecretsManager
2786
2556
  req.send_request(options)
2787
2557
  end
2788
2558
 
2789
- # Modifies many of the details of the specified secret. If you include a
2790
- # `ClientRequestToken` and *either* `SecretString` or `SecretBinary`
2791
- # then it also creates a new version attached to the secret.
2559
+ # Modifies many of the details of the specified secret.
2792
2560
  #
2793
- # To modify the rotation configuration of a secret, use RotateSecret
2561
+ # To change the secret value, you can also use PutSecretValue.
2562
+ #
2563
+ # To change the rotation configuration of a secret, use RotateSecret
2794
2564
  # instead.
2795
2565
  #
2566
+ # We recommend you avoid calling `UpdateSecret` at a sustained rate of
2567
+ # more than once every 10 minutes. When you call `UpdateSecret` to
2568
+ # update the secret value, Secrets Manager creates a new version of the
2569
+ # secret. Secrets Manager removes outdated versions when there are more
2570
+ # than 100, but it does not remove versions created less than 24 hours
2571
+ # ago. If you update the secret value more than once every 10 minutes,
2572
+ # you create more versions than Secrets Manager removes, and you will
2573
+ # reach the quota for secret versions.
2574
+ #
2796
2575
  # <note markdown="1"> The Secrets Manager console uses only the `SecretString` parameter and
2797
2576
  # therefore limits you to encrypting and storing only a text string. To
2798
2577
  # encrypt and store binary data as part of the version of a secret, you
2799
- # must use either the AWS CLI or one of the AWS SDKs.
2578
+ # must use either the Amazon Web Services CLI or one of the Amazon Web
2579
+ # Services SDKs.
2800
2580
  #
2801
2581
  # </note>
2802
2582
  #
@@ -2811,25 +2591,27 @@ module Aws::SecretsManager
2811
2591
  #
2812
2592
  # <note markdown="1"> * If you call an operation to encrypt or decrypt the `SecretString` or
2813
2593
  # `SecretBinary` for a secret in the same account as the calling user
2814
- # and that secret doesn't specify a AWS KMS encryption key, Secrets
2815
- # Manager uses the account's default AWS managed customer master key
2816
- # (CMK) with the alias `aws/secretsmanager`. If this key doesn't
2817
- # already exist in your account then Secrets Manager creates it for
2818
- # you automatically. All users and roles in the same AWS account
2594
+ # and that secret doesn't specify a Amazon Web Services KMS
2595
+ # encryption key, Secrets Manager uses the account's default Amazon
2596
+ # Web Services managed customer master key (CMK) with the alias
2597
+ # `aws/secretsmanager`. If this key doesn't already exist in your
2598
+ # account then Secrets Manager creates it for you automatically. All
2599
+ # users and roles in the same Amazon Web Services account
2819
2600
  # automatically have access to use the default CMK. Note that if an
2820
- # Secrets Manager API call results in AWS creating the account's
2821
- # AWS-managed CMK, it can result in a one-time significant delay in
2822
- # returning the result.
2823
- #
2824
- # * If the secret resides in a different AWS account from the
2825
- # credentials calling an API that requires encryption or decryption of
2826
- # the secret value then you must create and use a custom AWS KMS CMK
2827
- # because you can't access the default CMK for the account using
2828
- # credentials from a different AWS account. Store the ARN of the CMK
2829
- # in the secret when you create the secret or when you update it by
2830
- # including it in the `KMSKeyId`. If you call an API that must encrypt
2831
- # or decrypt `SecretString` or `SecretBinary` using credentials from a
2832
- # different account then the AWS KMS key policy must grant
2601
+ # Secrets Manager API call results in Amazon Web Services creating the
2602
+ # account's Amazon Web Services-managed CMK, it can result in a
2603
+ # one-time significant delay in returning the result.
2604
+ #
2605
+ # * If the secret resides in a different Amazon Web Services account
2606
+ # from the credentials calling an API that requires encryption or
2607
+ # decryption of the secret value then you must create and use a custom
2608
+ # Amazon Web Services KMS CMK because you can't access the default
2609
+ # CMK for the account using credentials from a different Amazon Web
2610
+ # Services account. Store the ARN of the CMK in the secret when you
2611
+ # create the secret or when you update it by including it in the
2612
+ # `KMSKeyId`. If you call an API that must encrypt or decrypt
2613
+ # `SecretString` or `SecretBinary` using credentials from a different
2614
+ # account then the Amazon Web Services KMS key policy must grant
2833
2615
  # cross-account access to that other account's user or role for both
2834
2616
  # the kms:GenerateDataKey and kms:Decrypt operations.
2835
2617
  #
@@ -2841,13 +2623,15 @@ module Aws::SecretsManager
2841
2623
  #
2842
2624
  # * secretsmanager:UpdateSecret
2843
2625
  #
2844
- # * kms:GenerateDataKey - needed only if you use a custom AWS KMS key to
2845
- # encrypt the secret. You do not need this permission to use the
2846
- # account's AWS managed CMK for Secrets Manager.
2626
+ # * kms:GenerateDataKey - needed only if you use a custom Amazon Web
2627
+ # Services KMS key to encrypt the secret. You do not need this
2628
+ # permission to use the account's Amazon Web Services managed CMK for
2629
+ # Secrets Manager.
2847
2630
  #
2848
- # * kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt
2849
- # the secret. You do not need this permission to use the account's
2850
- # AWS managed CMK for Secrets Manager.
2631
+ # * kms:Decrypt - needed only if you use a custom Amazon Web Services
2632
+ # KMS key to encrypt the secret. You do not need this permission to
2633
+ # use the account's Amazon Web Services managed CMK for Secrets
2634
+ # Manager.
2851
2635
  #
2852
2636
  # **Related operations**
2853
2637
  #
@@ -2865,39 +2649,21 @@ module Aws::SecretsManager
2865
2649
  # add a new version. You can specify either the Amazon Resource Name
2866
2650
  # (ARN) or the friendly name of the secret.
2867
2651
  #
2868
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
2869
- # complete ARN. You can specify a partial ARN too—for example, if you
2870
- # don’t include the final hyphen and six random characters that Secrets
2871
- # Manager adds at the end of the ARN when you created the secret. A
2872
- # partial ARN match can work as long as it uniquely matches only one
2873
- # secret. However, if your secret has a name that ends in a hyphen
2874
- # followed by six characters (before Secrets Manager adds the hyphen and
2875
- # six characters to the ARN) and you try to use that as a partial ARN,
2876
- # then those characters cause Secrets Manager to assume that you’re
2877
- # specifying a complete ARN. This confusion can cause unexpected
2878
- # results. To avoid this situation, we recommend that you don’t create
2879
- # secret names ending with a hyphen followed by six characters.
2880
- #
2881
- # If you specify an incomplete ARN without the random suffix, and
2882
- # instead provide the 'friendly name', you *must* not include the
2883
- # random suffix. If you do include the random suffix added by Secrets
2884
- # Manager, you receive either a *ResourceNotFoundException* or an
2885
- # *AccessDeniedException* error, depending on your permissions.
2886
- #
2887
- # </note>
2652
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2653
+ # partial ARN.
2888
2654
  #
2889
2655
  # @option params [String] :client_request_token
2890
2656
  # (Optional) If you want to add a new version to the secret, this
2891
2657
  # parameter specifies a unique identifier for the new version that helps
2892
2658
  # ensure idempotency.
2893
2659
  #
2894
- # If you use the AWS CLI or one of the AWS SDK to call this operation,
2895
- # then you can leave this parameter empty. The CLI or SDK generates a
2896
- # random UUID for you and includes that in the request. If you don't
2897
- # use the SDK and instead generate a raw HTTP request to the Secrets
2898
- # Manager service endpoint, then you must generate a
2899
- # `ClientRequestToken` yourself for new versions and include that value
2900
- # in the request.
2660
+ # If you use the Amazon Web Services CLI or one of the Amazon Web
2661
+ # Services SDK to call this operation, then you can leave this parameter
2662
+ # empty. The CLI or SDK generates a random UUID for you and includes
2663
+ # that in the request. If you don't use the SDK and instead generate a
2664
+ # raw HTTP request to the Secrets Manager service endpoint, then you
2665
+ # must generate a `ClientRequestToken` yourself for new versions and
2666
+ # include that value in the request.
2901
2667
  #
2902
2668
  # You typically only need to interact with this value if you implement
2903
2669
  # your own retry logic and want to ensure that a given secret is not
@@ -2935,9 +2701,13 @@ module Aws::SecretsManager
2935
2701
  # secret.
2936
2702
  #
2937
2703
  # @option params [String] :kms_key_id
2938
- # (Optional) Specifies an updated ARN or alias of the AWS KMS customer
2939
- # master key (CMK) to be used to encrypt the protected text in new
2940
- # versions of this secret.
2704
+ # (Optional) Specifies an updated ARN or alias of the Amazon Web
2705
+ # Services KMS customer master key (CMK) that Secrets Manager uses to
2706
+ # encrypt the protected text in new versions of this secret as well as
2707
+ # any existing versions of this secret that have the staging labels
2708
+ # AWSCURRENT, AWSPENDING, or AWSPREVIOUS. For more information about
2709
+ # staging labels, see [Staging Labels][1] in the *Amazon Web Services
2710
+ # Secrets Manager User Guide*.
2941
2711
  #
2942
2712
  # You can only use the account's default CMK to encrypt and decrypt if
2943
2713
  # you call this operation using credentials from the same account that
@@ -2946,6 +2716,10 @@ module Aws::SecretsManager
2946
2716
  # field. The user making the call must have permissions to both the
2947
2717
  # secret and the CMK in their respective accounts.
2948
2718
  #
2719
+ #
2720
+ #
2721
+ # [1]: https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html#term_staging-label
2722
+ #
2949
2723
  # @option params [String, StringIO, File] :secret_binary
2950
2724
  # (Optional) Specifies updated binary data that you want to encrypt and
2951
2725
  # store in the new version of the secret. To use this parameter in the
@@ -2970,25 +2744,13 @@ module Aws::SecretsManager
2970
2744
  # Lambda rotation function knows how to parse.
2971
2745
  #
2972
2746
  # For storing multiple values, we recommend that you use a JSON text
2973
- # string argument and specify key/value pairs. For information on how to
2974
- # format a JSON parameter for the various command line tool
2975
- # environments, see [Using JSON for Parameters][1] in the *AWS CLI User
2976
- # Guide*. For example:
2747
+ # string argument and specify key/value pairs. For more information, see
2748
+ # [Specifying parameter values for the Amazon Web Services CLI][1] in
2749
+ # the Amazon Web Services CLI User Guide.
2977
2750
  #
2978
- # `[\{"username":"bob"\},\{"password":"abc123xyz456"\}]`
2979
2751
  #
2980
- # If your command-line tool or SDK requires quotation marks around the
2981
- # parameter, you should use single quotes to avoid confusion with the
2982
- # double quotes required in the JSON text. You can also 'escape' the
2983
- # double quote character in the embedded JSON text by prefacing each
2984
- # with a backslash. For example, the following string is surrounded by
2985
- # double-quotes. All of the embedded double quotes are escaped:
2986
2752
  #
2987
- # `"[\{"username":"bob"\},\{"password":"abc123xyz456"\}]"`
2988
- #
2989
- #
2990
- #
2991
- # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json
2753
+ # [1]: https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters.html
2992
2754
  #
2993
2755
  # @return [Types::UpdateSecretResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2994
2756
  #
@@ -3078,8 +2840,8 @@ module Aws::SecretsManager
3078
2840
  # of a secret at a time. If a staging label to be added is already
3079
2841
  # attached to another version, then it is moved--removed from the other
3080
2842
  # version first and then attached to this one. For more information
3081
- # about staging labels, see [Staging Labels][1] in the *AWS Secrets
3082
- # Manager User Guide*.
2843
+ # about staging labels, see [Staging Labels][1] in the *Amazon Web
2844
+ # Services Secrets Manager User Guide*.
3083
2845
  #
3084
2846
  # The staging labels that you specify in the `VersionStage` parameter
3085
2847
  # are added to the existing list of staging labels--they don't replace
@@ -3123,26 +2885,8 @@ module Aws::SecretsManager
3123
2885
  # you want to modify. You can specify either the Amazon Resource Name
3124
2886
  # (ARN) or the friendly name of the secret.
3125
2887
  #
3126
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
3127
- # complete ARN. You can specify a partial ARN too—for example, if you
3128
- # don’t include the final hyphen and six random characters that Secrets
3129
- # Manager adds at the end of the ARN when you created the secret. A
3130
- # partial ARN match can work as long as it uniquely matches only one
3131
- # secret. However, if your secret has a name that ends in a hyphen
3132
- # followed by six characters (before Secrets Manager adds the hyphen and
3133
- # six characters to the ARN) and you try to use that as a partial ARN,
3134
- # then those characters cause Secrets Manager to assume that you’re
3135
- # specifying a complete ARN. This confusion can cause unexpected
3136
- # results. To avoid this situation, we recommend that you don’t create
3137
- # secret names ending with a hyphen followed by six characters.
3138
- #
3139
- # If you specify an incomplete ARN without the random suffix, and
3140
- # instead provide the 'friendly name', you *must* not include the
3141
- # random suffix. If you do include the random suffix added by Secrets
3142
- # Manager, you receive either a *ResourceNotFoundException* or an
3143
- # *AccessDeniedException* error, depending on your permissions.
3144
- #
3145
- # </note>
2888
+ # For an ARN, we recommend that you specify a complete ARN rather than a
2889
+ # partial ARN.
3146
2890
  #
3147
2891
  # @option params [required, String] :version_stage
3148
2892
  # The staging label to add to this version.
@@ -3281,34 +3025,16 @@ module Aws::SecretsManager
3281
3025
  # you want to validate. You can specify either the Amazon Resource Name
3282
3026
  # (ARN) or the friendly name of the secret.
3283
3027
  #
3284
- # <note markdown="1"> If you specify an ARN, we generally recommend that you specify a
3285
- # complete ARN. You can specify a partial ARN too—for example, if you
3286
- # don’t include the final hyphen and six random characters that Secrets
3287
- # Manager adds at the end of the ARN when you created the secret. A
3288
- # partial ARN match can work as long as it uniquely matches only one
3289
- # secret. However, if your secret has a name that ends in a hyphen
3290
- # followed by six characters (before Secrets Manager adds the hyphen and
3291
- # six characters to the ARN) and you try to use that as a partial ARN,
3292
- # then those characters cause Secrets Manager to assume that you’re
3293
- # specifying a complete ARN. This confusion can cause unexpected
3294
- # results. To avoid this situation, we recommend that you don’t create
3295
- # secret names ending with a hyphen followed by six characters.
3296
- #
3297
- # If you specify an incomplete ARN without the random suffix, and
3298
- # instead provide the 'friendly name', you *must* not include the
3299
- # random suffix. If you do include the random suffix added by Secrets
3300
- # Manager, you receive either a *ResourceNotFoundException* or an
3301
- # *AccessDeniedException* error, depending on your permissions.
3302
- #
3303
- # </note>
3028
+ # For an ARN, we recommend that you specify a complete ARN rather than a
3029
+ # partial ARN.
3304
3030
  #
3305
3031
  # @option params [required, String] :resource_policy
3306
3032
  # A JSON-formatted string constructed according to the grammar and
3307
- # syntax for an AWS resource-based policy. The policy in the string
3308
- # identifies who can access or manage this secret and its versions. For
3309
- # information on how to format a JSON parameter for the various command
3310
- # line tool environments, see [Using JSON for Parameters][1] in the *AWS
3311
- # CLI User Guide*.publi
3033
+ # syntax for an Amazon Web Services resource-based policy. The policy in
3034
+ # the string identifies who can access or manage this secret and its
3035
+ # versions. For information on how to format a JSON parameter for the
3036
+ # various command line tool environments, see [Using JSON for
3037
+ # Parameters][1] in the *CLI User Guide*.publi
3312
3038
  #
3313
3039
  #
3314
3040
  #
@@ -3372,7 +3098,7 @@ module Aws::SecretsManager
3372
3098
  params: params,
3373
3099
  config: config)
3374
3100
  context[:gem_name] = 'aws-sdk-secretsmanager'
3375
- context[:gem_version] = '1.46.0'
3101
+ context[:gem_version] = '1.50.0'
3376
3102
  Seahorse::Client::Request.new(handlers, context)
3377
3103
  end
3378
3104