Class: Infisical::Models::Secret
- Inherits:
-
Struct
- Object
- Struct
- Infisical::Models::Secret
- Defined in:
- lib/infisical/models/secret.rb
Overview
Value object representing a single Infisical secret.
Instance Attribute Summary collapse
-
#created_at ⇒ String?
ISO 8601 creation timestamp.
-
#environment ⇒ String
Environment slug the secret belongs to.
-
#id ⇒ String
Unique id of the secret.
-
#metadata ⇒ Array<SecretMetadata>
Key/value metadata entries.
-
#secret_comment ⇒ String?
Comment stored with the secret.
-
#secret_key ⇒ String
The secret's name.
-
#secret_path ⇒ String?
Folder path the secret lives at.
-
#secret_value ⇒ String
The secret's value.
-
#tags ⇒ Array<SecretTag>
Tags attached to the secret.
-
#type ⇒ String
"shared" or "personal".
-
#updated_at ⇒ String?
ISO 8601 last-update timestamp.
-
#version ⇒ Integer
Version number, incremented on every update.
-
#workspace ⇒ String
Id of the project the secret belongs to.
Class Method Summary collapse
-
.from_api(data) ⇒ Object
private
Builds a Secret from an API response hash (camelCase keys).
Instance Attribute Details
#created_at ⇒ String?
Returns ISO 8601 creation timestamp.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#environment ⇒ String
Returns environment slug the secret belongs to.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#id ⇒ String
Returns unique id of the secret.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#metadata ⇒ Array<SecretMetadata>
Returns key/value metadata entries.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#secret_comment ⇒ String?
Returns comment stored with the secret.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#secret_key ⇒ String
Returns the secret's name.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#secret_path ⇒ String?
Returns folder path the secret lives at.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#secret_value ⇒ String
Returns the secret's value.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#tags ⇒ Array<SecretTag>
Returns tags attached to the secret.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#type ⇒ String
Returns "shared" or "personal".
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#updated_at ⇒ String?
Returns ISO 8601 last-update timestamp.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#version ⇒ Integer
Returns version number, incremented on every update.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
#workspace ⇒ String
Returns id of the project the secret belongs to.
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/infisical/models/secret.rb', line 64 Secret = Struct.new( :id, :workspace, :environment, :version, :type, :secret_key, :secret_value, :secret_comment, :secret_path, :metadata, :tags, :created_at, :updated_at, keyword_init: true ) do # Builds a Secret from an API response hash (camelCase keys). # # @api private def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end end |
Class Method Details
.from_api(data) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Builds a Secret from an API response hash (camelCase keys).
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/infisical/models/secret.rb', line 74 def self.from_api(data) new( id: data["id"], workspace: data["workspace"], environment: data["environment"], version: data["version"], type: data["type"], secret_key: data["secretKey"], secret_value: data["secretValue"], secret_comment: data["secretComment"], secret_path: data["secretPath"], metadata: Array(data["secretMetadata"]).map { |entry| SecretMetadata.from_api(entry) }, tags: Array(data["tags"]).map { |tag| SecretTag.from_api(tag) }, created_at: data["createdAt"], updated_at: data["updatedAt"] ) end |