UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

1,089 lines 148 kB
"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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