All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.run.v1.model.SecretVolumeSource Maven / Gradle / Ivy

There is a newer version: v2-rev20241213-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.run.v1.model;

/**
 * A volume representing a secret stored in Google Secret Manager. The secret's value will be
 * presented as the content of a file whose name is defined in the item path. If no items are
 * defined, the name of the file is the secret_name. The contents of the target Secret's Data field
 * will be presented in a volume as files using the keys in the Data field as the file names.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Run Admin API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class SecretVolumeSource extends com.google.api.client.json.GenericJson { /** * Integer representation of mode bits to use on created files by default. Must be a value between * 01 and 0777 (octal). If 0 or not set, it will default to 0444. Directories within the path are * not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non- * zero value. * This is an integer representation of the mode bits. So, the octal integer value * should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod * 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 * (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 * (base-10). * This might be in conflict with other options that affect the file mode, like * fsGroup, and the result can be other mode bits set. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer defaultMode; /** * A list of secret versions to mount in the volume. If no items are specified, the volume will * expose a file with the same name as the secret name. The contents of the file will be the data * in the latest version of the secret. If items are specified, the key will be used as the * version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in * the volume. When items are defined, they must specify both a key and a path. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List items; static { // hack to force ProGuard to consider KeyToPath used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(KeyToPath.class); } /** * Not supported by Cloud Run. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean optional; /** * The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the * same project. If the secret is in another project, you must define an alias. An alias * definition has the form: :projects//secrets/. If multiple alias definitions are needed, they * must be separated by commas. The alias definitions must be set on the * run.googleapis.com/secrets annotation. Name of the secret in the container's namespace to use. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String secretName; /** * Integer representation of mode bits to use on created files by default. Must be a value between * 01 and 0777 (octal). If 0 or not set, it will default to 0444. Directories within the path are * not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non- * zero value. * This is an integer representation of the mode bits. So, the octal integer value * should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod * 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 * (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 * (base-10). * This might be in conflict with other options that affect the file mode, like * fsGroup, and the result can be other mode bits set. * @return value or {@code null} for none */ public java.lang.Integer getDefaultMode() { return defaultMode; } /** * Integer representation of mode bits to use on created files by default. Must be a value between * 01 and 0777 (octal). If 0 or not set, it will default to 0444. Directories within the path are * not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non- * zero value. * This is an integer representation of the mode bits. So, the octal integer value * should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod * 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 * (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 * (base-10). * This might be in conflict with other options that affect the file mode, like * fsGroup, and the result can be other mode bits set. * @param defaultMode defaultMode or {@code null} for none */ public SecretVolumeSource setDefaultMode(java.lang.Integer defaultMode) { this.defaultMode = defaultMode; return this; } /** * A list of secret versions to mount in the volume. If no items are specified, the volume will * expose a file with the same name as the secret name. The contents of the file will be the data * in the latest version of the secret. If items are specified, the key will be used as the * version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in * the volume. When items are defined, they must specify both a key and a path. * @return value or {@code null} for none */ public java.util.List getItems() { return items; } /** * A list of secret versions to mount in the volume. If no items are specified, the volume will * expose a file with the same name as the secret name. The contents of the file will be the data * in the latest version of the secret. If items are specified, the key will be used as the * version to fetch from Cloud Secret Manager and the path will be the name of the file exposed in * the volume. When items are defined, they must specify both a key and a path. * @param items items or {@code null} for none */ public SecretVolumeSource setItems(java.util.List items) { this.items = items; return this; } /** * Not supported by Cloud Run. * @return value or {@code null} for none */ public java.lang.Boolean getOptional() { return optional; } /** * Not supported by Cloud Run. * @param optional optional or {@code null} for none */ public SecretVolumeSource setOptional(java.lang.Boolean optional) { this.optional = optional; return this; } /** * The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the * same project. If the secret is in another project, you must define an alias. An alias * definition has the form: :projects//secrets/. If multiple alias definitions are needed, they * must be separated by commas. The alias definitions must be set on the * run.googleapis.com/secrets annotation. Name of the secret in the container's namespace to use. * @return value or {@code null} for none */ public java.lang.String getSecretName() { return secretName; } /** * The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the * same project. If the secret is in another project, you must define an alias. An alias * definition has the form: :projects//secrets/. If multiple alias definitions are needed, they * must be separated by commas. The alias definitions must be set on the * run.googleapis.com/secrets annotation. Name of the secret in the container's namespace to use. * @param secretName secretName or {@code null} for none */ public SecretVolumeSource setSecretName(java.lang.String secretName) { this.secretName = secretName; return this; } @Override public SecretVolumeSource set(String fieldName, Object value) { return (SecretVolumeSource) super.set(fieldName, value); } @Override public SecretVolumeSource clone() { return (SecretVolumeSource) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy