/* tslint:disable */ /* eslint-disable */ /** * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: unversioned * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists } from '../runtime'; import { IoK8sApimachineryPkgApisMetaV1LabelSelector, IoK8sApimachineryPkgApisMetaV1LabelSelectorFromJSON, IoK8sApimachineryPkgApisMetaV1LabelSelectorToJSON, } from './'; /** * ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem. * @export * @interface IoK8sApiCoreV1ClusterTrustBundleProjection */ export interface IoK8sApiCoreV1ClusterTrustBundleProjection { /** * * @type {IoK8sApimachineryPkgApisMetaV1LabelSelector} * @memberof IoK8sApiCoreV1ClusterTrustBundleProjection */ labelSelector?: IoK8sApimachineryPkgApisMetaV1LabelSelector; /** * Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector. * @type {string} * @memberof IoK8sApiCoreV1ClusterTrustBundleProjection */ name?: string; /** * If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles. * @type {boolean} * @memberof IoK8sApiCoreV1ClusterTrustBundleProjection */ optional?: boolean; /** * Relative path from the volume root to write the bundle. * @type {string} * @memberof IoK8sApiCoreV1ClusterTrustBundleProjection */ path: string; /** * Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated. * @type {string} * @memberof IoK8sApiCoreV1ClusterTrustBundleProjection */ signerName?: string; } export function IoK8sApiCoreV1ClusterTrustBundleProjectionFromJSON( json: any, ): IoK8sApiCoreV1ClusterTrustBundleProjection { return IoK8sApiCoreV1ClusterTrustBundleProjectionFromJSONTyped(json, false); } export function IoK8sApiCoreV1ClusterTrustBundleProjectionFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiCoreV1ClusterTrustBundleProjection { if (json === undefined || json === null) { return json; } return { labelSelector: !exists(json, 'labelSelector') ? undefined : IoK8sApimachineryPkgApisMetaV1LabelSelectorFromJSON(json['labelSelector']), name: !exists(json, 'name') ? undefined : json['name'], optional: !exists(json, 'optional') ? undefined : json['optional'], path: json['path'], signerName: !exists(json, 'signerName') ? undefined : json['signerName'], }; } export function IoK8sApiCoreV1ClusterTrustBundleProjectionToJSON( value?: IoK8sApiCoreV1ClusterTrustBundleProjection | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { labelSelector: IoK8sApimachineryPkgApisMetaV1LabelSelectorToJSON(value.labelSelector), name: value.name, optional: value.optional, path: value.path, signerName: value.signerName, }; }