@cdktf/provider-kubernetes
Version:
Prebuilt kubernetes Provider for Terraform CDK (cdktf)
1,226 lines (1,225 loc) • 231 kB
JavaScript
"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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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.1.1" };
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');
}