Class: Google::Apis::SecretmanagerV1::Secret

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Secret

Returns a new instance of Secret.



895
896
897
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 895

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#annotationsHash<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

Returns:

  • (Hash<String,String>)


826
827
828
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 826

def annotations
  @annotations
end

#create_timeString

Output only. The time at which the Secret was created. Corresponds to the JSON property createTime

Returns:

  • (String)


831
832
833
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 831

def create_time
  @create_time
end

#etagString

Optional. Etag of the currently stored Secret. Corresponds to the JSON property etag

Returns:

  • (String)


836
837
838
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 836

def etag
  @etag
end

#expire_timeString

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

Returns:

  • (String)


842
843
844
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 842

def expire_time
  @expire_time
end

#labelsHash<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`

Returns:

  • (Hash<String,String>)


852
853
854
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 852

def labels
  @labels
end

#nameString

Output only. The resource name of the Secret in the format projects/*/secrets/ *. Corresponds to the JSON property name

Returns:

  • (String)


858
859
860
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 858

def name
  @name
end

#replicationGoogle::Apis::SecretmanagerV1::Replication

A policy that defines the replication and encryption configuration of data. Corresponds to the JSON property replication



863
864
865
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 863

def replication
  @replication
end

#rotationGoogle::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



870
871
872
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 870

def rotation
  @rotation
end

#topicsArray<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



876
877
878
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 876

def topics
  @topics
end

#ttlString

Input only. The TTL for the Secret. Corresponds to the JSON property ttl

Returns:

  • (String)


881
882
883
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 881

def ttl
  @ttl
end

#version_aliasesHash<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

Returns:

  • (Hash<String,Fixnum>)


893
894
895
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 893

def version_aliases
  @version_aliases
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



900
901
902
903
904
905
906
907
908
909
910
911
912
# File 'lib/google/apis/secretmanager_v1/classes.rb', line 900

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