UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

1,205 lines 306 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; Object.defineProperty(exports, "__esModule", { value: true }); exports.IngressV1 = exports.IngressV1TimeoutsOutputReference = exports.IngressV1SpecOutputReference = exports.IngressV1SpecTlsList = exports.IngressV1SpecTlsOutputReference = exports.IngressV1SpecRuleList = exports.IngressV1SpecRuleOutputReference = exports.IngressV1SpecRuleHttpOutputReference = exports.IngressV1SpecRuleHttpPathList = exports.IngressV1SpecRuleHttpPathOutputReference = exports.IngressV1SpecRuleHttpPathBackendOutputReference = exports.IngressV1SpecRuleHttpPathBackendServiceOutputReference = exports.IngressV1SpecRuleHttpPathBackendServicePortOutputReference = exports.IngressV1SpecRuleHttpPathBackendResourceOutputReference = exports.IngressV1SpecDefaultBackendOutputReference = exports.IngressV1SpecDefaultBackendServiceOutputReference = exports.IngressV1SpecDefaultBackendServicePortOutputReference = exports.IngressV1SpecDefaultBackendResourceOutputReference = exports.IngressV1MetadataOutputReference = exports.IngressV1StatusList = exports.IngressV1StatusOutputReference = exports.IngressV1StatusLoadBalancerList = exports.IngressV1StatusLoadBalancerOutputReference = exports.IngressV1StatusLoadBalancerIngressList = exports.IngressV1StatusLoadBalancerIngressOutputReference = void 0; exports.ingressV1StatusLoadBalancerIngressToTerraform = ingressV1StatusLoadBalancerIngressToTerraform; exports.ingressV1StatusLoadBalancerIngressToHclTerraform = ingressV1StatusLoadBalancerIngressToHclTerraform; exports.ingressV1StatusLoadBalancerToTerraform = ingressV1StatusLoadBalancerToTerraform; exports.ingressV1StatusLoadBalancerToHclTerraform = ingressV1StatusLoadBalancerToHclTerraform; exports.ingressV1StatusToTerraform = ingressV1StatusToTerraform; exports.ingressV1StatusToHclTerraform = ingressV1StatusToHclTerraform; exports.ingressV1MetadataToTerraform = ingressV1MetadataToTerraform; exports.ingressV1MetadataToHclTerraform = ingressV1MetadataToHclTerraform; exports.ingressV1SpecDefaultBackendResourceToTerraform = ingressV1SpecDefaultBackendResourceToTerraform; exports.ingressV1SpecDefaultBackendResourceToHclTerraform = ingressV1SpecDefaultBackendResourceToHclTerraform; exports.ingressV1SpecDefaultBackendServicePortToTerraform = ingressV1SpecDefaultBackendServicePortToTerraform; exports.ingressV1SpecDefaultBackendServicePortToHclTerraform = ingressV1SpecDefaultBackendServicePortToHclTerraform; exports.ingressV1SpecDefaultBackendServiceToTerraform = ingressV1SpecDefaultBackendServiceToTerraform; exports.ingressV1SpecDefaultBackendServiceToHclTerraform = ingressV1SpecDefaultBackendServiceToHclTerraform; exports.ingressV1SpecDefaultBackendToTerraform = ingressV1SpecDefaultBackendToTerraform; exports.ingressV1SpecDefaultBackendToHclTerraform = ingressV1SpecDefaultBackendToHclTerraform; exports.ingressV1SpecRuleHttpPathBackendResourceToTerraform = ingressV1SpecRuleHttpPathBackendResourceToTerraform; exports.ingressV1SpecRuleHttpPathBackendResourceToHclTerraform = ingressV1SpecRuleHttpPathBackendResourceToHclTerraform; exports.ingressV1SpecRuleHttpPathBackendServicePortToTerraform = ingressV1SpecRuleHttpPathBackendServicePortToTerraform; exports.ingressV1SpecRuleHttpPathBackendServicePortToHclTerraform = ingressV1SpecRuleHttpPathBackendServicePortToHclTerraform; exports.ingressV1SpecRuleHttpPathBackendServiceToTerraform = ingressV1SpecRuleHttpPathBackendServiceToTerraform; exports.ingressV1SpecRuleHttpPathBackendServiceToHclTerraform = ingressV1SpecRuleHttpPathBackendServiceToHclTerraform; exports.ingressV1SpecRuleHttpPathBackendToTerraform = ingressV1SpecRuleHttpPathBackendToTerraform; exports.ingressV1SpecRuleHttpPathBackendToHclTerraform = ingressV1SpecRuleHttpPathBackendToHclTerraform; exports.ingressV1SpecRuleHttpPathToTerraform = ingressV1SpecRuleHttpPathToTerraform; exports.ingressV1SpecRuleHttpPathToHclTerraform = ingressV1SpecRuleHttpPathToHclTerraform; exports.ingressV1SpecRuleHttpToTerraform = ingressV1SpecRuleHttpToTerraform; exports.ingressV1SpecRuleHttpToHclTerraform = ingressV1SpecRuleHttpToHclTerraform; exports.ingressV1SpecRuleToTerraform = ingressV1SpecRuleToTerraform; exports.ingressV1SpecRuleToHclTerraform = ingressV1SpecRuleToHclTerraform; exports.ingressV1SpecTlsToTerraform = ingressV1SpecTlsToTerraform; exports.ingressV1SpecTlsToHclTerraform = ingressV1SpecTlsToHclTerraform; exports.ingressV1SpecToTerraform = ingressV1SpecToTerraform; exports.ingressV1SpecToHclTerraform = ingressV1SpecToHclTerraform; exports.ingressV1TimeoutsToTerraform = ingressV1TimeoutsToTerraform; exports.ingressV1TimeoutsToHclTerraform = ingressV1TimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function ingressV1StatusLoadBalancerIngressToTerraform(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 {}; } function ingressV1StatusLoadBalancerIngressToHclTerraform(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 = {}; return attrs; } class IngressV1StatusLoadBalancerIngressOutputReference 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() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // hostname - computed: true, optional: false, required: false get hostname() { return this.getStringAttribute('hostname'); } // ip - computed: true, optional: false, required: false get ip() { return this.getStringAttribute('ip'); } } exports.IngressV1StatusLoadBalancerIngressOutputReference = IngressV1StatusLoadBalancerIngressOutputReference; _a = JSII_RTTI_SYMBOL_1; IngressV1StatusLoadBalancerIngressOutputReference[_a] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusLoadBalancerIngressOutputReference", version: "12.0.0" }; class IngressV1StatusLoadBalancerIngressList 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 IngressV1StatusLoadBalancerIngressOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IngressV1StatusLoadBalancerIngressList = IngressV1StatusLoadBalancerIngressList; _b = JSII_RTTI_SYMBOL_1; IngressV1StatusLoadBalancerIngressList[_b] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusLoadBalancerIngressList", version: "12.0.0" }; function ingressV1StatusLoadBalancerToTerraform(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 {}; } function ingressV1StatusLoadBalancerToHclTerraform(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 = {}; return attrs; } class IngressV1StatusLoadBalancerOutputReference 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; // ingress - computed: true, optional: false, required: false this._ingress = new IngressV1StatusLoadBalancerIngressList(this, "ingress", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get ingress() { return this._ingress; } } exports.IngressV1StatusLoadBalancerOutputReference = IngressV1StatusLoadBalancerOutputReference; _c = JSII_RTTI_SYMBOL_1; IngressV1StatusLoadBalancerOutputReference[_c] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusLoadBalancerOutputReference", version: "12.0.0" }; class IngressV1StatusLoadBalancerList 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 IngressV1StatusLoadBalancerOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IngressV1StatusLoadBalancerList = IngressV1StatusLoadBalancerList; _d = JSII_RTTI_SYMBOL_1; IngressV1StatusLoadBalancerList[_d] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusLoadBalancerList", version: "12.0.0" }; function ingressV1StatusToTerraform(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 {}; } function ingressV1StatusToHclTerraform(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 = {}; return attrs; } class IngressV1StatusOutputReference 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; // load_balancer - computed: true, optional: false, required: false this._loadBalancer = new IngressV1StatusLoadBalancerList(this, "load_balancer", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } get loadBalancer() { return this._loadBalancer; } } exports.IngressV1StatusOutputReference = IngressV1StatusOutputReference; _e = JSII_RTTI_SYMBOL_1; IngressV1StatusOutputReference[_e] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusOutputReference", version: "12.0.0" }; class IngressV1StatusList 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 IngressV1StatusOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IngressV1StatusList = IngressV1StatusList; _f = JSII_RTTI_SYMBOL_1; IngressV1StatusList[_f] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1StatusList", version: "12.0.0" }; function ingressV1MetadataToTerraform(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), generate_name: cdktf.stringToTerraform(struct.generateName), labels: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labels), name: cdktf.stringToTerraform(struct.name), namespace: cdktf.stringToTerraform(struct.namespace), }; } function ingressV1MetadataToHclTerraform(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", }, generate_name: { value: cdktf.stringToHclTerraform(struct.generateName), isBlock: false, type: "simple", storageClassType: "string", }, 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", }, 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 IngressV1MetadataOutputReference 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._generateName !== undefined) { hasAnyValues = true; internalValueResult.generateName = this._generateName; } if (this._labels !== undefined) { hasAnyValues = true; internalValueResult.labels = this._labels; } 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._annotations = undefined; this._generateName = undefined; this._labels = undefined; this._name = undefined; this._namespace = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._annotations = value.annotations; this._generateName = value.generateName; this._labels = value.labels; this._name = value.name; this._namespace = value.namespace; } } 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; } get generateName() { return this.getStringAttribute('generate_name'); } set generateName(value) { this._generateName = value; } resetGenerateName() { this._generateName = undefined; } // Temporarily expose input value. Use with caution. get generateNameInput() { return this._generateName; } // 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; } 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; } // 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.IngressV1MetadataOutputReference = IngressV1MetadataOutputReference; _g = JSII_RTTI_SYMBOL_1; IngressV1MetadataOutputReference[_g] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1MetadataOutputReference", version: "12.0.0" }; function ingressV1SpecDefaultBackendResourceToTerraform(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 { api_group: cdktf.stringToTerraform(struct.apiGroup), kind: cdktf.stringToTerraform(struct.kind), name: cdktf.stringToTerraform(struct.name), }; } function ingressV1SpecDefaultBackendResourceToHclTerraform(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 = { api_group: { value: cdktf.stringToHclTerraform(struct.apiGroup), isBlock: false, type: "simple", storageClassType: "string", }, kind: { value: cdktf.stringToHclTerraform(struct.kind), isBlock: false, type: "simple", storageClassType: "string", }, 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 IngressV1SpecDefaultBackendResourceOutputReference 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._apiGroup !== undefined) { hasAnyValues = true; internalValueResult.apiGroup = this._apiGroup; } if (this._kind !== undefined) { hasAnyValues = true; internalValueResult.kind = this._kind; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._apiGroup = undefined; this._kind = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._apiGroup = value.apiGroup; this._kind = value.kind; this._name = value.name; } } get apiGroup() { return this.getStringAttribute('api_group'); } set apiGroup(value) { this._apiGroup = value; } // Temporarily expose input value. Use with caution. get apiGroupInput() { return this._apiGroup; } get kind() { return this.getStringAttribute('kind'); } set kind(value) { this._kind = value; } // Temporarily expose input value. Use with caution. get kindInput() { return this._kind; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.IngressV1SpecDefaultBackendResourceOutputReference = IngressV1SpecDefaultBackendResourceOutputReference; _h = JSII_RTTI_SYMBOL_1; IngressV1SpecDefaultBackendResourceOutputReference[_h] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecDefaultBackendResourceOutputReference", version: "12.0.0" }; function ingressV1SpecDefaultBackendServicePortToTerraform(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), number: cdktf.numberToTerraform(struct.number), }; } function ingressV1SpecDefaultBackendServicePortToHclTerraform(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", }, number: { value: cdktf.numberToHclTerraform(struct.number), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IngressV1SpecDefaultBackendServicePortOutputReference 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._number !== undefined) { hasAnyValues = true; internalValueResult.number = this._number; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._number = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._number = value.number; } } 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; } get number() { return this.getNumberAttribute('number'); } set number(value) { this._number = value; } resetNumber() { this._number = undefined; } // Temporarily expose input value. Use with caution. get numberInput() { return this._number; } } exports.IngressV1SpecDefaultBackendServicePortOutputReference = IngressV1SpecDefaultBackendServicePortOutputReference; _j = JSII_RTTI_SYMBOL_1; IngressV1SpecDefaultBackendServicePortOutputReference[_j] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecDefaultBackendServicePortOutputReference", version: "12.0.0" }; function ingressV1SpecDefaultBackendServiceToTerraform(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), port: ingressV1SpecDefaultBackendServicePortToTerraform(struct.port), }; } function ingressV1SpecDefaultBackendServiceToHclTerraform(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", }, port: { value: ingressV1SpecDefaultBackendServicePortToHclTerraform(struct.port), isBlock: true, type: "list", storageClassType: "IngressV1SpecDefaultBackendServicePortList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IngressV1SpecDefaultBackendServiceOutputReference 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; // port - computed: false, optional: false, required: true this._port = new IngressV1SpecDefaultBackendServicePortOutputReference(this, "port"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._port?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.port = this._port?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._port.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._port.internalValue = value.port; } } 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 port() { return this._port; } putPort(value) { this._port.internalValue = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port.internalValue; } } exports.IngressV1SpecDefaultBackendServiceOutputReference = IngressV1SpecDefaultBackendServiceOutputReference; _k = JSII_RTTI_SYMBOL_1; IngressV1SpecDefaultBackendServiceOutputReference[_k] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecDefaultBackendServiceOutputReference", version: "12.0.0" }; function ingressV1SpecDefaultBackendToTerraform(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 { resource: ingressV1SpecDefaultBackendResourceToTerraform(struct.resource), service: ingressV1SpecDefaultBackendServiceToTerraform(struct.service), }; } function ingressV1SpecDefaultBackendToHclTerraform(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 = { resource: { value: ingressV1SpecDefaultBackendResourceToHclTerraform(struct.resource), isBlock: true, type: "list", storageClassType: "IngressV1SpecDefaultBackendResourceList", }, service: { value: ingressV1SpecDefaultBackendServiceToHclTerraform(struct.service), isBlock: true, type: "list", storageClassType: "IngressV1SpecDefaultBackendServiceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IngressV1SpecDefaultBackendOutputReference 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; // resource - computed: false, optional: true, required: false this._resource = new IngressV1SpecDefaultBackendResourceOutputReference(this, "resource"); // service - computed: false, optional: true, required: false this._service = new IngressV1SpecDefaultBackendServiceOutputReference(this, "service"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._resource?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.resource = this._resource?.internalValue; } if (this._service?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.service = this._service?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._resource.internalValue = undefined; this._service.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._resource.internalValue = value.resource; this._service.internalValue = value.service; } } get resource() { return this._resource; } putResource(value) { this._resource.internalValue = value; } resetResource() { this._resource.internalValue = undefined; } // Temporarily expose input value. Use with caution. get resourceInput() { return this._resource.internalValue; } get service() { return this._service; } putService(value) { this._service.internalValue = value; } resetService() { this._service.internalValue = undefined; } // Temporarily expose input value. Use with caution. get serviceInput() { return this._service.internalValue; } } exports.IngressV1SpecDefaultBackendOutputReference = IngressV1SpecDefaultBackendOutputReference; _l = JSII_RTTI_SYMBOL_1; IngressV1SpecDefaultBackendOutputReference[_l] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecDefaultBackendOutputReference", version: "12.0.0" }; function ingressV1SpecRuleHttpPathBackendResourceToTerraform(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 { api_group: cdktf.stringToTerraform(struct.apiGroup), kind: cdktf.stringToTerraform(struct.kind), name: cdktf.stringToTerraform(struct.name), }; } function ingressV1SpecRuleHttpPathBackendResourceToHclTerraform(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 = { api_group: { value: cdktf.stringToHclTerraform(struct.apiGroup), isBlock: false, type: "simple", storageClassType: "string", }, kind: { value: cdktf.stringToHclTerraform(struct.kind), isBlock: false, type: "simple", storageClassType: "string", }, 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 IngressV1SpecRuleHttpPathBackendResourceOutputReference 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._apiGroup !== undefined) { hasAnyValues = true; internalValueResult.apiGroup = this._apiGroup; } if (this._kind !== undefined) { hasAnyValues = true; internalValueResult.kind = this._kind; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._apiGroup = undefined; this._kind = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._apiGroup = value.apiGroup; this._kind = value.kind; this._name = value.name; } } get apiGroup() { return this.getStringAttribute('api_group'); } set apiGroup(value) { this._apiGroup = value; } // Temporarily expose input value. Use with caution. get apiGroupInput() { return this._apiGroup; } get kind() { return this.getStringAttribute('kind'); } set kind(value) { this._kind = value; } // Temporarily expose input value. Use with caution. get kindInput() { return this._kind; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.IngressV1SpecRuleHttpPathBackendResourceOutputReference = IngressV1SpecRuleHttpPathBackendResourceOutputReference; _m = JSII_RTTI_SYMBOL_1; IngressV1SpecRuleHttpPathBackendResourceOutputReference[_m] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecRuleHttpPathBackendResourceOutputReference", version: "12.0.0" }; function ingressV1SpecRuleHttpPathBackendServicePortToTerraform(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), number: cdktf.numberToTerraform(struct.number), }; } function ingressV1SpecRuleHttpPathBackendServicePortToHclTerraform(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", }, number: { value: cdktf.numberToHclTerraform(struct.number), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IngressV1SpecRuleHttpPathBackendServicePortOutputReference 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._number !== undefined) { hasAnyValues = true; internalValueResult.number = this._number; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._number = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._number = value.number; } } 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; } get number() { return this.getNumberAttribute('number'); } set number(value) { this._number = value; } resetNumber() { this._number = undefined; } // Temporarily expose input value. Use with caution. get numberInput() { return this._number; } } exports.IngressV1SpecRuleHttpPathBackendServicePortOutputReference = IngressV1SpecRuleHttpPathBackendServicePortOutputReference; _o = JSII_RTTI_SYMBOL_1; IngressV1SpecRuleHttpPathBackendServicePortOutputReference[_o] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecRuleHttpPathBackendServicePortOutputReference", version: "12.0.0" }; function ingressV1SpecRuleHttpPathBackendServiceToTerraform(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), port: ingressV1SpecRuleHttpPathBackendServicePortToTerraform(struct.port), }; } function ingressV1SpecRuleHttpPathBackendServiceToHclTerraform(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", }, port: { value: ingressV1SpecRuleHttpPathBackendServicePortToHclTerraform(struct.port), isBlock: true, type: "list", storageClassType: "IngressV1SpecRuleHttpPathBackendServicePortList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IngressV1SpecRuleHttpPathBackendServiceOutputReference 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; // port - computed: false, optional: false, required: true this._port = new IngressV1SpecRuleHttpPathBackendServicePortOutputReference(this, "port"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._port?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.port = this._port?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._port.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._port.internalValue = value.port; } } 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 port() { return this._port; } putPort(value) { this._port.internalValue = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port.internalValue; } } exports.IngressV1SpecRuleHttpPathBackendServiceOutputReference = IngressV1SpecRuleHttpPathBackendServiceOutputReference; _p = JSII_RTTI_SYMBOL_1; IngressV1SpecRuleHttpPathBackendServiceOutputReference[_p] = { fqn: "@cdktf/provider-kubernetes.ingressV1.IngressV1SpecRuleHttpPathBackendServiceOutputReference", version: "12.0.0" }; function ingressV1SpecRuleHttpPathBackendToTerraform(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 { resource: ingressV1SpecRuleHttpPathBackendResourceToTerraform(struct.resource), service: ingressV1SpecRuleHttpPathBackendServiceToTerraform(struct.service), }; } function ingressV1SpecRuleHttpPathBackendToHclTerraform(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/c