UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

1,226 lines (1,225 loc) 231 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.Service = exports.ServiceTimeoutsOutputReference = exports.ServiceSpecOutputReference = exports.ServiceSpecSessionAffinityConfigOutputReference = exports.ServiceSpecSessionAffinityConfigClientIpOutputReference = exports.ServiceSpecPortList = exports.ServiceSpecPortOutputReference = exports.ServiceMetadataOutputReference = exports.ServiceStatusList = exports.ServiceStatusOutputReference = exports.ServiceStatusLoadBalancerList = exports.ServiceStatusLoadBalancerOutputReference = exports.ServiceStatusLoadBalancerIngressList = exports.ServiceStatusLoadBalancerIngressOutputReference = void 0; exports.serviceStatusLoadBalancerIngressToTerraform = serviceStatusLoadBalancerIngressToTerraform; exports.serviceStatusLoadBalancerIngressToHclTerraform = serviceStatusLoadBalancerIngressToHclTerraform; exports.serviceStatusLoadBalancerToTerraform = serviceStatusLoadBalancerToTerraform; exports.serviceStatusLoadBalancerToHclTerraform = serviceStatusLoadBalancerToHclTerraform; exports.serviceStatusToTerraform = serviceStatusToTerraform; exports.serviceStatusToHclTerraform = serviceStatusToHclTerraform; exports.serviceMetadataToTerraform = serviceMetadataToTerraform; exports.serviceMetadataToHclTerraform = serviceMetadataToHclTerraform; exports.serviceSpecPortToTerraform = serviceSpecPortToTerraform; exports.serviceSpecPortToHclTerraform = serviceSpecPortToHclTerraform; exports.serviceSpecSessionAffinityConfigClientIpToTerraform = serviceSpecSessionAffinityConfigClientIpToTerraform; exports.serviceSpecSessionAffinityConfigClientIpToHclTerraform = serviceSpecSessionAffinityConfigClientIpToHclTerraform; exports.serviceSpecSessionAffinityConfigToTerraform = serviceSpecSessionAffinityConfigToTerraform; exports.serviceSpecSessionAffinityConfigToHclTerraform = serviceSpecSessionAffinityConfigToHclTerraform; exports.serviceSpecToTerraform = serviceSpecToTerraform; exports.serviceSpecToHclTerraform = serviceSpecToHclTerraform; exports.serviceTimeoutsToTerraform = serviceTimeoutsToTerraform; exports.serviceTimeoutsToHclTerraform = serviceTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function serviceStatusLoadBalancerIngressToTerraform(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 serviceStatusLoadBalancerIngressToHclTerraform(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 ServiceStatusLoadBalancerIngressOutputReference 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.ServiceStatusLoadBalancerIngressOutputReference = ServiceStatusLoadBalancerIngressOutputReference; _a = JSII_RTTI_SYMBOL_1; ServiceStatusLoadBalancerIngressOutputReference[_a] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusLoadBalancerIngressOutputReference", version: "12.0.0" }; class ServiceStatusLoadBalancerIngressList 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 ServiceStatusLoadBalancerIngressOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceStatusLoadBalancerIngressList = ServiceStatusLoadBalancerIngressList; _b = JSII_RTTI_SYMBOL_1; ServiceStatusLoadBalancerIngressList[_b] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusLoadBalancerIngressList", version: "12.0.0" }; function serviceStatusLoadBalancerToTerraform(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 serviceStatusLoadBalancerToHclTerraform(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 ServiceStatusLoadBalancerOutputReference 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 ServiceStatusLoadBalancerIngressList(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.ServiceStatusLoadBalancerOutputReference = ServiceStatusLoadBalancerOutputReference; _c = JSII_RTTI_SYMBOL_1; ServiceStatusLoadBalancerOutputReference[_c] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusLoadBalancerOutputReference", version: "12.0.0" }; class ServiceStatusLoadBalancerList 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 ServiceStatusLoadBalancerOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceStatusLoadBalancerList = ServiceStatusLoadBalancerList; _d = JSII_RTTI_SYMBOL_1; ServiceStatusLoadBalancerList[_d] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusLoadBalancerList", version: "12.0.0" }; function serviceStatusToTerraform(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 serviceStatusToHclTerraform(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 ServiceStatusOutputReference 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 ServiceStatusLoadBalancerList(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.ServiceStatusOutputReference = ServiceStatusOutputReference; _e = JSII_RTTI_SYMBOL_1; ServiceStatusOutputReference[_e] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusOutputReference", version: "12.0.0" }; class ServiceStatusList 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 ServiceStatusOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceStatusList = ServiceStatusList; _f = JSII_RTTI_SYMBOL_1; ServiceStatusList[_f] = { fqn: "@cdktf/provider-kubernetes.service.ServiceStatusList", version: "12.0.0" }; function serviceMetadataToTerraform(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 serviceMetadataToHclTerraform(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 ServiceMetadataOutputReference 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.ServiceMetadataOutputReference = ServiceMetadataOutputReference; _g = JSII_RTTI_SYMBOL_1; ServiceMetadataOutputReference[_g] = { fqn: "@cdktf/provider-kubernetes.service.ServiceMetadataOutputReference", version: "12.0.0" }; function serviceSpecPortToTerraform(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 serviceSpecPortToHclTerraform(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 ServiceSpecPortOutputReference 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.ServiceSpecPortOutputReference = ServiceSpecPortOutputReference; _h = JSII_RTTI_SYMBOL_1; ServiceSpecPortOutputReference[_h] = { fqn: "@cdktf/provider-kubernetes.service.ServiceSpecPortOutputReference", version: "12.0.0" }; class ServiceSpecPortList 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 ServiceSpecPortOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ServiceSpecPortList = ServiceSpecPortList; _j = JSII_RTTI_SYMBOL_1; ServiceSpecPortList[_j] = { fqn: "@cdktf/provider-kubernetes.service.ServiceSpecPortList", version: "12.0.0" }; function serviceSpecSessionAffinityConfigClientIpToTerraform(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 serviceSpecSessionAffinityConfigClientIpToHclTerraform(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 ServiceSpecSessionAffinityConfigClientIpOutputReference 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.ServiceSpecSessionAffinityConfigClientIpOutputReference = ServiceSpecSessionAffinityConfigClientIpOutputReference; _k = JSII_RTTI_SYMBOL_1; ServiceSpecSessionAffinityConfigClientIpOutputReference[_k] = { fqn: "@cdktf/provider-kubernetes.service.ServiceSpecSessionAffinityConfigClientIpOutputReference", version: "12.0.0" }; function serviceSpecSessionAffinityConfigToTerraform(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: serviceSpecSessionAffinityConfigClientIpToTerraform(struct.clientIp), }; } function serviceSpecSessionAffinityConfigToHclTerraform(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: serviceSpecSessionAffinityConfigClientIpToHclTerraform(struct.clientIp), isBlock: true, type: "list", storageClassType: "ServiceSpecSessionAffinityConfigClientIpList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceSpecSessionAffinityConfigOutputReference 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 ServiceSpecSessionAffinityConfigClientIpOutputReference(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.ServiceSpecSessionAffinityConfigOutputReference = ServiceSpecSessionAffinityConfigOutputReference; _l = JSII_RTTI_SYMBOL_1; ServiceSpecSessionAffinityConfigOutputReference[_l] = { fqn: "@cdktf/provider-kubernetes.service.ServiceSpecSessionAffinityConfigOutputReference", version: "12.0.0" }; function serviceSpecToTerraform(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(serviceSpecPortToTerraform, true)(struct.port), session_affinity_config: serviceSpecSessionAffinityConfigToTerraform(struct.sessionAffinityConfig), }; } function serviceSpecToHclTerraform(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(serviceSpecPortToHclTerraform, true)(struct.port), isBlock: true, type: "list", storageClassType: "ServiceSpecPortList", }, session_affinity_config: { value: serviceSpecSessionAffinityConfigToHclTerraform(struct.sessionAffinityConfig), isBlock: true, type: "list", storageClassType: "ServiceSpecSessionAffinityConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceSpecOutputReference 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 ServiceSpecPortList(this, "port", false); // session_affinity_config - computed: false, optional: true, required: false this._sessionAffinityConfig = new ServiceSpecSessionAffinityConfigOutputReference(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; } resetInternalTrafficPolicy() { this._internalTrafficPolicy = undefined; } // Temporarily expose input value. Use with caution. get internalTrafficPolicyInput() { return this._internalTrafficPolicy; } get ipFamilies() { return this.getListAttribute('ip_families'); }