UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,063 lines 157 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.BlockchainNodeEngineBlockchainNodes = exports.BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference = exports.blockchainNodeEngineBlockchainNodesTimeoutsToHclTerraform = exports.blockchainNodeEngineBlockchainNodesTimeoutsToTerraform = exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsToHclTerraform = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsToTerraform = exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToHclTerraform = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToTerraform = exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToHclTerraform = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToTerraform = exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList = exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToHclTerraform = exports.blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToTerraform = exports.BlockchainNodeEngineBlockchainNodesConnectionInfoList = exports.BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference = exports.blockchainNodeEngineBlockchainNodesConnectionInfoToHclTerraform = exports.blockchainNodeEngineBlockchainNodesConnectionInfoToTerraform = exports.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList = exports.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference = exports.blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToHclTerraform = exports.blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToTerraform(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 {}; } exports.blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToTerraform = blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToTerraform; function blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToHclTerraform(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; } exports.blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToHclTerraform = blockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoToHclTerraform; class BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference 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; } } // json_rpc_api_endpoint - computed: true, optional: false, required: false get jsonRpcApiEndpoint() { return this.getStringAttribute('json_rpc_api_endpoint'); } // websockets_api_endpoint - computed: true, optional: false, required: false get websocketsApiEndpoint() { return this.getStringAttribute('websockets_api_endpoint'); } } exports.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference = BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference; _a = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference[_a] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference", version: "14.12.0" }; class BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList 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 BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList = BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList; _b = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList[_b] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesConnectionInfoToTerraform(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 {}; } exports.blockchainNodeEngineBlockchainNodesConnectionInfoToTerraform = blockchainNodeEngineBlockchainNodesConnectionInfoToTerraform; function blockchainNodeEngineBlockchainNodesConnectionInfoToHclTerraform(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; } exports.blockchainNodeEngineBlockchainNodesConnectionInfoToHclTerraform = blockchainNodeEngineBlockchainNodesConnectionInfoToHclTerraform; class BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference 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; // endpoint_info - computed: true, optional: false, required: false this._endpointInfo = new BlockchainNodeEngineBlockchainNodesConnectionInfoEndpointInfoList(this, "endpoint_info", 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 endpointInfo() { return this._endpointInfo; } // service_attachment - computed: true, optional: false, required: false get serviceAttachment() { return this.getStringAttribute('service_attachment'); } } exports.BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference = BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference; _c = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference[_c] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference", version: "14.12.0" }; class BlockchainNodeEngineBlockchainNodesConnectionInfoList 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 BlockchainNodeEngineBlockchainNodesConnectionInfoOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BlockchainNodeEngineBlockchainNodesConnectionInfoList = BlockchainNodeEngineBlockchainNodesConnectionInfoList; _d = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesConnectionInfoList[_d] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesConnectionInfoList", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToTerraform(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 {}; } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToTerraform; function blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToHclTerraform(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; } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToHclTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsToHclTerraform; class BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference 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; } } // beacon_api_endpoint - computed: true, optional: false, required: false get beaconApiEndpoint() { return this.getStringAttribute('beacon_api_endpoint'); } // beacon_prometheus_metrics_api_endpoint - computed: true, optional: false, required: false get beaconPrometheusMetricsApiEndpoint() { return this.getStringAttribute('beacon_prometheus_metrics_api_endpoint'); } // execution_client_prometheus_metrics_api_endpoint - computed: true, optional: false, required: false get executionClientPrometheusMetricsApiEndpoint() { return this.getStringAttribute('execution_client_prometheus_metrics_api_endpoint'); } } exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference = BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference; _e = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference[_e] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference", version: "14.12.0" }; class BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList 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 BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList = BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList; _f = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList[_f] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToTerraform(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 { garbage_collection_mode: cdktf.stringToTerraform(struct.garbageCollectionMode), }; } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToTerraform; function blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToHclTerraform(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 = { garbage_collection_mode: { value: cdktf.stringToHclTerraform(struct.garbageCollectionMode), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToHclTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToHclTerraform; class BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference 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._garbageCollectionMode !== undefined) { hasAnyValues = true; internalValueResult.garbageCollectionMode = this._garbageCollectionMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._garbageCollectionMode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._garbageCollectionMode = value.garbageCollectionMode; } } get garbageCollectionMode() { return this.getStringAttribute('garbage_collection_mode'); } set garbageCollectionMode(value) { this._garbageCollectionMode = value; } resetGarbageCollectionMode() { this._garbageCollectionMode = undefined; } // Temporarily expose input value. Use with caution. get garbageCollectionModeInput() { return this._garbageCollectionMode; } } exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference = BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference; _g = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference[_g] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToTerraform(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 { mev_relay_urls: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.mevRelayUrls), }; } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToTerraform; function blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToHclTerraform(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 = { mev_relay_urls: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.mevRelayUrls), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToHclTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToHclTerraform; class BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference 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._mevRelayUrls !== undefined) { hasAnyValues = true; internalValueResult.mevRelayUrls = this._mevRelayUrls; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._mevRelayUrls = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._mevRelayUrls = value.mevRelayUrls; } } get mevRelayUrls() { return this.getListAttribute('mev_relay_urls'); } set mevRelayUrls(value) { this._mevRelayUrls = value; } resetMevRelayUrls() { this._mevRelayUrls = undefined; } // Temporarily expose input value. Use with caution. get mevRelayUrlsInput() { return this._mevRelayUrls; } } exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference = BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference; _h = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference[_h] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesEthereumDetailsToTerraform(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 { api_enable_admin: cdktf.booleanToTerraform(struct.apiEnableAdmin), api_enable_debug: cdktf.booleanToTerraform(struct.apiEnableDebug), consensus_client: cdktf.stringToTerraform(struct.consensusClient), execution_client: cdktf.stringToTerraform(struct.executionClient), network: cdktf.stringToTerraform(struct.network), node_type: cdktf.stringToTerraform(struct.nodeType), geth_details: blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToTerraform(struct.fetchhDetails), validator_config: blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToTerraform(struct.validatorConfig), }; } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsToTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsToTerraform; function blockchainNodeEngineBlockchainNodesEthereumDetailsToHclTerraform(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 = { api_enable_admin: { value: cdktf.booleanToHclTerraform(struct.apiEnableAdmin), isBlock: false, type: "simple", storageClassType: "boolean", }, api_enable_debug: { value: cdktf.booleanToHclTerraform(struct.apiEnableDebug), isBlock: false, type: "simple", storageClassType: "boolean", }, consensus_client: { value: cdktf.stringToHclTerraform(struct.consensusClient), isBlock: false, type: "simple", storageClassType: "string", }, execution_client: { value: cdktf.stringToHclTerraform(struct.executionClient), isBlock: false, type: "simple", storageClassType: "string", }, network: { value: cdktf.stringToHclTerraform(struct.network), isBlock: false, type: "simple", storageClassType: "string", }, node_type: { value: cdktf.stringToHclTerraform(struct.nodeType), isBlock: false, type: "simple", storageClassType: "string", }, geth_details: { value: blockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsToHclTerraform(struct.fetchhDetails), isBlock: true, type: "list", storageClassType: "BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsList", }, validator_config: { value: blockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigToHclTerraform(struct.validatorConfig), isBlock: true, type: "list", storageClassType: "BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.blockchainNodeEngineBlockchainNodesEthereumDetailsToHclTerraform = blockchainNodeEngineBlockchainNodesEthereumDetailsToHclTerraform; class BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference 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; // additional_endpoints - computed: true, optional: false, required: false this._additionalEndpoints = new BlockchainNodeEngineBlockchainNodesEthereumDetailsAdditionalEndpointsList(this, "additional_endpoints", false); // geth_details - computed: false, optional: true, required: false this._gethDetails = new BlockchainNodeEngineBlockchainNodesEthereumDetailsGethDetailsOutputReference(this, "geth_details"); // validator_config - computed: false, optional: true, required: false this._validatorConfig = new BlockchainNodeEngineBlockchainNodesEthereumDetailsValidatorConfigOutputReference(this, "validator_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._apiEnableAdmin !== undefined) { hasAnyValues = true; internalValueResult.apiEnableAdmin = this._apiEnableAdmin; } if (this._apiEnableDebug !== undefined) { hasAnyValues = true; internalValueResult.apiEnableDebug = this._apiEnableDebug; } if (this._consensusClient !== undefined) { hasAnyValues = true; internalValueResult.consensusClient = this._consensusClient; } if (this._executionClient !== undefined) { hasAnyValues = true; internalValueResult.executionClient = this._executionClient; } if (this._network !== undefined) { hasAnyValues = true; internalValueResult.network = this._network; } if (this._nodeType !== undefined) { hasAnyValues = true; internalValueResult.nodeType = this._nodeType; } if (this._gethDetails?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.fetchhDetails = this._gethDetails?.internalValue; } if (this._validatorConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.validatorConfig = this._validatorConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._apiEnableAdmin = undefined; this._apiEnableDebug = undefined; this._consensusClient = undefined; this._executionClient = undefined; this._network = undefined; this._nodeType = undefined; this._gethDetails.internalValue = undefined; this._validatorConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._apiEnableAdmin = value.apiEnableAdmin; this._apiEnableDebug = value.apiEnableDebug; this._consensusClient = value.consensusClient; this._executionClient = value.executionClient; this._network = value.network; this._nodeType = value.nodeType; this._gethDetails.internalValue = value.fetchhDetails; this._validatorConfig.internalValue = value.validatorConfig; } } get additionalEndpoints() { return this._additionalEndpoints; } get apiEnableAdmin() { return this.getBooleanAttribute('api_enable_admin'); } set apiEnableAdmin(value) { this._apiEnableAdmin = value; } resetApiEnableAdmin() { this._apiEnableAdmin = undefined; } // Temporarily expose input value. Use with caution. get apiEnableAdminInput() { return this._apiEnableAdmin; } get apiEnableDebug() { return this.getBooleanAttribute('api_enable_debug'); } set apiEnableDebug(value) { this._apiEnableDebug = value; } resetApiEnableDebug() { this._apiEnableDebug = undefined; } // Temporarily expose input value. Use with caution. get apiEnableDebugInput() { return this._apiEnableDebug; } get consensusClient() { return this.getStringAttribute('consensus_client'); } set consensusClient(value) { this._consensusClient = value; } resetConsensusClient() { this._consensusClient = undefined; } // Temporarily expose input value. Use with caution. get consensusClientInput() { return this._consensusClient; } get executionClient() { return this.getStringAttribute('execution_client'); } set executionClient(value) { this._executionClient = value; } resetExecutionClient() { this._executionClient = undefined; } // Temporarily expose input value. Use with caution. get executionClientInput() { return this._executionClient; } get network() { return this.getStringAttribute('network'); } set network(value) { this._network = value; } resetNetwork() { this._network = undefined; } // Temporarily expose input value. Use with caution. get networkInput() { return this._network; } get nodeType() { return this.getStringAttribute('node_type'); } set nodeType(value) { this._nodeType = value; } resetNodeType() { this._nodeType = undefined; } // Temporarily expose input value. Use with caution. get nodeTypeInput() { return this._nodeType; } get fetchhDetails() { return this._gethDetails; } putFetchhDetails(value) { this._gethDetails.internalValue = value; } resetFetchhDetails() { this._gethDetails.internalValue = undefined; } // Temporarily expose input value. Use with caution. get fetchhDetailsInput() { return this._gethDetails.internalValue; } get validatorConfig() { return this._validatorConfig; } putValidatorConfig(value) { this._validatorConfig.internalValue = value; } resetValidatorConfig() { this._validatorConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get validatorConfigInput() { return this._validatorConfig.internalValue; } } exports.BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference = BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference; _j = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference[_j] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference", version: "14.12.0" }; function blockchainNodeEngineBlockchainNodesTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } exports.blockchainNodeEngineBlockchainNodesTimeoutsToTerraform = blockchainNodeEngineBlockchainNodesTimeoutsToTerraform; function blockchainNodeEngineBlockchainNodesTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.blockchainNodeEngineBlockchainNodesTimeoutsToHclTerraform = blockchainNodeEngineBlockchainNodesTimeoutsToHclTerraform; class BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference = BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference; _k = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference", version: "14.12.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/blockchain_node_engine_blockchain_nodes google_blockchain_node_engine_blockchain_nodes} */ class BlockchainNodeEngineBlockchainNodes extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a BlockchainNodeEngineBlockchainNodes 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 BlockchainNodeEngineBlockchainNodes to import * @param importFromId The id of the existing BlockchainNodeEngineBlockchainNodes that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/blockchain_node_engine_blockchain_nodes#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BlockchainNodeEngineBlockchainNodes to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_blockchain_node_engine_blockchain_nodes", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/blockchain_node_engine_blockchain_nodes google_blockchain_node_engine_blockchain_nodes} 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 BlockchainNodeEngineBlockchainNodesConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_blockchain_node_engine_blockchain_nodes', terraformGeneratorMetadata: { providerName: 'google', providerVersion: '6.13.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // connection_info - computed: true, optional: false, required: false this._connectionInfo = new BlockchainNodeEngineBlockchainNodesConnectionInfoList(this, "connection_info", false); // effective_labels - computed: true, optional: false, required: false this._effectiveLabels = new cdktf.StringMap(this, "effective_labels"); // terraform_labels - computed: true, optional: false, required: false this._terraformLabels = new cdktf.StringMap(this, "terraform_labels"); // ethereum_details - computed: false, optional: true, required: false this._ethereumDetails = new BlockchainNodeEngineBlockchainNodesEthereumDetailsOutputReference(this, "ethereum_details"); // timeouts - computed: false, optional: true, required: false this._timeouts = new BlockchainNodeEngineBlockchainNodesTimeoutsOutputReference(this, "timeouts"); this._blockchainNodeId = config.blockchainNodeId; this._blockchainType = config.blockchainType; this._id = config.id; this._labels = config.labels; this._location = config.location; this._project = config.project; this._ethereumDetails.internalValue = config.ethereumDetails; this._timeouts.internalValue = config.timeouts; } get blockchainNodeId() { return this.getStringAttribute('blockchain_node_id'); } set blockchainNodeId(value) { this._blockchainNodeId = value; } // Temporarily expose input value. Use with caution. get blockchainNodeIdInput() { return this._blockchainNodeId; } get blockchainType() { return this.getStringAttribute('blockchain_type'); } set blockchainType(value) { this._blockchainType = value; } resetBlockchainType() { this._blockchainType = undefined; } // Temporarily expose input value. Use with caution. get blockchainTypeInput() { return this._blockchainType; } get connectionInfo() { return this._connectionInfo; } // create_time - computed: true, optional: false, required: false get createTime() { return this.getStringAttribute('create_time'); } get effectiveLabels() { return this._effectiveLabels; } 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 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 location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } get project() { return this.getStringAttribute('project'); } set project(value) { this._project = value; } resetProject() { this._project = undefined; } // Temporarily expose input value. Use with caution. get projectInput() { return this._project; } get terraformLabels() { return this._terraformLabels; } // update_time - computed: true, optional: false, required: false get updateTime() { return this.getStringAttribute('update_time'); } get ethereumDetails() { return this._ethereumDetails; } putEthereumDetails(value) { this._ethereumDetails.internalValue = value; } resetEthereumDetails() { this._ethereumDetails.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ethereumDetailsInput() { return this._ethereumDetails.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { blockchain_node_id: cdktf.stringToTerraform(this._blockchainNodeId), blockchain_type: cdktf.stringToTerraform(this._blockchainType), id: cdktf.stringToTerraform(this._id), labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._labels), location: cdktf.stringToTerraform(this._location), project: cdktf.stringToTerraform(this._project), ethereum_details: blockchainNodeEngineBlockchainNodesEthereumDetailsToTerraform(this._ethereumDetails.internalValue), timeouts: blockchainNodeEngineBlockchainNodesTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { blockchain_node_id: { value: cdktf.stringToHclTerraform(this._blockchainNodeId), isBlock: false, type: "simple", storageClassType: "string", }, blockchain_type: { value: cdktf.stringToHclTerraform(this._blockchainType), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, labels: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._labels), isBlock: false, type: "map", storageClassType: "stringMap", }, location: { value: cdktf.stringToHclTerraform(this._location), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, ethereum_details: { value: blockchainNodeEngineBlockchainNodesEthereumDetailsToHclTerraform(this._ethereumDetails.internalValue), isBlock: true, type: "list", storageClassType: "BlockchainNodeEngineBlockchainNodesEthereumDetailsList", }, timeouts: { value: blockchainNodeEngineBlockchainNodesTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "BlockchainNodeEngineBlockchainNodesTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.BlockchainNodeEngineBlockchainNodes = BlockchainNodeEngineBlockchainNodes; _l = JSII_RTTI_SYMBOL_1; BlockchainNodeEngineBlockchainNodes[_l] = { fqn: "@cdktf/provider-google.blockchainNodeEngineBlockchainNodes.BlockchainNodeEngineBlockchainNodes", version: "14.12.0" }; // ================= // STATIC PROPERTIES // ================= BlockchainNodeEngineBlockchainNodes.tfResourceType = "google_blockchain_node_engine_blockchain_nodes"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tjaGFpbi1ub2RlLWVuZ2luZS1ibG9ja2NoYWluLW5vZGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBNEQvQixTQUFnQix3RUFBd0UsQ0FBQyxNQUFzRTtJQUM3SixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFQRCw0SkFPQztBQUdELFNBQWdCLDJFQUEyRSxDQUFDLE1BQXNFO0lB