Class: Google::Apis::SecretmanagerV1::Secret
- Inherits:
-
Object
- Object
- Google::Apis::SecretmanagerV1::Secret
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/secretmanager_v1/classes.rb,
lib/google/apis/secretmanager_v1/representations.rb,
lib/google/apis/secretmanager_v1/representations.rb
Overview
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.
Instance Attribute Summary collapse
-
#annotations ⇒ Hash<String,String>
Optional.
-
#create_time ⇒ String
Output only.
-
#etag ⇒ String
Optional.
-
#expire_time ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
The labels assigned to this Secret.
-
#name ⇒ String
Output only.
-
#replication ⇒ Google::Apis::SecretmanagerV1::Replication
A policy that defines the replication and encryption configuration of data.
-
#rotation ⇒ Google::Apis::SecretmanagerV1::Rotation
The rotation time and period for a Secret.
-
#topics ⇒ Array<Google::Apis::SecretmanagerV1::Topic>
Optional.
-
#ttl ⇒ String
Input only.
-
#version_aliases ⇒ Hash<String,Fixnum>
Optional.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Secret
constructor
A new instance of Secret.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Secret
Returns a new instance of Secret.
917 918 919 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 917 def initialize(**args) update!(**args) end |
Instance Attribute Details
#annotations ⇒ Hash<String,String>
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.
Corresponds to the JSON property annotations
848 849 850 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 848 def annotations @annotations end |
#create_time ⇒ String
Output only. The time at which the Secret was created.
Corresponds to the JSON property createTime
853 854 855 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 853 def create_time @create_time end |
#etag ⇒ String
Optional. Etag of the currently stored Secret.
Corresponds to the JSON property etag
858 859 860 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 858 def etag @etag end |
#expire_time ⇒ String
Optional. Timestamp in UTC when the Secret is scheduled to expire. This is
always provided on output, regardless of what was sent on input.
Corresponds to the JSON property expireTime
864 865 866 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 864 def expire_time @expire_time end |
#labels ⇒ Hash<String,String>
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: \pLl\pLo0,62 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: [\pLl\p
Lo\pN_-]0,63`No more than 64 labels can be assigned to a given resource.
Corresponds to the JSON propertylabels`
874 875 876 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 874 def labels @labels end |
#name ⇒ String
Output only. The resource name of the Secret in the format projects/*/secrets/
*.
Corresponds to the JSON property name
880 881 882 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 880 def name @name end |
#replication ⇒ Google::Apis::SecretmanagerV1::Replication
A policy that defines the replication and encryption configuration of data.
Corresponds to the JSON property replication
885 886 887 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 885 def replication @replication end |
#rotation ⇒ Google::Apis::SecretmanagerV1::Rotation
The rotation time and period for a Secret. At next_rotation_time, Secret
Manager will send a Pub/Sub notification to the topics configured on the
Secret. Secret.topics must be set to configure rotation.
Corresponds to the JSON property rotation
892 893 894 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 892 def rotation @rotation end |
#topics ⇒ Array<Google::Apis::SecretmanagerV1::Topic>
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.
Corresponds to the JSON property topics
898 899 900 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 898 def topics @topics end |
#ttl ⇒ String
Input only. The TTL for the Secret.
Corresponds to the JSON property ttl
903 904 905 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 903 def ttl @ttl end |
#version_aliases ⇒ Hash<String,Fixnum>
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 (-) and underscore ('_')
characters. An alias string must start with a letter and cannot be the string '
latest' or 'NEW'. No more than 50 aliases can be assigned to a given secret.
Version-Alias pairs will be viewable via GetSecret and modifiable via
UpdateSecret. At launch Access by Allias will only be supported on
GetSecretVersion and AccessSecretVersion.
Corresponds to the JSON property versionAliases
915 916 917 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 915 def version_aliases @version_aliases end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
922 923 924 925 926 927 928 929 930 931 932 933 934 |
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 922 def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @create_time = args[:create_time] if args.key?(:create_time) @etag = args[:etag] if args.key?(:etag) @expire_time = args[:expire_time] if args.key?(:expire_time) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @replication = args[:replication] if args.key?(:replication) @rotation = args[:rotation] if args.key?(:rotation) @topics = args[:topics] if args.key?(:topics) @ttl = args[:ttl] if args.key?(:ttl) @version_aliases = args[:version_aliases] if args.key?(:version_aliases) end |