Class: Google::Apis::CloudfunctionsV1::SecretVolume

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudfunctions_v1/classes.rb,
lib/google/apis/cloudfunctions_v1/representations.rb,
lib/google/apis/cloudfunctions_v1/representations.rb

Overview

Configuration for a secret volume. It has the information necessary to fetch the secret value from secret manager and make it available as files mounted at the requested paths within the application container. Secret value is not a part of the configuration. Every filesystem read operation performs a lookup in secret manager to retrieve the secret value.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SecretVolume

Returns a new instance of SecretVolume.



1694
1695
1696
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1694

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

Instance Attribute Details

#mount_pathString

The path within the container to mount the secret volume. For example, setting the mount_path as /etc/secrets would mount the secret value files under the /etc/secrets directory. This directory will also be completely shadowed and unavailable to mount any other secrets. Recommended mount paths: /etc/secrets Restricted mount paths: /cloudsql, /dev/log, /pod, /proc, /var/log Corresponds to the JSON property mountPath

Returns:

  • (String)


1672
1673
1674
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1672

def mount_path
  @mount_path
end

#project_idString

Project identifier (preferrably project number but can also be the project ID) of the project that contains the secret. If not set, it will be populated with the function's project assuming that the secret exists in the same project as of the function. Corresponds to the JSON property projectId

Returns:

  • (String)


1680
1681
1682
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1680

def project_id
  @project_id
end

#secretString

Name of the secret in secret manager (not the full resource name). Corresponds to the JSON property secret

Returns:

  • (String)


1685
1686
1687
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1685

def secret
  @secret
end

#versionsArray<Google::Apis::CloudfunctionsV1::SecretVersion>

List of secret versions to mount for this secret. If empty, the latest version of the secret will be made available in a file named after the secret under the mount point. Corresponds to the JSON property versions



1692
1693
1694
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1692

def versions
  @versions
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1699
1700
1701
1702
1703
1704
# File 'lib/google/apis/cloudfunctions_v1/classes.rb', line 1699

def update!(**args)
  @mount_path = args[:mount_path] if args.key?(:mount_path)
  @project_id = args[:project_id] if args.key?(:project_id)
  @secret = args[:secret] if args.key?(:secret)
  @versions = args[:versions] if args.key?(:versions)
end