@cdktf/provider-kubernetes
Version:
Prebuilt kubernetes Provider for Terraform CDK (cdktf)
1,216 lines • 232 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.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