| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package secretsmanager_test
- import (
- "fmt"
- "strings"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awserr"
- "github.com/aws/aws-sdk-go/aws/session"
- "github.com/aws/aws-sdk-go/service/secretsmanager"
- )
- var _ time.Duration
- var _ strings.Reader
- var _ aws.Config
- func parseTime(layout, value string) *time.Time {
- t, err := time.Parse(layout, value)
- if err != nil {
- panic(err)
- }
- return &t
- }
- // To cancel scheduled rotation for a secret
- //
- // The following example shows how to cancel rotation for a secret. The operation sets
- // the RotationEnabled field to false and cancels all scheduled rotations. To resume
- // scheduled rotations, you must re-enable rotation by calling the rotate-secret operation.
- func ExampleSecretsManager_CancelRotateSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.CancelRotateSecretInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.CancelRotateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create a basic secret
- //
- // The following example shows how to create a secret. The credentials stored in the
- // encrypted secret value are retrieved from a file on disk named mycreds.json.
- func ExampleSecretsManager_CreateSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.CreateSecretInput{
- ClientRequestToken: aws.String("EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"),
- Description: aws.String("My test database secret created with the CLI"),
- Name: aws.String("MyTestDatabaseSecret"),
- SecretString: aws.String("{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}"),
- }
- result, err := svc.CreateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeEncryptionFailure:
- fmt.Println(secretsmanager.ErrCodeEncryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeResourceExistsException:
- fmt.Println(secretsmanager.ErrCodeResourceExistsException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeMalformedPolicyDocumentException:
- fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodePreconditionNotMetException:
- fmt.Println(secretsmanager.ErrCodePreconditionNotMetException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To delete the resource-based policy attached to a secret
- //
- // The following example shows how to delete the resource-based policy that is attached
- // to a secret.
- func ExampleSecretsManager_DeleteResourcePolicy_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.DeleteResourcePolicyInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.DeleteResourcePolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To delete a secret
- //
- // The following example shows how to delete a secret. The secret stays in your account
- // in a deprecated and inaccessible state until the recovery window ends. After the
- // date and time in the DeletionDate response field has passed, you can no longer recover
- // this secret with restore-secret.
- func ExampleSecretsManager_DeleteSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.DeleteSecretInput{
- RecoveryWindowInDays: aws.Int64(7),
- SecretId: aws.String("MyTestDatabaseSecret1"),
- }
- result, err := svc.DeleteSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To retrieve the details of a secret
- //
- // The following example shows how to get the details about a secret.
- func ExampleSecretsManager_DescribeSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.DescribeSecretInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.DescribeSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To generate a random password
- //
- // The following example shows how to request a randomly generated password. This example
- // includes the optional flags to require spaces and at least one character of each
- // included type. It specifies a length of 20 characters.
- func ExampleSecretsManager_GetRandomPassword_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.GetRandomPasswordInput{
- IncludeSpace: aws.Bool(true),
- PasswordLength: aws.Int64(20),
- RequireEachIncludedType: aws.Bool(true),
- }
- result, err := svc.GetRandomPassword(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To retrieve the resource-based policy attached to a secret
- //
- // The following example shows how to retrieve the resource-based policy that is attached
- // to a secret.
- func ExampleSecretsManager_GetResourcePolicy_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.GetResourcePolicyInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.GetResourcePolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To retrieve the encrypted secret value of a secret
- //
- // The following example shows how to retrieve the secret string value from the version
- // of the secret that has the AWSPREVIOUS staging label attached. If you want to retrieve
- // the AWSCURRENT version of the secret, then you can omit the VersionStage parameter
- // because it defaults to AWSCURRENT.
- func ExampleSecretsManager_GetSecretValue_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.GetSecretValueInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- VersionStage: aws.String("AWSPREVIOUS"),
- }
- result, err := svc.GetSecretValue(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeDecryptionFailure:
- fmt.Println(secretsmanager.ErrCodeDecryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To list all of the secret versions associated with a secret
- //
- // The following example shows how to retrieve a list of all of the versions of a secret,
- // including those without any staging labels.
- func ExampleSecretsManager_ListSecretVersionIds_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.ListSecretVersionIdsInput{
- IncludeDeprecated: aws.Bool(true),
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.ListSecretVersionIds(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidNextTokenException:
- fmt.Println(secretsmanager.ErrCodeInvalidNextTokenException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To list the secrets in your account
- //
- // The following example shows how to list all of the secrets in your account.
- func ExampleSecretsManager_ListSecrets_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.ListSecretsInput{}
- result, err := svc.ListSecrets(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidNextTokenException:
- fmt.Println(secretsmanager.ErrCodeInvalidNextTokenException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To add a resource-based policy to a secret
- //
- // The following example shows how to add a resource-based policy to a secret.
- func ExampleSecretsManager_PutResourcePolicy_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.PutResourcePolicyInput{
- ResourcePolicy: aws.String("{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.PutResourcePolicy(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeMalformedPolicyDocumentException:
- fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To store a secret value in a new version of a secret
- //
- // The following example shows how to create a new version of the secret. Alternatively,
- // you can use the update-secret command.
- func ExampleSecretsManager_PutSecretValue_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.PutSecretValueInput{
- ClientRequestToken: aws.String("EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- SecretString: aws.String("{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}"),
- }
- result, err := svc.PutSecretValue(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeEncryptionFailure:
- fmt.Println(secretsmanager.ErrCodeEncryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeResourceExistsException:
- fmt.Println(secretsmanager.ErrCodeResourceExistsException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To restore a previously deleted secret
- //
- // The following example shows how to restore a secret that you previously scheduled
- // for deletion.
- func ExampleSecretsManager_RestoreSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.RestoreSecretInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.RestoreSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To configure rotation for a secret
- //
- // The following example configures rotation for a secret by providing the ARN of a
- // Lambda rotation function (which must already exist) and the number of days between
- // rotation. The first rotation happens immediately upon completion of this command.
- // The rotation function runs asynchronously in the background.
- func ExampleSecretsManager_RotateSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.RotateSecretInput{
- RotationLambdaARN: aws.String("arn:aws:lambda:us-west-2:123456789012:function:MyTestDatabaseRotationLambda"),
- RotationRules: &secretsmanager.RotationRulesType{
- AutomaticallyAfterDays: aws.Int64(30),
- },
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.RotateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To request an immediate rotation for a secret
- //
- // The following example requests an immediate invocation of the secret's Lambda rotation
- // function. It assumes that the specified secret already has rotation configured. The
- // rotation function runs asynchronously in the background.
- func ExampleSecretsManager_RotateSecret_shared01() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.RotateSecretInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.RotateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To add tags to a secret
- //
- // The following example shows how to attach two tags each with a Key and Value to a
- // secret. There is no output from this API. To see the result, use the DescribeSecret
- // operation.
- func ExampleSecretsManager_TagResource_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.TagResourceInput{
- SecretId: aws.String("MyExampleSecret"),
- Tags: []*secretsmanager.Tag{
- {
- Key: aws.String("FirstTag"),
- Value: aws.String("SomeValue"),
- },
- {
- Key: aws.String("SecondTag"),
- Value: aws.String("AnotherValue"),
- },
- },
- }
- result, err := svc.TagResource(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To remove tags from a secret
- //
- // The following example shows how to remove two tags from a secret's metadata. For
- // each, both the tag and the associated value are removed. There is no output from
- // this API. To see the result, use the DescribeSecret operation.
- func ExampleSecretsManager_UntagResource_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UntagResourceInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- TagKeys: []*string{
- aws.String("FirstTag"),
- aws.String("SecondTag"),
- },
- }
- result, err := svc.UntagResource(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To update the description of a secret
- //
- // The following example shows how to modify the description of a secret.
- func ExampleSecretsManager_UpdateSecret_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretInput{
- ClientRequestToken: aws.String("EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"),
- Description: aws.String("This is a new description for the secret."),
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.UpdateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeEncryptionFailure:
- fmt.Println(secretsmanager.ErrCodeEncryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeResourceExistsException:
- fmt.Println(secretsmanager.ErrCodeResourceExistsException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeMalformedPolicyDocumentException:
- fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodePreconditionNotMetException:
- fmt.Println(secretsmanager.ErrCodePreconditionNotMetException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To update the KMS key associated with a secret
- //
- // This example shows how to update the KMS customer managed key (CMK) used to encrypt
- // the secret value. The KMS CMK must be in the same region as the secret.
- func ExampleSecretsManager_UpdateSecret_shared01() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretInput{
- KmsKeyId: aws.String("arn:aws:kms:us-west-2:123456789012:key/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- }
- result, err := svc.UpdateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeEncryptionFailure:
- fmt.Println(secretsmanager.ErrCodeEncryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeResourceExistsException:
- fmt.Println(secretsmanager.ErrCodeResourceExistsException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeMalformedPolicyDocumentException:
- fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodePreconditionNotMetException:
- fmt.Println(secretsmanager.ErrCodePreconditionNotMetException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To create a new version of the encrypted secret value
- //
- // The following example shows how to create a new version of the secret by updating
- // the SecretString field. Alternatively, you can use the put-secret-value operation.
- func ExampleSecretsManager_UpdateSecret_shared02() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretInput{
- SecretId: aws.String("MyTestDatabaseSecret"),
- SecretString: aws.String("{JSON STRING WITH CREDENTIALS}"),
- }
- result, err := svc.UpdateSecret(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeEncryptionFailure:
- fmt.Println(secretsmanager.ErrCodeEncryptionFailure, aerr.Error())
- case secretsmanager.ErrCodeResourceExistsException:
- fmt.Println(secretsmanager.ErrCodeResourceExistsException, aerr.Error())
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeMalformedPolicyDocumentException:
- fmt.Println(secretsmanager.ErrCodeMalformedPolicyDocumentException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- case secretsmanager.ErrCodePreconditionNotMetException:
- fmt.Println(secretsmanager.ErrCodePreconditionNotMetException, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To add a staging label attached to a version of a secret
- //
- // The following example shows you how to add a staging label to a version of a secret.
- // You can review the results by running the operation ListSecretVersionIds and viewing
- // the VersionStages response field for the affected version.
- func ExampleSecretsManager_UpdateSecretVersionStage_shared00() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretVersionStageInput{
- MoveToVersionId: aws.String("EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- VersionStage: aws.String("STAGINGLABEL1"),
- }
- result, err := svc.UpdateSecretVersionStage(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To delete a staging label attached to a version of a secret
- //
- // The following example shows you how to delete a staging label that is attached to
- // a version of a secret. You can review the results by running the operation ListSecretVersionIds
- // and viewing the VersionStages response field for the affected version.
- func ExampleSecretsManager_UpdateSecretVersionStage_shared01() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretVersionStageInput{
- RemoveFromVersionId: aws.String("EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- VersionStage: aws.String("STAGINGLABEL1"),
- }
- result, err := svc.UpdateSecretVersionStage(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
- // To move a staging label from one version of a secret to another
- //
- // The following example shows you how to move a staging label that is attached to one
- // version of a secret to a different version. You can review the results by running
- // the operation ListSecretVersionIds and viewing the VersionStages response field for
- // the affected version.
- func ExampleSecretsManager_UpdateSecretVersionStage_shared02() {
- svc := secretsmanager.New(session.New())
- input := &secretsmanager.UpdateSecretVersionStageInput{
- MoveToVersionId: aws.String("EXAMPLE2-90ab-cdef-fedc-ba987SECRET2"),
- RemoveFromVersionId: aws.String("EXAMPLE1-90ab-cdef-fedc-ba987SECRET1"),
- SecretId: aws.String("MyTestDatabaseSecret"),
- VersionStage: aws.String("AWSCURRENT"),
- }
- result, err := svc.UpdateSecretVersionStage(input)
- if err != nil {
- if aerr, ok := err.(awserr.Error); ok {
- switch aerr.Code() {
- case secretsmanager.ErrCodeResourceNotFoundException:
- fmt.Println(secretsmanager.ErrCodeResourceNotFoundException, aerr.Error())
- case secretsmanager.ErrCodeInvalidParameterException:
- fmt.Println(secretsmanager.ErrCodeInvalidParameterException, aerr.Error())
- case secretsmanager.ErrCodeInvalidRequestException:
- fmt.Println(secretsmanager.ErrCodeInvalidRequestException, aerr.Error())
- case secretsmanager.ErrCodeLimitExceededException:
- fmt.Println(secretsmanager.ErrCodeLimitExceededException, aerr.Error())
- case secretsmanager.ErrCodeInternalServiceError:
- fmt.Println(secretsmanager.ErrCodeInternalServiceError, aerr.Error())
- default:
- fmt.Println(aerr.Error())
- }
- } else {
- // Print the error, cast err to awserr.Error to get the Code and
- // Message from an error.
- fmt.Println(err.Error())
- }
- return
- }
- fmt.Println(result)
- }
|