Secret

secretsmanager.services.k8s.aws/v1alpha1

TypeLink
GoDocsecretsmanager-controller/apis/v1alpha1#Secret

Metadata

PropertyValue
ScopeNamespaced
KindSecret
ListKindSecretList
Pluralsecrets
Singularsecret

Spec

description: string
forceOverwriteReplicaSecret: boolean
kmsKeyID: string
name: string
replicaRegions:
- kmsKeyID: string
  region: string
secretString: 
  key: string
  name: string
  namespace: string
tags:
- key: string
  value: string
FieldDescription
description
Optional
string
The description of the secret.
forceOverwriteReplicaSecret
Optional
boolean
Specifies whether to overwrite a secret with the same name in the destination
Region. By default, secrets aren’t overwritten.
kmsKeyID
Optional
string
The ARN, key ID, or alias of the KMS key that Secrets Manager uses to encrypt
the secret value in the secret. An alias is always prefixed by alias/, for
example alias/aws/secretsmanager. For more information, see About aliases
(https://docs.aws.amazon.com/kms/latest/developerguide/alias-about.html).


To use a KMS key in a different account, use the key ARN or the alias ARN.


If you don’t specify this value, then Secrets Manager uses the key aws/secretsmanager.
If that key doesn’t yet exist, then Secrets Manager creates it for you automatically
the first time it encrypts the secret value.


If the secret is in a different Amazon Web Services account from the credentials
calling the API, then you can’t use aws/secretsmanager to encrypt the secret,
and you must create and use a customer managed KMS key.
name
Required
string
The name of the new secret.


The secret name can contain ASCII letters, numbers, and the following characters:
/_+=.@-


Do not end your secret name with a hyphen followed by six characters. If
you do so, you risk confusion and unexpected results when searching for a
secret by partial ARN. Secrets Manager automatically adds a hyphen and six
random characters after the secret name at the end of the ARN.
replicaRegions
Optional
array
A list of Regions and KMS keys to replicate secrets.
replicaRegions.[]
Required
object
A custom type that specifies a Region and the KmsKeyId for a replica secret.
replicaRegions.[].region
Optional
string
secretString
Optional
object
The text data to encrypt and store in this new version of the secret. We
recommend you use a JSON structure of key/value pairs for your secret value.


Either SecretString or SecretBinary must have a value, but not both.


If you create a secret by using the Secrets Manager console then Secrets
Manager puts the protected secret text in only the SecretString parameter.
The Secrets Manager console stores the information as a JSON structure of
key/value pairs that a Lambda rotation function can parse.
secretString.key
Required
string
Key is the key within the secret
secretString.name
Optional
string
name is unique within a namespace to reference a secret resource.
secretString.namespace
Optional
string
namespace defines the space within which the secret name must be unique.
tags
Optional
array
A list of tags to attach to the secret. Each tag is a key and value pair
of strings in a JSON text string, for example:


[{“Key”:“CostCenter”,“Value”:“12345”},{“Key”:“environment”,“Value”:“production”}]


Secrets Manager tag key names are case sensitive. A tag with the key “ABC”
is a different tag from one with key “abc”.


If you check tags in permissions policies as part of your security strategy,
then adding or removing a tag can change permissions. If the completion of
this operation would result in you losing your permissions for this secret,
then Secrets Manager blocks the operation and returns an Access Denied error.
For more information, see Control access to secrets using tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#tag-secrets-abac)
and Limit access to identities with tags that match secrets' tags (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_tags2).


For information about how to format a JSON parameter for the various command
line tool environments, see Using JSON for Parameters (https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#cli-using-param-json).
If your command-line tool or SDK requires quotation marks around the parameter,
you should use single quotes to avoid confusion with the double quotes required
in the JSON text.


For tag quotas and naming restrictions, see Service quotas for Tagging (https://docs.aws.amazon.com/general/latest/gr/arg.html#taged-reference-quotas)
in the Amazon Web Services General Reference guide.
tags.[]
Required
object
A structure that contains information about a tag.
tags.[].value
Optional
string

Status

ackResourceMetadata: 
  arn: string
  ownerAccountID: string
  region: string
conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
id: string
replicationStatus:
- kmsKeyID: string
  lastAccessedDate: string
  region: string
  status: string
  statusMessage: string
versionID: string
FieldDescription
ackResourceMetadata
Optional
object
All CRs managed by ACK have a common Status.ACKResourceMetadata member
that is used to contain resource sync state, account ownership,
constructed ARN for the resource
ackResourceMetadata.arn
Optional
string
ARN is the Amazon Resource Name for the resource. This is a
globally-unique identifier and is set only by the ACK service controller
once the controller has orchestrated the creation of the resource OR
when it has verified that an “adopted” resource (a resource where the
ARN annotation was set by the Kubernetes user on the CR) exists and
matches the supplied CR’s Spec field values.
TODO(vijat@): Find a better strategy for resources that do not have ARN in CreateOutputResponse
https://github.com/aws/aws-controllers-k8s/issues/270
ackResourceMetadata.ownerAccountID
Required
string
OwnerAccountID is the AWS Account ID of the account that owns the
backend AWS service API resource.
ackResourceMetadata.region
Required
string
Region is the AWS region in which the resource exists or will exist.
conditions
Optional
array
All CRS managed by ACK have a common Status.Conditions member that
contains a collection of ackv1alpha1.Condition objects that describe
the various terminal states of the CR and its backend AWS service API
resource
conditions.[]
Required
object
Condition is the common struct used by all CRDs managed by ACK service
controllers to indicate terminal states of the CR and its backend AWS
service API resource
conditions.[].message
Optional
string
A human readable message indicating details about the transition.
conditions.[].reason
Optional
string
The reason for the condition’s last transition.
conditions.[].status
Optional
string
Status of the condition, one of True, False, Unknown.
conditions.[].type
Optional
string
Type is the type of the Condition
id
Optional
string
The ARN of the secret.
replicationStatus
Optional
array
A list of the replicas of this secret and their status:


* Failed, which indicates that the replica was not created.


* InProgress, which indicates that Secrets Manager is in the process of
creating the replica.


* InSync, which indicates that the replica was created.
replicationStatus.[]
Required
object
A replication object consisting of a RegionReplicationStatus object and includes
a Region, KMSKeyId, status, and status message.
replicationStatus.[].lastAccessedDate
Optional
string
replicationStatus.[].region
Optional
string
replicationStatus.[].status
Optional
string
replicationStatus.[].statusMessage
Optional
string
versionID
Optional
string
The unique identifier associated with the version of the new secret.