UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

1,216 lines 232 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceV1 = exports.ServiceV1TimeoutsOutputReference = exports.ServiceV1SpecOutputReference = exports.ServiceV1SpecSessionAffinityConfigOutputReference = exports.ServiceV1SpecSessionAffinityConfigClientIpOutputReference = exports.ServiceV1SpecPortList = exports.ServiceV1SpecPortOutputReference = exports.ServiceV1MetadataOutputReference = exports.ServiceV1StatusList = exports.ServiceV1StatusOutputReference = exports.ServiceV1StatusLoadBalancerList = exports.ServiceV1StatusLoadBalancerOutputReference = exports.ServiceV1StatusLoadBalancerIngressList = exports.ServiceV1StatusLoadBalancerIngressOutputReference = void 0; exports.serviceV1StatusLoadBalancerIngressToTerraform = serviceV1StatusLoadBalancerIngressToTerraform; exports.serviceV1StatusLoadBalancerIngressToHclTerraform = serviceV1StatusLoadBalancerIngressToHclTerraform; exports.serviceV1StatusLoadBalancerToTerraform = serviceV1StatusLoadBalancerToTerraform; exports.serviceV1StatusLoadBalancerToHclTerraform = serviceV1StatusLoadBalancerToHclTerraform; exports.serviceV1StatusToTerraform = serviceV1StatusToTerraform; exports.serviceV1StatusToHclTerraform = serviceV1StatusToHclTerraform; exports.serviceV1MetadataToTerraform = serviceV1MetadataToTerraform; exports.serviceV1MetadataToHclTerraform = serviceV1MetadataToHclTerraform; exports.serviceV1SpecPortToTerraform = serviceV1SpecPortToTerraform; exports.serviceV1SpecPortToHclTerraform = serviceV1SpecPortToHclTerraform; exports.serviceV1SpecSessionAffinityConfigClientIpToTerraform = serviceV1SpecSessionAffinityConfigClientIpToTerraform; exports.serviceV1SpecSessionAffinityConfigClientIpToHclTerraform = serviceV1SpecSessionAffinityConfigClientIpToHclTerraform; exports.serviceV1SpecSessionAffinityConfigToTerraform = serviceV1SpecSessionAffinityConfigToTerraform; exports.serviceV1SpecSessionAffinityConfigToHclTerraform = serviceV1SpecSessionAffinityConfigToHclTerraform; exports.serviceV1SpecToTerraform = serviceV1SpecToTerraform; exports.serviceV1SpecToHclTerraform = serviceV1SpecToHclTerraform; exports.serviceV1TimeoutsToTerraform = serviceV1TimeoutsToTerraform; exports.serviceV1TimeoutsToHclTerraform = serviceV1TimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function serviceV1StatusLoadBalancerIngressToTerraform(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 serviceV1StatusLoadBalancerIngressToHclTerraform(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 ServiceV1StatusLoadBalancerIngressOutputReference 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.ServiceV1StatusLoadBalancerIngressOutputReference = ServiceV1StatusLoadBalancerIngressOutputReference; _a = JSII_RTTI_SYMBOL_1; ServiceV1StatusLoadBalancerIngressOutputReference[_a] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusLoadBalancerIngressOutputReference", version: "12.0.0" }; class ServiceV1StatusLoadBalancerIngressList 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 ServiceV1StatusLoadBalancerIngressOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceV1StatusLoadBalancerIngressList = ServiceV1StatusLoadBalancerIngressList; _b = JSII_RTTI_SYMBOL_1; ServiceV1StatusLoadBalancerIngressList[_b] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusLoadBalancerIngressList", version: "12.0.0" }; function serviceV1StatusLoadBalancerToTerraform(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 serviceV1StatusLoadBalancerToHclTerraform(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 ServiceV1StatusLoadBalancerOutputReference 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 ServiceV1StatusLoadBalancerIngressList(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.ServiceV1StatusLoadBalancerOutputReference = ServiceV1StatusLoadBalancerOutputReference; _c = JSII_RTTI_SYMBOL_1; ServiceV1StatusLoadBalancerOutputReference[_c] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusLoadBalancerOutputReference", version: "12.0.0" }; class ServiceV1StatusLoadBalancerList 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 ServiceV1StatusLoadBalancerOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceV1StatusLoadBalancerList = ServiceV1StatusLoadBalancerList; _d = JSII_RTTI_SYMBOL_1; ServiceV1StatusLoadBalancerList[_d] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusLoadBalancerList", version: "12.0.0" }; function serviceV1StatusToTerraform(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 serviceV1StatusToHclTerraform(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 ServiceV1StatusOutputReference 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 ServiceV1StatusLoadBalancerList(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.ServiceV1StatusOutputReference = ServiceV1StatusOutputReference; _e = JSII_RTTI_SYMBOL_1; ServiceV1StatusOutputReference[_e] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusOutputReference", version: "12.0.0" }; class ServiceV1StatusList 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 ServiceV1StatusOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceV1StatusList = ServiceV1StatusList; _f = JSII_RTTI_SYMBOL_1; ServiceV1StatusList[_f] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1StatusList", version: "12.0.0" }; function serviceV1MetadataToTerraform(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 serviceV1MetadataToHclTerraform(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 ServiceV1MetadataOutputReference 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.ServiceV1MetadataOutputReference = ServiceV1MetadataOutputReference; _g = JSII_RTTI_SYMBOL_1; ServiceV1MetadataOutputReference[_g] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1MetadataOutputReference", version: "12.0.0" }; function serviceV1SpecPortToTerraform(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 { app_protocol: cdktf.stringToTerraform(struct.appProtocol), name: cdktf.stringToTerraform(struct.name), node_port: cdktf.numberToTerraform(struct.nodePort), port: cdktf.numberToTerraform(struct.port), protocol: cdktf.stringToTerraform(struct.protocol), target_port: cdktf.stringToTerraform(struct.targetPort), }; } function serviceV1SpecPortToHclTerraform(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 = { app_protocol: { value: cdktf.stringToHclTerraform(struct.appProtocol), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, node_port: { value: cdktf.numberToHclTerraform(struct.nodePort), isBlock: false, type: "simple", storageClassType: "number", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, protocol: { value: cdktf.stringToHclTerraform(struct.protocol), isBlock: false, type: "simple", storageClassType: "string", }, target_port: { value: cdktf.stringToHclTerraform(struct.targetPort), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceV1SpecPortOutputReference 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._appProtocol !== undefined) { hasAnyValues = true; internalValueResult.appProtocol = this._appProtocol; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._nodePort !== undefined) { hasAnyValues = true; internalValueResult.nodePort = this._nodePort; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._protocol !== undefined) { hasAnyValues = true; internalValueResult.protocol = this._protocol; } if (this._targetPort !== undefined) { hasAnyValues = true; internalValueResult.targetPort = this._targetPort; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._appProtocol = undefined; this._name = undefined; this._nodePort = undefined; this._port = undefined; this._protocol = undefined; this._targetPort = 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._appProtocol = value.appProtocol; this._name = value.name; this._nodePort = value.nodePort; this._port = value.port; this._protocol = value.protocol; this._targetPort = value.targetPort; } } get appProtocol() { return this.getStringAttribute('app_protocol'); } set appProtocol(value) { this._appProtocol = value; } resetAppProtocol() { this._appProtocol = undefined; } // Temporarily expose input value. Use with caution. get appProtocolInput() { return this._appProtocol; } 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 nodePort() { return this.getNumberAttribute('node_port'); } set nodePort(value) { this._nodePort = value; } resetNodePort() { this._nodePort = undefined; } // Temporarily expose input value. Use with caution. get nodePortInput() { return this._nodePort; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get protocol() { return this.getStringAttribute('protocol'); } set protocol(value) { this._protocol = value; } resetProtocol() { this._protocol = undefined; } // Temporarily expose input value. Use with caution. get protocolInput() { return this._protocol; } get targetPort() { return this.getStringAttribute('target_port'); } set targetPort(value) { this._targetPort = value; } resetTargetPort() { this._targetPort = undefined; } // Temporarily expose input value. Use with caution. get targetPortInput() { return this._targetPort; } } exports.ServiceV1SpecPortOutputReference = ServiceV1SpecPortOutputReference; _h = JSII_RTTI_SYMBOL_1; ServiceV1SpecPortOutputReference[_h] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1SpecPortOutputReference", version: "12.0.0" }; class ServiceV1SpecPortList 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 ServiceV1SpecPortOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceV1SpecPortList = ServiceV1SpecPortList; _j = JSII_RTTI_SYMBOL_1; ServiceV1SpecPortList[_j] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1SpecPortList", version: "12.0.0" }; function serviceV1SpecSessionAffinityConfigClientIpToTerraform(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 { timeout_seconds: cdktf.numberToTerraform(struct.timeoutSeconds), }; } function serviceV1SpecSessionAffinityConfigClientIpToHclTerraform(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 = { timeout_seconds: { value: cdktf.numberToHclTerraform(struct.timeoutSeconds), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceV1SpecSessionAffinityConfigClientIpOutputReference 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._timeoutSeconds !== undefined) { hasAnyValues = true; internalValueResult.timeoutSeconds = this._timeoutSeconds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._timeoutSeconds = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._timeoutSeconds = value.timeoutSeconds; } } get timeoutSeconds() { return this.getNumberAttribute('timeout_seconds'); } set timeoutSeconds(value) { this._timeoutSeconds = value; } resetTimeoutSeconds() { this._timeoutSeconds = undefined; } // Temporarily expose input value. Use with caution. get timeoutSecondsInput() { return this._timeoutSeconds; } } exports.ServiceV1SpecSessionAffinityConfigClientIpOutputReference = ServiceV1SpecSessionAffinityConfigClientIpOutputReference; _k = JSII_RTTI_SYMBOL_1; ServiceV1SpecSessionAffinityConfigClientIpOutputReference[_k] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1SpecSessionAffinityConfigClientIpOutputReference", version: "12.0.0" }; function serviceV1SpecSessionAffinityConfigToTerraform(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 { client_ip: serviceV1SpecSessionAffinityConfigClientIpToTerraform(struct.clientIp), }; } function serviceV1SpecSessionAffinityConfigToHclTerraform(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 = { client_ip: { value: serviceV1SpecSessionAffinityConfigClientIpToHclTerraform(struct.clientIp), isBlock: true, type: "list", storageClassType: "ServiceV1SpecSessionAffinityConfigClientIpList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceV1SpecSessionAffinityConfigOutputReference 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; // client_ip - computed: false, optional: true, required: false this._clientIp = new ServiceV1SpecSessionAffinityConfigClientIpOutputReference(this, "client_ip"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._clientIp?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.clientIp = this._clientIp?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._clientIp.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._clientIp.internalValue = value.clientIp; } } get clientIp() { return this._clientIp; } putClientIp(value) { this._clientIp.internalValue = value; } resetClientIp() { this._clientIp.internalValue = undefined; } // Temporarily expose input value. Use with caution. get clientIpInput() { return this._clientIp.internalValue; } } exports.ServiceV1SpecSessionAffinityConfigOutputReference = ServiceV1SpecSessionAffinityConfigOutputReference; _l = JSII_RTTI_SYMBOL_1; ServiceV1SpecSessionAffinityConfigOutputReference[_l] = { fqn: "@cdktf/provider-kubernetes.serviceV1.ServiceV1SpecSessionAffinityConfigOutputReference", version: "12.0.0" }; function serviceV1SpecToTerraform(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 { allocate_load_balancer_node_ports: cdktf.booleanToTerraform(struct.allocateLoadBalancerNodePorts), cluster_ip: cdktf.stringToTerraform(struct.clusterIp), cluster_ips: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.clusterIps), external_ips: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.externalIps), external_name: cdktf.stringToTerraform(struct.externalName), external_traffic_policy: cdktf.stringToTerraform(struct.externalTrafficPolicy), health_check_node_port: cdktf.numberToTerraform(struct.healthCheckNodePort), internal_traffic_policy: cdktf.stringToTerraform(struct.internalTrafficPolicy), ip_families: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.ipFamilies), ip_family_policy: cdktf.stringToTerraform(struct.ipFamilyPolicy), load_balancer_class: cdktf.stringToTerraform(struct.loadBalancerClass), load_balancer_ip: cdktf.stringToTerraform(struct.loadBalancerIp), load_balancer_source_ranges: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.loadBalancerSourceRanges), publish_not_ready_addresses: cdktf.booleanToTerraform(struct.publishNotReadyAddresses), selector: cdktf.hashMapper(cdktf.stringToTerraform)(struct.selector), session_affinity: cdktf.stringToTerraform(struct.sessionAffinity), type: cdktf.stringToTerraform(struct.type), port: cdktf.listMapper(serviceV1SpecPortToTerraform, true)(struct.port), session_affinity_config: serviceV1SpecSessionAffinityConfigToTerraform(struct.sessionAffinityConfig), }; } function serviceV1SpecToHclTerraform(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 = { allocate_load_balancer_node_ports: { value: cdktf.booleanToHclTerraform(struct.allocateLoadBalancerNodePorts), isBlock: false, type: "simple", storageClassType: "boolean", }, cluster_ip: { value: cdktf.stringToHclTerraform(struct.clusterIp), isBlock: false, type: "simple", storageClassType: "string", }, cluster_ips: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.clusterIps), isBlock: false, type: "list", storageClassType: "stringList", }, external_ips: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.externalIps), isBlock: false, type: "set", storageClassType: "stringList", }, external_name: { value: cdktf.stringToHclTerraform(struct.externalName), isBlock: false, type: "simple", storageClassType: "string", }, external_traffic_policy: { value: cdktf.stringToHclTerraform(struct.externalTrafficPolicy), isBlock: false, type: "simple", storageClassType: "string", }, health_check_node_port: { value: cdktf.numberToHclTerraform(struct.healthCheckNodePort), isBlock: false, type: "simple", storageClassType: "number", }, internal_traffic_policy: { value: cdktf.stringToHclTerraform(struct.internalTrafficPolicy), isBlock: false, type: "simple", storageClassType: "string", }, ip_families: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.ipFamilies), isBlock: false, type: "list", storageClassType: "stringList", }, ip_family_policy: { value: cdktf.stringToHclTerraform(struct.ipFamilyPolicy), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_class: { value: cdktf.stringToHclTerraform(struct.loadBalancerClass), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_ip: { value: cdktf.stringToHclTerraform(struct.loadBalancerIp), isBlock: false, type: "simple", storageClassType: "string", }, load_balancer_source_ranges: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.loadBalancerSourceRanges), isBlock: false, type: "set", storageClassType: "stringList", }, publish_not_ready_addresses: { value: cdktf.booleanToHclTerraform(struct.publishNotReadyAddresses), isBlock: false, type: "simple", storageClassType: "boolean", }, selector: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.selector), isBlock: false, type: "map", storageClassType: "stringMap", }, session_affinity: { value: cdktf.stringToHclTerraform(struct.sessionAffinity), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.listMapperHcl(serviceV1SpecPortToHclTerraform, true)(struct.port), isBlock: true, type: "list", storageClassType: "ServiceV1SpecPortList", }, session_affinity_config: { value: serviceV1SpecSessionAffinityConfigToHclTerraform(struct.sessionAffinityConfig), isBlock: true, type: "list", storageClassType: "ServiceV1SpecSessionAffinityConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceV1SpecOutputReference 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: true, required: false this._port = new ServiceV1SpecPortList(this, "port", false); // session_affinity_config - computed: false, optional: true, required: false this._sessionAffinityConfig = new ServiceV1SpecSessionAffinityConfigOutputReference(this, "session_affinity_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._allocateLoadBalancerNodePorts !== undefined) { hasAnyValues = true; internalValueResult.allocateLoadBalancerNodePorts = this._allocateLoadBalancerNodePorts; } if (this._clusterIp !== undefined) { hasAnyValues = true; internalValueResult.clusterIp = this._clusterIp; } if (this._clusterIps !== undefined) { hasAnyValues = true; internalValueResult.clusterIps = this._clusterIps; } if (this._externalIps !== undefined) { hasAnyValues = true; internalValueResult.externalIps = this._externalIps; } if (this._externalName !== undefined) { hasAnyValues = true; internalValueResult.externalName = this._externalName; } if (this._externalTrafficPolicy !== undefined) { hasAnyValues = true; internalValueResult.externalTrafficPolicy = this._externalTrafficPolicy; } if (this._healthCheckNodePort !== undefined) { hasAnyValues = true; internalValueResult.healthCheckNodePort = this._healthCheckNodePort; } if (this._internalTrafficPolicy !== undefined) { hasAnyValues = true; internalValueResult.internalTrafficPolicy = this._internalTrafficPolicy; } if (this._ipFamilies !== undefined) { hasAnyValues = true; internalValueResult.ipFamilies = this._ipFamilies; } if (this._ipFamilyPolicy !== undefined) { hasAnyValues = true; internalValueResult.ipFamilyPolicy = this._ipFamilyPolicy; } if (this._loadBalancerClass !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerClass = this._loadBalancerClass; } if (this._loadBalancerIp !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerIp = this._loadBalancerIp; } if (this._loadBalancerSourceRanges !== undefined) { hasAnyValues = true; internalValueResult.loadBalancerSourceRanges = this._loadBalancerSourceRanges; } if (this._publishNotReadyAddresses !== undefined) { hasAnyValues = true; internalValueResult.publishNotReadyAddresses = this._publishNotReadyAddresses; } if (this._selector !== undefined) { hasAnyValues = true; internalValueResult.selector = this._selector; } if (this._sessionAffinity !== undefined) { hasAnyValues = true; internalValueResult.sessionAffinity = this._sessionAffinity; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._port?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.port = this._port?.internalValue; } if (this._sessionAffinityConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sessionAffinityConfig = this._sessionAffinityConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allocateLoadBalancerNodePorts = undefined; this._clusterIp = undefined; this._clusterIps = undefined; this._externalIps = undefined; this._externalName = undefined; this._externalTrafficPolicy = undefined; this._healthCheckNodePort = undefined; this._internalTrafficPolicy = undefined; this._ipFamilies = undefined; this._ipFamilyPolicy = undefined; this._loadBalancerClass = undefined; this._loadBalancerIp = undefined; this._loadBalancerSourceRanges = undefined; this._publishNotReadyAddresses = undefined; this._selector = undefined; this._sessionAffinity = undefined; this._type = undefined; this._port.internalValue = undefined; this._sessionAffinityConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allocateLoadBalancerNodePorts = value.allocateLoadBalancerNodePorts; this._clusterIp = value.clusterIp; this._clusterIps = value.clusterIps; this._externalIps = value.externalIps; this._externalName = value.externalName; this._externalTrafficPolicy = value.externalTrafficPolicy; this._healthCheckNodePort = value.healthCheckNodePort; this._internalTrafficPolicy = value.internalTrafficPolicy; this._ipFamilies = value.ipFamilies; this._ipFamilyPolicy = value.ipFamilyPolicy; this._loadBalancerClass = value.loadBalancerClass; this._loadBalancerIp = value.loadBalancerIp; this._loadBalancerSourceRanges = value.loadBalancerSourceRanges; this._publishNotReadyAddresses = value.publishNotReadyAddresses; this._selector = value.selector; this._sessionAffinity = value.sessionAffinity; this._type = value.type; this._port.internalValue = value.port; this._sessionAffinityConfig.internalValue = value.sessionAffinityConfig; } } get allocateLoadBalancerNodePorts() { return this.getBooleanAttribute('allocate_load_balancer_node_ports'); } set allocateLoadBalancerNodePorts(value) { this._allocateLoadBalancerNodePorts = value; } resetAllocateLoadBalancerNodePorts() { this._allocateLoadBalancerNodePorts = undefined; } // Temporarily expose input value. Use with caution. get allocateLoadBalancerNodePortsInput() { return this._allocateLoadBalancerNodePorts; } get clusterIp() { return this.getStringAttribute('cluster_ip'); } set clusterIp(value) { this._clusterIp = value; } resetClusterIp() { this._clusterIp = undefined; } // Temporarily expose input value. Use with caution. get clusterIpInput() { return this._clusterIp; } get clusterIps() { return this.getListAttribute('cluster_ips'); } set clusterIps(value) { this._clusterIps = value; } resetClusterIps() { this._clusterIps = undefined; } // Temporarily expose input value. Use with caution. get clusterIpsInput() { return this._clusterIps; } get externalIps() { return cdktf.Fn.tolist(this.getListAttribute('external_ips')); } set externalIps(value) { this._externalIps = value; } resetExternalIps() { this._externalIps = undefined; } // Temporarily expose input value. Use with caution. get externalIpsInput() { return this._externalIps; } get externalName() { return this.getStringAttribute('external_name'); } set externalName(value) { this._externalName = value; } resetExternalName() { this._externalName = undefined; } // Temporarily expose input value. Use with caution. get externalNameInput() { return this._externalName; } get externalTrafficPolicy() { return this.getStringAttribute('external_traffic_policy'); } set externalTrafficPolicy(value) { this._externalTrafficPolicy = value; } resetExternalTrafficPolicy() { this._externalTrafficPolicy = undefined; } // Temporarily expose input value. Use with caution. get externalTrafficPolicyInput() { return this._externalTrafficPolicy; } get healthCheckNodePort() { return this.getNumberAttribute('health_check_node_port'); } set healthCheckNodePort(value) { this._healthCheckNodePort = value; } resetHealthCheckNodePort() { this._healthCheckNodePort = undefined; } // Temporarily expose input value. Use with caution. get healthCheckNodePortInput() { return this._healthCheckNodePort; } get internalTrafficPolicy() { return this.getStringAttribute('internal_traffic_policy'); } set internalTrafficPolicy(value) { this._internalTrafficPolicy = value; } resetInternal