UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

941 lines 806 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16; Object.defineProperty(exports, "__esModule", { value: true }); exports.PersistentVolume = exports.PersistentVolumeTimeoutsOutputReference = exports.PersistentVolumeSpecList = exports.PersistentVolumeSpecOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceVsphereVolumeOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceRbdOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceRbdSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceQuobyteOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourcePhotonPersistentDiskOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceNfsOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceLocalOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceIscsiOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceHostPathOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceGlusterfsOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceGcePersistentDiskOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceFlockerOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceFlexVolumeOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceFlexVolumeSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceFcOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCsiOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCsiNodeStageSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCsiNodePublishSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCsiControllerPublishSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCsiControllerExpandSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCinderOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCephFsOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceCephFsSecretRefOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceAzureFileOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceAzureDiskOutputReference = exports.PersistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreOutputReference = exports.PersistentVolumeSpecNodeAffinityOutputReference = exports.PersistentVolumeSpecNodeAffinityRequiredOutputReference = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList = exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference = exports.PersistentVolumeSpecClaimRefOutputReference = exports.PersistentVolumeMetadataOutputReference = void 0; exports.persistentVolumeMetadataToTerraform = persistentVolumeMetadataToTerraform; exports.persistentVolumeMetadataToHclTerraform = persistentVolumeMetadataToHclTerraform; exports.persistentVolumeSpecClaimRefToTerraform = persistentVolumeSpecClaimRefToTerraform; exports.persistentVolumeSpecClaimRefToHclTerraform = persistentVolumeSpecClaimRefToHclTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToHclTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToHclTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToHclTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToHclTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToTerraform; exports.persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToHclTerraform = persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToHclTerraform; exports.persistentVolumeSpecNodeAffinityRequiredToTerraform = persistentVolumeSpecNodeAffinityRequiredToTerraform; exports.persistentVolumeSpecNodeAffinityRequiredToHclTerraform = persistentVolumeSpecNodeAffinityRequiredToHclTerraform; exports.persistentVolumeSpecNodeAffinityToTerraform = persistentVolumeSpecNodeAffinityToTerraform; exports.persistentVolumeSpecNodeAffinityToHclTerraform = persistentVolumeSpecNodeAffinityToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToTerraform = persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToHclTerraform = persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAzureDiskToTerraform = persistentVolumeSpecPersistentVolumeSourceAzureDiskToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAzureDiskToHclTerraform = persistentVolumeSpecPersistentVolumeSourceAzureDiskToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAzureFileToTerraform = persistentVolumeSpecPersistentVolumeSourceAzureFileToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceAzureFileToHclTerraform = persistentVolumeSpecPersistentVolumeSourceAzureFileToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCephFsSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceCephFsSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCephFsSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCephFsSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCephFsToTerraform = persistentVolumeSpecPersistentVolumeSourceCephFsToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCephFsToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCephFsToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCinderToTerraform = persistentVolumeSpecPersistentVolumeSourceCinderToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCinderToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCinderToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiControllerExpandSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceCsiControllerExpandSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiControllerExpandSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCsiControllerExpandSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiControllerPublishSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceCsiControllerPublishSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiControllerPublishSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCsiControllerPublishSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiNodePublishSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceCsiNodePublishSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiNodePublishSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCsiNodePublishSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiNodeStageSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceCsiNodeStageSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiNodeStageSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCsiNodeStageSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiToTerraform = persistentVolumeSpecPersistentVolumeSourceCsiToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceCsiToHclTerraform = persistentVolumeSpecPersistentVolumeSourceCsiToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFcToTerraform = persistentVolumeSpecPersistentVolumeSourceFcToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFcToHclTerraform = persistentVolumeSpecPersistentVolumeSourceFcToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlexVolumeSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceFlexVolumeSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlexVolumeSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceFlexVolumeSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlexVolumeToTerraform = persistentVolumeSpecPersistentVolumeSourceFlexVolumeToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlexVolumeToHclTerraform = persistentVolumeSpecPersistentVolumeSourceFlexVolumeToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlockerToTerraform = persistentVolumeSpecPersistentVolumeSourceFlockerToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceFlockerToHclTerraform = persistentVolumeSpecPersistentVolumeSourceFlockerToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceGcePersistentDiskToTerraform = persistentVolumeSpecPersistentVolumeSourceGcePersistentDiskToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceGcePersistentDiskToHclTerraform = persistentVolumeSpecPersistentVolumeSourceGcePersistentDiskToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceGlusterfsToTerraform = persistentVolumeSpecPersistentVolumeSourceGlusterfsToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceGlusterfsToHclTerraform = persistentVolumeSpecPersistentVolumeSourceGlusterfsToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceHostPathToTerraform = persistentVolumeSpecPersistentVolumeSourceHostPathToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceHostPathToHclTerraform = persistentVolumeSpecPersistentVolumeSourceHostPathToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceIscsiToTerraform = persistentVolumeSpecPersistentVolumeSourceIscsiToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceIscsiToHclTerraform = persistentVolumeSpecPersistentVolumeSourceIscsiToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceLocalToTerraform = persistentVolumeSpecPersistentVolumeSourceLocalToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceLocalToHclTerraform = persistentVolumeSpecPersistentVolumeSourceLocalToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceNfsToTerraform = persistentVolumeSpecPersistentVolumeSourceNfsToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceNfsToHclTerraform = persistentVolumeSpecPersistentVolumeSourceNfsToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourcePhotonPersistentDiskToTerraform = persistentVolumeSpecPersistentVolumeSourcePhotonPersistentDiskToTerraform; exports.persistentVolumeSpecPersistentVolumeSourcePhotonPersistentDiskToHclTerraform = persistentVolumeSpecPersistentVolumeSourcePhotonPersistentDiskToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceQuobyteToTerraform = persistentVolumeSpecPersistentVolumeSourceQuobyteToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceQuobyteToHclTerraform = persistentVolumeSpecPersistentVolumeSourceQuobyteToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceRbdSecretRefToTerraform = persistentVolumeSpecPersistentVolumeSourceRbdSecretRefToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceRbdSecretRefToHclTerraform = persistentVolumeSpecPersistentVolumeSourceRbdSecretRefToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceRbdToTerraform = persistentVolumeSpecPersistentVolumeSourceRbdToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceRbdToHclTerraform = persistentVolumeSpecPersistentVolumeSourceRbdToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceVsphereVolumeToTerraform = persistentVolumeSpecPersistentVolumeSourceVsphereVolumeToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceVsphereVolumeToHclTerraform = persistentVolumeSpecPersistentVolumeSourceVsphereVolumeToHclTerraform; exports.persistentVolumeSpecPersistentVolumeSourceToTerraform = persistentVolumeSpecPersistentVolumeSourceToTerraform; exports.persistentVolumeSpecPersistentVolumeSourceToHclTerraform = persistentVolumeSpecPersistentVolumeSourceToHclTerraform; exports.persistentVolumeSpecToTerraform = persistentVolumeSpecToTerraform; exports.persistentVolumeSpecToHclTerraform = persistentVolumeSpecToHclTerraform; exports.persistentVolumeTimeoutsToTerraform = persistentVolumeTimeoutsToTerraform; exports.persistentVolumeTimeoutsToHclTerraform = persistentVolumeTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function persistentVolumeMetadataToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { annotations: cdktf.hashMapper(cdktf.stringToTerraform)(struct.annotations), labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels), name: cdktf.stringToTerraform(struct.name), }; } function persistentVolumeMetadataToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { annotations: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.annotations), isBlock: false, type: "map", storageClassType: "stringMap", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labels), isBlock: false, type: "map", storageClassType: "stringMap", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeMetadataOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._annotations !== undefined) { hasAnyValues = true; internalValueResult.annotations = this._annotations; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._annotations = undefined; this._labels = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._annotations = value.annotations; this._labels = value.labels; this._name = value.name; } } get annotations() { return this.getStringMapAttribute('annotations'); } set annotations(value) { this._annotations = value; } resetAnnotations() { this._annotations = undefined; } // Temporarily expose input value. Use with caution. get annotationsInput() { return this._annotations; } // generation - computed: true, optional: false, required: false get generation() { return this.getNumberAttribute('generation'); } get labels() { return this.getStringMapAttribute('labels'); } set labels(value) { this._labels = value; } resetLabels() { this._labels = undefined; } // Temporarily expose input value. Use with caution. get labelsInput() { return this._labels; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } // resource_version - computed: true, optional: false, required: false get resourceVersion() { return this.getStringAttribute('resource_version'); } // uid - computed: true, optional: false, required: false get uid() { return this.getStringAttribute('uid'); } } exports.PersistentVolumeMetadataOutputReference = PersistentVolumeMetadataOutputReference; _a = JSII_RTTI_SYMBOL_1; PersistentVolumeMetadataOutputReference[_a] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeMetadataOutputReference", version: "12.0.0" }; function persistentVolumeSpecClaimRefToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { name: cdktf.stringToTerraform(struct.name), namespace: cdktf.stringToTerraform(struct.namespace), }; } function persistentVolumeSpecClaimRefToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, namespace: { value: cdktf.stringToHclTerraform(struct.namespace), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecClaimRefOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._namespace !== undefined) { hasAnyValues = true; internalValueResult.namespace = this._namespace; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._namespace = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._namespace = value.namespace; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get namespace() { return this.getStringAttribute('namespace'); } set namespace(value) { this._namespace = value; } resetNamespace() { this._namespace = undefined; } // Temporarily expose input value. Use with caution. get namespaceInput() { return this._namespace; } } exports.PersistentVolumeSpecClaimRefOutputReference = PersistentVolumeSpecClaimRefOutputReference; _b = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecClaimRefOutputReference[_b] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecClaimRefOutputReference", version: "12.0.0" }; function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._operator = undefined; this._values = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._key = value.key; this._operator = value.operator; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference; _c = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference[_c] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference", version: "12.0.0" }; class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList; _d = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList[_d] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList", version: "12.0.0" }; function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { key: cdktf.stringToTerraform(struct.key), operator: cdktf.stringToTerraform(struct.operator), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, operator: { value: cdktf.stringToHclTerraform(struct.operator), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._operator !== undefined) { hasAnyValues = true; internalValueResult.operator = this._operator; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._operator = undefined; this._values = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._key = value.key; this._operator = value.operator; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get operator() { return this.getStringAttribute('operator'); } set operator(value) { this._operator = value; } // Temporarily expose input value. Use with caution. get operatorInput() { return this._operator; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } resetValues() { this._values = undefined; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference; _e = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference[_e] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference", version: "12.0.0" }; class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList; _f = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList[_f] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList", version: "12.0.0" }; function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { match_expressions: cdktf.listMapper(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToTerraform, true)(struct.matchExpressions), match_fields: cdktf.listMapper(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToTerraform, true)(struct.matchFields), }; } function persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { match_expressions: { value: cdktf.listMapperHcl(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsToHclTerraform, true)(struct.matchExpressions), isBlock: true, type: "list", storageClassType: "PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList", }, match_fields: { value: cdktf.listMapperHcl(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsToHclTerraform, true)(struct.matchFields), isBlock: true, type: "list", storageClassType: "PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; // match_expressions - computed: false, optional: true, required: false this._matchExpressions = new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchExpressionsList(this, "match_expressions", false); // match_fields - computed: false, optional: true, required: false this._matchFields = new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermMatchFieldsList(this, "match_fields", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._matchExpressions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.matchExpressions = this._matchExpressions?.internalValue; } if (this._matchFields?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.matchFields = this._matchFields?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._matchExpressions.internalValue = undefined; this._matchFields.internalValue = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._matchExpressions.internalValue = value.matchExpressions; this._matchFields.internalValue = value.matchFields; } } get matchExpressions() { return this._matchExpressions; } putMatchExpressions(value) { this._matchExpressions.internalValue = value; } resetMatchExpressions() { this._matchExpressions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get matchExpressionsInput() { return this._matchExpressions.internalValue; } get matchFields() { return this._matchFields; } putMatchFields(value) { this._matchFields.internalValue = value; } resetMatchFields() { this._matchFields.internalValue = undefined; } // Temporarily expose input value. Use with caution. get matchFieldsInput() { return this._matchFields.internalValue; } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference; _g = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference[_g] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference", version: "12.0.0" }; class PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList = PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList; _h = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList[_h] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList", version: "12.0.0" }; function persistentVolumeSpecNodeAffinityRequiredToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { node_selector_term: cdktf.listMapper(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToTerraform, true)(struct.nodeSelectorTerm), }; } function persistentVolumeSpecNodeAffinityRequiredToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { node_selector_term: { value: cdktf.listMapperHcl(persistentVolumeSpecNodeAffinityRequiredNodeSelectorTermToHclTerraform, true)(struct.nodeSelectorTerm), isBlock: true, type: "list", storageClassType: "PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecNodeAffinityRequiredOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // node_selector_term - computed: false, optional: false, required: true this._nodeSelectorTerm = new PersistentVolumeSpecNodeAffinityRequiredNodeSelectorTermList(this, "node_selector_term", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._nodeSelectorTerm?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.nodeSelectorTerm = this._nodeSelectorTerm?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._nodeSelectorTerm.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._nodeSelectorTerm.internalValue = value.nodeSelectorTerm; } } get nodeSelectorTerm() { return this._nodeSelectorTerm; } putNodeSelectorTerm(value) { this._nodeSelectorTerm.internalValue = value; } // Temporarily expose input value. Use with caution. get nodeSelectorTermInput() { return this._nodeSelectorTerm.internalValue; } } exports.PersistentVolumeSpecNodeAffinityRequiredOutputReference = PersistentVolumeSpecNodeAffinityRequiredOutputReference; _j = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityRequiredOutputReference[_j] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityRequiredOutputReference", version: "12.0.0" }; function persistentVolumeSpecNodeAffinityToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { required: persistentVolumeSpecNodeAffinityRequiredToTerraform(struct.required), }; } function persistentVolumeSpecNodeAffinityToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { required: { value: persistentVolumeSpecNodeAffinityRequiredToHclTerraform(struct.required), isBlock: true, type: "list", storageClassType: "PersistentVolumeSpecNodeAffinityRequiredList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class PersistentVolumeSpecNodeAffinityOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; // required - computed: false, optional: true, required: false this._required = new PersistentVolumeSpecNodeAffinityRequiredOutputReference(this, "required"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._required?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.required = this._required?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._required.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._required.internalValue = value.required; } } get required() { return this._required; } putRequired(value) { this._required.internalValue = value; } resetRequired() { this._required.internalValue = undefined; } // Temporarily expose input value. Use with caution. get requiredInput() { return this._required.internalValue; } } exports.PersistentVolumeSpecNodeAffinityOutputReference = PersistentVolumeSpecNodeAffinityOutputReference; _k = JSII_RTTI_SYMBOL_1; PersistentVolumeSpecNodeAffinityOutputReference[_k] = { fqn: "@cdktf/provider-kubernetes.persistentVolume.PersistentVolumeSpecNodeAffinityOutputReference", version: "12.0.0" }; function persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { fs_type: cdktf.stringToTerraform(struct.fsType), partition: cdktf.numberToTerraform(struct.partition), read_only: cdktf.booleanToTerraform(struct.readOnly), volume_id: cdktf.stringToTerraform(struct.volumeId), }; } function persistentVolumeSpecPersistentVolumeSourceAwsElasticBlockStoreToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { fs_type: { value: cdktf.stringToHclTerraform(struct.fsType), isBlock: false, type: "simple", storageClassType: "string", }, partition: { value: cdktf.numberToHclTerraform(struct.partition), isBlock: false, type: "simple", storageClassType: "number", }, read_only: { value: cdktf.booleanToHclT