@cdktf/provider-kubernetes
Version:
Prebuilt kubernetes Provider for Terraform CDK (cdktf)
1,089 lines • 148 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EndpointSliceV1 = exports.EndpointSliceV1PortList = exports.EndpointSliceV1PortOutputReference = exports.EndpointSliceV1MetadataOutputReference = exports.EndpointSliceV1EndpointList = exports.EndpointSliceV1EndpointOutputReference = exports.EndpointSliceV1EndpointTargetRefOutputReference = exports.EndpointSliceV1EndpointConditionOutputReference = void 0;
exports.endpointSliceV1EndpointConditionToTerraform = endpointSliceV1EndpointConditionToTerraform;
exports.endpointSliceV1EndpointConditionToHclTerraform = endpointSliceV1EndpointConditionToHclTerraform;
exports.endpointSliceV1EndpointTargetRefToTerraform = endpointSliceV1EndpointTargetRefToTerraform;
exports.endpointSliceV1EndpointTargetRefToHclTerraform = endpointSliceV1EndpointTargetRefToHclTerraform;
exports.endpointSliceV1EndpointToTerraform = endpointSliceV1EndpointToTerraform;
exports.endpointSliceV1EndpointToHclTerraform = endpointSliceV1EndpointToHclTerraform;
exports.endpointSliceV1MetadataToTerraform = endpointSliceV1MetadataToTerraform;
exports.endpointSliceV1MetadataToHclTerraform = endpointSliceV1MetadataToHclTerraform;
exports.endpointSliceV1PortToTerraform = endpointSliceV1PortToTerraform;
exports.endpointSliceV1PortToHclTerraform = endpointSliceV1PortToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function endpointSliceV1EndpointConditionToTerraform(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 {
ready: cdktf.booleanToTerraform(struct.ready),
serving: cdktf.booleanToTerraform(struct.serving),
terminating: cdktf.booleanToTerraform(struct.terminating),
};
}
function endpointSliceV1EndpointConditionToHclTerraform(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 = {
ready: {
value: cdktf.booleanToHclTerraform(struct.ready),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
serving: {
value: cdktf.booleanToHclTerraform(struct.serving),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
terminating: {
value: cdktf.booleanToHclTerraform(struct.terminating),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class EndpointSliceV1EndpointConditionOutputReference 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._ready !== undefined) {
hasAnyValues = true;
internalValueResult.ready = this._ready;
}
if (this._serving !== undefined) {
hasAnyValues = true;
internalValueResult.serving = this._serving;
}
if (this._terminating !== undefined) {
hasAnyValues = true;
internalValueResult.terminating = this._terminating;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._ready = undefined;
this._serving = undefined;
this._terminating = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._ready = value.ready;
this._serving = value.serving;
this._terminating = value.terminating;
}
}
get ready() {
return this.getBooleanAttribute('ready');
}
set ready(value) {
this._ready = value;
}
resetReady() {
this._ready = undefined;
}
// Temporarily expose input value. Use with caution.
get readyInput() {
return this._ready;
}
get serving() {
return this.getBooleanAttribute('serving');
}
set serving(value) {
this._serving = value;
}
resetServing() {
this._serving = undefined;
}
// Temporarily expose input value. Use with caution.
get servingInput() {
return this._serving;
}
get terminating() {
return this.getBooleanAttribute('terminating');
}
set terminating(value) {
this._terminating = value;
}
resetTerminating() {
this._terminating = undefined;
}
// Temporarily expose input value. Use with caution.
get terminatingInput() {
return this._terminating;
}
}
exports.EndpointSliceV1EndpointConditionOutputReference = EndpointSliceV1EndpointConditionOutputReference;
_a = JSII_RTTI_SYMBOL_1;
EndpointSliceV1EndpointConditionOutputReference[_a] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1EndpointConditionOutputReference", version: "12.1.1" };
function endpointSliceV1EndpointTargetRefToTerraform(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 {
field_path: cdktf.stringToTerraform(struct.fieldPath),
name: cdktf.stringToTerraform(struct.name),
namespace: cdktf.stringToTerraform(struct.namespace),
resource_version: cdktf.stringToTerraform(struct.resourceVersion),
uid: cdktf.stringToTerraform(struct.uid),
};
}
function endpointSliceV1EndpointTargetRefToHclTerraform(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 = {
field_path: {
value: cdktf.stringToHclTerraform(struct.fieldPath),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(struct.name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
namespace: {
value: cdktf.stringToHclTerraform(struct.namespace),
isBlock: false,
type: "simple",
storageClassType: "string",
},
resource_version: {
value: cdktf.stringToHclTerraform(struct.resourceVersion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
uid: {
value: cdktf.stringToHclTerraform(struct.uid),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class EndpointSliceV1EndpointTargetRefOutputReference 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._fieldPath !== undefined) {
hasAnyValues = true;
internalValueResult.fieldPath = this._fieldPath;
}
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._namespace !== undefined) {
hasAnyValues = true;
internalValueResult.namespace = this._namespace;
}
if (this._resourceVersion !== undefined) {
hasAnyValues = true;
internalValueResult.resourceVersion = this._resourceVersion;
}
if (this._uid !== undefined) {
hasAnyValues = true;
internalValueResult.uid = this._uid;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._fieldPath = undefined;
this._name = undefined;
this._namespace = undefined;
this._resourceVersion = undefined;
this._uid = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._fieldPath = value.fieldPath;
this._name = value.name;
this._namespace = value.namespace;
this._resourceVersion = value.resourceVersion;
this._uid = value.uid;
}
}
get fieldPath() {
return this.getStringAttribute('field_path');
}
set fieldPath(value) {
this._fieldPath = value;
}
resetFieldPath() {
this._fieldPath = undefined;
}
// Temporarily expose input value. Use with caution.
get fieldPathInput() {
return this._fieldPath;
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get 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;
}
get resourceVersion() {
return this.getStringAttribute('resource_version');
}
set resourceVersion(value) {
this._resourceVersion = value;
}
resetResourceVersion() {
this._resourceVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceVersionInput() {
return this._resourceVersion;
}
get uid() {
return this.getStringAttribute('uid');
}
set uid(value) {
this._uid = value;
}
resetUid() {
this._uid = undefined;
}
// Temporarily expose input value. Use with caution.
get uidInput() {
return this._uid;
}
}
exports.EndpointSliceV1EndpointTargetRefOutputReference = EndpointSliceV1EndpointTargetRefOutputReference;
_b = JSII_RTTI_SYMBOL_1;
EndpointSliceV1EndpointTargetRefOutputReference[_b] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1EndpointTargetRefOutputReference", version: "12.1.1" };
function endpointSliceV1EndpointToTerraform(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 {
addresses: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.addresses),
hostname: cdktf.stringToTerraform(struct.hostname),
node_name: cdktf.stringToTerraform(struct.nodeName),
zone: cdktf.stringToTerraform(struct.zone),
condition: endpointSliceV1EndpointConditionToTerraform(struct.condition),
target_ref: endpointSliceV1EndpointTargetRefToTerraform(struct.targetRef),
};
}
function endpointSliceV1EndpointToHclTerraform(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 = {
addresses: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.addresses),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
hostname: {
value: cdktf.stringToHclTerraform(struct.hostname),
isBlock: false,
type: "simple",
storageClassType: "string",
},
node_name: {
value: cdktf.stringToHclTerraform(struct.nodeName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
zone: {
value: cdktf.stringToHclTerraform(struct.zone),
isBlock: false,
type: "simple",
storageClassType: "string",
},
condition: {
value: endpointSliceV1EndpointConditionToHclTerraform(struct.condition),
isBlock: true,
type: "list",
storageClassType: "EndpointSliceV1EndpointConditionList",
},
target_ref: {
value: endpointSliceV1EndpointTargetRefToHclTerraform(struct.targetRef),
isBlock: true,
type: "list",
storageClassType: "EndpointSliceV1EndpointTargetRefList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class EndpointSliceV1EndpointOutputReference 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;
// condition - computed: false, optional: true, required: false
this._condition = new EndpointSliceV1EndpointConditionOutputReference(this, "condition");
// target_ref - computed: false, optional: true, required: false
this._targetRef = new EndpointSliceV1EndpointTargetRefOutputReference(this, "target_ref");
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._addresses !== undefined) {
hasAnyValues = true;
internalValueResult.addresses = this._addresses;
}
if (this._hostname !== undefined) {
hasAnyValues = true;
internalValueResult.hostname = this._hostname;
}
if (this._nodeName !== undefined) {
hasAnyValues = true;
internalValueResult.nodeName = this._nodeName;
}
if (this._zone !== undefined) {
hasAnyValues = true;
internalValueResult.zone = this._zone;
}
if (this._condition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.condition = this._condition?.internalValue;
}
if (this._targetRef?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.targetRef = this._targetRef?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._addresses = undefined;
this._hostname = undefined;
this._nodeName = undefined;
this._zone = undefined;
this._condition.internalValue = undefined;
this._targetRef.internalValue = 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._addresses = value.addresses;
this._hostname = value.hostname;
this._nodeName = value.nodeName;
this._zone = value.zone;
this._condition.internalValue = value.condition;
this._targetRef.internalValue = value.targetRef;
}
}
get addresses() {
return this.getListAttribute('addresses');
}
set addresses(value) {
this._addresses = value;
}
// Temporarily expose input value. Use with caution.
get addressesInput() {
return this._addresses;
}
get hostname() {
return this.getStringAttribute('hostname');
}
set hostname(value) {
this._hostname = value;
}
resetHostname() {
this._hostname = undefined;
}
// Temporarily expose input value. Use with caution.
get hostnameInput() {
return this._hostname;
}
get nodeName() {
return this.getStringAttribute('node_name');
}
set nodeName(value) {
this._nodeName = value;
}
resetNodeName() {
this._nodeName = undefined;
}
// Temporarily expose input value. Use with caution.
get nodeNameInput() {
return this._nodeName;
}
get zone() {
return this.getStringAttribute('zone');
}
set zone(value) {
this._zone = value;
}
resetZone() {
this._zone = undefined;
}
// Temporarily expose input value. Use with caution.
get zoneInput() {
return this._zone;
}
get condition() {
return this._condition;
}
putCondition(value) {
this._condition.internalValue = value;
}
resetCondition() {
this._condition.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get conditionInput() {
return this._condition.internalValue;
}
get targetRef() {
return this._targetRef;
}
putTargetRef(value) {
this._targetRef.internalValue = value;
}
resetTargetRef() {
this._targetRef.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get targetRefInput() {
return this._targetRef.internalValue;
}
}
exports.EndpointSliceV1EndpointOutputReference = EndpointSliceV1EndpointOutputReference;
_c = JSII_RTTI_SYMBOL_1;
EndpointSliceV1EndpointOutputReference[_c] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1EndpointOutputReference", version: "12.1.1" };
class EndpointSliceV1EndpointList 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 EndpointSliceV1EndpointOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.EndpointSliceV1EndpointList = EndpointSliceV1EndpointList;
_d = JSII_RTTI_SYMBOL_1;
EndpointSliceV1EndpointList[_d] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1EndpointList", version: "12.1.1" };
function endpointSliceV1MetadataToTerraform(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 endpointSliceV1MetadataToHclTerraform(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 EndpointSliceV1MetadataOutputReference 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.EndpointSliceV1MetadataOutputReference = EndpointSliceV1MetadataOutputReference;
_e = JSII_RTTI_SYMBOL_1;
EndpointSliceV1MetadataOutputReference[_e] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1MetadataOutputReference", version: "12.1.1" };
function endpointSliceV1PortToTerraform(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),
port: cdktf.stringToTerraform(struct.port),
protocol: cdktf.stringToTerraform(struct.protocol),
};
}
function endpointSliceV1PortToHclTerraform(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",
},
port: {
value: cdktf.stringToHclTerraform(struct.port),
isBlock: false,
type: "simple",
storageClassType: "string",
},
protocol: {
value: cdktf.stringToHclTerraform(struct.protocol),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class EndpointSliceV1PortOutputReference 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._port !== undefined) {
hasAnyValues = true;
internalValueResult.port = this._port;
}
if (this._protocol !== undefined) {
hasAnyValues = true;
internalValueResult.protocol = this._protocol;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._appProtocol = undefined;
this._name = undefined;
this._port = undefined;
this._protocol = 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._port = value.port;
this._protocol = value.protocol;
}
}
get appProtocol() {
return this.getStringAttribute('app_protocol');
}
set appProtocol(value) {
this._appProtocol = value;
}
// 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 port() {
return this.getStringAttribute('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;
}
}
exports.EndpointSliceV1PortOutputReference = EndpointSliceV1PortOutputReference;
_f = JSII_RTTI_SYMBOL_1;
EndpointSliceV1PortOutputReference[_f] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1PortOutputReference", version: "12.1.1" };
class EndpointSliceV1PortList 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 EndpointSliceV1PortOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.EndpointSliceV1PortList = EndpointSliceV1PortList;
_g = JSII_RTTI_SYMBOL_1;
EndpointSliceV1PortList[_g] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1PortList", version: "12.1.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/endpoint_slice_v1 kubernetes_endpoint_slice_v1}
*/
class EndpointSliceV1 extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a EndpointSliceV1 resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the EndpointSliceV1 to import
* @param importFromId The id of the existing EndpointSliceV1 that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/endpoint_slice_v1#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the EndpointSliceV1 to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "kubernetes_endpoint_slice_v1", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/endpoint_slice_v1 kubernetes_endpoint_slice_v1} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options EndpointSliceV1Config
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'kubernetes_endpoint_slice_v1',
terraformGeneratorMetadata: {
providerName: 'kubernetes',
providerVersion: '2.38.0',
providerVersionConstraint: '~> 2.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// endpoint - computed: false, optional: false, required: true
this._endpoint = new EndpointSliceV1EndpointList(this, "endpoint", false);
// metadata - computed: false, optional: false, required: true
this._metadata = new EndpointSliceV1MetadataOutputReference(this, "metadata");
// port - computed: false, optional: false, required: true
this._port = new EndpointSliceV1PortList(this, "port", false);
this._addressType = config.addressType;
this._id = config.id;
this._endpoint.internalValue = config.endpoint;
this._metadata.internalValue = config.metadata;
this._port.internalValue = config.port;
}
get addressType() {
return this.getStringAttribute('address_type');
}
set addressType(value) {
this._addressType = value;
}
// Temporarily expose input value. Use with caution.
get addressTypeInput() {
return this._addressType;
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get endpoint() {
return this._endpoint;
}
putEndpoint(value) {
this._endpoint.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get endpointInput() {
return this._endpoint.internalValue;
}
get metadata() {
return this._metadata;
}
putMetadata(value) {
this._metadata.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get metadataInput() {
return this._metadata.internalValue;
}
get port() {
return this._port;
}
putPort(value) {
this._port.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get portInput() {
return this._port.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
address_type: cdktf.stringToTerraform(this._addressType),
id: cdktf.stringToTerraform(this._id),
endpoint: cdktf.listMapper(endpointSliceV1EndpointToTerraform, true)(this._endpoint.internalValue),
metadata: endpointSliceV1MetadataToTerraform(this._metadata.internalValue),
port: cdktf.listMapper(endpointSliceV1PortToTerraform, true)(this._port.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
address_type: {
value: cdktf.stringToHclTerraform(this._addressType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
endpoint: {
value: cdktf.listMapperHcl(endpointSliceV1EndpointToHclTerraform, true)(this._endpoint.internalValue),
isBlock: true,
type: "list",
storageClassType: "EndpointSliceV1EndpointList",
},
metadata: {
value: endpointSliceV1MetadataToHclTerraform(this._metadata.internalValue),
isBlock: true,
type: "list",
storageClassType: "EndpointSliceV1MetadataList",
},
port: {
value: cdktf.listMapperHcl(endpointSliceV1PortToHclTerraform, true)(this._port.internalValue),
isBlock: true,
type: "list",
storageClassType: "EndpointSliceV1PortList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.EndpointSliceV1 = EndpointSliceV1;
_h = JSII_RTTI_SYMBOL_1;
EndpointSliceV1[_h] = { fqn: "@cdktf/provider-kubernetes.endpointSliceV1.EndpointSliceV1", version: "12.1.1" };
// =================
// STATIC PROPERTIES
// =================
EndpointSliceV1.tfResourceType = "kubernetes_endpoint_slice_v1";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW5kcG9pbnQtc2xpY2UtdjEvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQW1FQSxrR0FVQztBQUdELHdHQTRCQztBQStIRCxrR0FZQztBQUdELHdHQXdDQztBQThLRCxnRkFhQztBQUdELHNGQThDQztBQThORCxnRkFZQztBQUdELHNGQXdDQztBQW9MRCx3RUFXQztBQUdELDhFQWtDQzs7QUE5L0JELCtCQUErQjtBQTBEL0IsU0FBZ0IsMkNBQTJDLENBQUMsTUFBMkY7SUFDckosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTyxDQUFDLEtBQUssQ0FBQztRQUM5QyxPQUFPLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQyxPQUFPLENBQUM7UUFDbEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDO0tBQzNELENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsOENBQThDLENBQUMsTUFBMkY7SUFDeEosSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJ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