- Resource: Secret
- Replication
- Automatic
- CustomerManagedEncryption
- UserManaged
- Replica
- Topic
- Rotation
- Methods
Resource: Secret
A Secret is a logical secret whose value and versions can be accessed.
A Secret is made up of zero or more SecretVersions that represent the secret data.
| JSON representation | 
|---|
| { "name": string, "replication": { object ( | 
| Fields | |
|---|---|
| name | 
 Output only. The resource name of the  | 
| replication | 
 Required. Immutable. The replication policy of the secret data attached to the  The replication policy cannot be changed after the Secret has been created. | 
| createTime | 
 Output only. The time at which the  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:  | 
| labels | 
 The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression:  Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression:  No more than 64 labels can be assigned to a given resource. An object containing a list of  | 
| topics[] | 
 Optional. A list of up to 10 Pub/Sub topics to which messages are published when control plane operations are called on the secret or its versions. | 
| etag | 
 Optional. Etag of the currently stored  | 
| rotation | 
 Optional. Rotation policy attached to the  | 
| versionAliases | 
 Optional. Mapping from version alias to version name. A version alias is a string with a maximum length of 63 characters and can contain uppercase and lowercase letters, numerals, and the hyphen ( Version-Alias pairs will be viewable via secrets.get and modifiable via secrets.patch. At launch Access by Allias will only be supported on GetSecretVersion and AccessSecretVersion. An object containing a list of  | 
| annotations | 
 Optional. Custom metadata about the secret. Annotations are distinct from various forms of labels. Annotations exist to allow client tools to store their own state information without requiring a database. Annotation keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, begin and end with an alphanumeric character ([a-z0-9A-Z]), and may have dashes (-), underscores (_), dots (.), and alphanumerics in between these symbols. The total size of annotation keys and values must be less than 16KiB. An object containing a list of  | 
| Union field  Expiration is not the recommended way to set time-based permissions. IAM Conditions is recommended for granting time-based permissions because the operation can be reversed.  | |
| expireTime | 
 Optional. Timestamp in UTC when the  A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:  | 
| ttl | 
 Input only. The TTL for the  A duration in seconds with up to nine fractional digits, ending with ' | 
Replication
A policy that defines the replication and encryption configuration of data.
| JSON representation | 
|---|
| { // Union field | 
| Fields | |
|---|---|
| Union field replication. The replication policy for this secret.replicationcan be only one of the following: | |
| automatic | 
 The  | 
| userManaged | 
 The  | 
Automatic
A replication policy that replicates the Secret payload without any restrictions.
| JSON representation | 
|---|
| {
  "customerManagedEncryption": {
    object ( | 
| Fields | |
|---|---|
| customerManagedEncryption | 
 Optional. The customer-managed encryption configuration of the  Updates to the  | 
CustomerManagedEncryption
Configuration for encrypting secret payloads using customer-managed encryption keys (CMEK).
| JSON representation | 
|---|
| { "kmsKeyName": string } | 
| Fields | |
|---|---|
| kmsKeyName | 
 Required. The resource name of the Cloud KMS CryptoKey used to encrypt secret payloads. For secrets using the  For secrets using the  The expected format is  | 
UserManaged
A replication policy that replicates the Secret payload into the locations specified in [Secret.replication.user_managed.replicas][]
| JSON representation | 
|---|
| {
  "replicas": [
    {
      object ( | 
| Fields | |
|---|---|
| replicas[] | 
 Required. The list of Replicas for this  Cannot be empty. | 
Replica
Represents a Replica for this Secret.
| JSON representation | 
|---|
| {
  "location": string,
  "customerManagedEncryption": {
    object ( | 
| Fields | |
|---|---|
| location | 
 The canonical IDs of the location to replicate data. For example:  | 
| customerManagedEncryption | 
 Optional. The customer-managed encryption configuration of the [User-Managed Replica][Replication.UserManaged.Replica]. If no configuration is provided, Google-managed default encryption is used. Updates to the  | 
Topic
A Pub/Sub topic which Secret Manager will publish to when control plane events occur on this secret.
| JSON representation | 
|---|
| { "name": string } | 
| Fields | |
|---|---|
| name | 
 Required. The resource name of the Pub/Sub topic that will be published to, in the following format:  | 
Rotation
The rotation time and period for a Secret. At nextRotationTime, Secret Manager will send a Pub/Sub notification to the topics configured on the Secret. Secret.topics must be set to configure rotation.
| JSON representation | 
|---|
| { "nextRotationTime": string, "rotationPeriod": string } | 
| Fields | |
|---|---|
| nextRotationTime | 
 Optional. Timestamp in UTC at which the  
 A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples:  | 
| rotationPeriod | 
 Input only. The Duration between rotation notifications. Must be in seconds and at least 3600s (1h) and at most 3153600000s (100 years). If  A duration in seconds with up to nine fractional digits, ending with ' | 
| Methods | |
|---|---|
| 
 | Creates a new SecretVersioncontaining secret data and attaches it to an existingSecret. | 
| 
 | Creates a new Secretcontaining noSecretVersions. | 
| 
 | Deletes a Secret. | 
| 
 | Gets metadata for a given Secret. | 
| 
 | Gets the access control policy for a secret. | 
| 
 | Lists Secrets. | 
| 
 | Updates metadata of an existing Secret. | 
| 
 | Sets the access control policy on the specified secret. | 
| 
 | Returns permissions that a caller has for the specified secret. |