@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,245 lines (1,244 loc) • 181 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataFusionInstance = exports.DataFusionInstanceTimeoutsOutputReference = exports.dataFusionInstanceTimeoutsToHclTerraform = exports.dataFusionInstanceTimeoutsToTerraform = exports.DataFusionInstanceNetworkConfigOutputReference = exports.dataFusionInstanceNetworkConfigToHclTerraform = exports.dataFusionInstanceNetworkConfigToTerraform = exports.DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference = exports.dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToHclTerraform = exports.dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToTerraform = exports.DataFusionInstanceEventPublishConfigOutputReference = exports.dataFusionInstanceEventPublishConfigToHclTerraform = exports.dataFusionInstanceEventPublishConfigToTerraform = exports.DataFusionInstanceCryptoKeyConfigOutputReference = exports.dataFusionInstanceCryptoKeyConfigToHclTerraform = exports.dataFusionInstanceCryptoKeyConfigToTerraform = exports.DataFusionInstanceAcceleratorsList = exports.DataFusionInstanceAcceleratorsOutputReference = exports.dataFusionInstanceAcceleratorsToHclTerraform = exports.dataFusionInstanceAcceleratorsToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function dataFusionInstanceAcceleratorsToTerraform(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 {
accelerator_type: cdktf.stringToTerraform(struct.acceleratorType),
state: cdktf.stringToTerraform(struct.state),
};
}
exports.dataFusionInstanceAcceleratorsToTerraform = dataFusionInstanceAcceleratorsToTerraform;
function dataFusionInstanceAcceleratorsToHclTerraform(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 = {
accelerator_type: {
value: cdktf.stringToHclTerraform(struct.acceleratorType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
state: {
value: cdktf.stringToHclTerraform(struct.state),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataFusionInstanceAcceleratorsToHclTerraform = dataFusionInstanceAcceleratorsToHclTerraform;
class DataFusionInstanceAcceleratorsOutputReference 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._acceleratorType !== undefined) {
hasAnyValues = true;
internalValueResult.acceleratorType = this._acceleratorType;
}
if (this._state !== undefined) {
hasAnyValues = true;
internalValueResult.state = this._state;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._acceleratorType = undefined;
this._state = 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._acceleratorType = value.acceleratorType;
this._state = value.state;
}
}
get acceleratorType() {
return this.getStringAttribute('accelerator_type');
}
set acceleratorType(value) {
this._acceleratorType = value;
}
// Temporarily expose input value. Use with caution.
get acceleratorTypeInput() {
return this._acceleratorType;
}
get state() {
return this.getStringAttribute('state');
}
set state(value) {
this._state = value;
}
// Temporarily expose input value. Use with caution.
get stateInput() {
return this._state;
}
}
exports.DataFusionInstanceAcceleratorsOutputReference = DataFusionInstanceAcceleratorsOutputReference;
_a = JSII_RTTI_SYMBOL_1;
DataFusionInstanceAcceleratorsOutputReference[_a] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceAcceleratorsOutputReference", version: "14.12.0" };
class DataFusionInstanceAcceleratorsList 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 DataFusionInstanceAcceleratorsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataFusionInstanceAcceleratorsList = DataFusionInstanceAcceleratorsList;
_b = JSII_RTTI_SYMBOL_1;
DataFusionInstanceAcceleratorsList[_b] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceAcceleratorsList", version: "14.12.0" };
function dataFusionInstanceCryptoKeyConfigToTerraform(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 {
key_reference: cdktf.stringToTerraform(struct.keyReference),
};
}
exports.dataFusionInstanceCryptoKeyConfigToTerraform = dataFusionInstanceCryptoKeyConfigToTerraform;
function dataFusionInstanceCryptoKeyConfigToHclTerraform(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 = {
key_reference: {
value: cdktf.stringToHclTerraform(struct.keyReference),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataFusionInstanceCryptoKeyConfigToHclTerraform = dataFusionInstanceCryptoKeyConfigToHclTerraform;
class DataFusionInstanceCryptoKeyConfigOutputReference 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._keyReference !== undefined) {
hasAnyValues = true;
internalValueResult.keyReference = this._keyReference;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._keyReference = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._keyReference = value.keyReference;
}
}
get keyReference() {
return this.getStringAttribute('key_reference');
}
set keyReference(value) {
this._keyReference = value;
}
// Temporarily expose input value. Use with caution.
get keyReferenceInput() {
return this._keyReference;
}
}
exports.DataFusionInstanceCryptoKeyConfigOutputReference = DataFusionInstanceCryptoKeyConfigOutputReference;
_c = JSII_RTTI_SYMBOL_1;
DataFusionInstanceCryptoKeyConfigOutputReference[_c] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceCryptoKeyConfigOutputReference", version: "14.12.0" };
function dataFusionInstanceEventPublishConfigToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
topic: cdktf.stringToTerraform(struct.topic),
};
}
exports.dataFusionInstanceEventPublishConfigToTerraform = dataFusionInstanceEventPublishConfigToTerraform;
function dataFusionInstanceEventPublishConfigToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
topic: {
value: cdktf.stringToHclTerraform(struct.topic),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataFusionInstanceEventPublishConfigToHclTerraform = dataFusionInstanceEventPublishConfigToHclTerraform;
class DataFusionInstanceEventPublishConfigOutputReference 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._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
if (this._topic !== undefined) {
hasAnyValues = true;
internalValueResult.topic = this._topic;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enabled = undefined;
this._topic = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
this._topic = value.topic;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get topic() {
return this.getStringAttribute('topic');
}
set topic(value) {
this._topic = value;
}
// Temporarily expose input value. Use with caution.
get topicInput() {
return this._topic;
}
}
exports.DataFusionInstanceEventPublishConfigOutputReference = DataFusionInstanceEventPublishConfigOutputReference;
_d = JSII_RTTI_SYMBOL_1;
DataFusionInstanceEventPublishConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceEventPublishConfigOutputReference", version: "14.12.0" };
function dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToTerraform(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 {
network_attachment: cdktf.stringToTerraform(struct.networkAttachment),
unreachable_cidr_block: cdktf.stringToTerraform(struct.unreachableCidrBlock),
};
}
exports.dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToTerraform = dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToTerraform;
function dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToHclTerraform(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 = {
network_attachment: {
value: cdktf.stringToHclTerraform(struct.networkAttachment),
isBlock: false,
type: "simple",
storageClassType: "string",
},
unreachable_cidr_block: {
value: cdktf.stringToHclTerraform(struct.unreachableCidrBlock),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToHclTerraform = dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToHclTerraform;
class DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference 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._networkAttachment !== undefined) {
hasAnyValues = true;
internalValueResult.networkAttachment = this._networkAttachment;
}
if (this._unreachableCidrBlock !== undefined) {
hasAnyValues = true;
internalValueResult.unreachableCidrBlock = this._unreachableCidrBlock;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._networkAttachment = undefined;
this._unreachableCidrBlock = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._networkAttachment = value.networkAttachment;
this._unreachableCidrBlock = value.unreachableCidrBlock;
}
}
// effective_unreachable_cidr_block - computed: true, optional: false, required: false
get effectiveUnreachableCidrBlock() {
return this.getStringAttribute('effective_unreachable_cidr_block');
}
get networkAttachment() {
return this.getStringAttribute('network_attachment');
}
set networkAttachment(value) {
this._networkAttachment = value;
}
resetNetworkAttachment() {
this._networkAttachment = undefined;
}
// Temporarily expose input value. Use with caution.
get networkAttachmentInput() {
return this._networkAttachment;
}
get unreachableCidrBlock() {
return this.getStringAttribute('unreachable_cidr_block');
}
set unreachableCidrBlock(value) {
this._unreachableCidrBlock = value;
}
resetUnreachableCidrBlock() {
this._unreachableCidrBlock = undefined;
}
// Temporarily expose input value. Use with caution.
get unreachableCidrBlockInput() {
return this._unreachableCidrBlock;
}
}
exports.DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference = DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference;
_e = JSII_RTTI_SYMBOL_1;
DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference[_e] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference", version: "14.12.0" };
function dataFusionInstanceNetworkConfigToTerraform(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 {
connection_type: cdktf.stringToTerraform(struct.connectionType),
ip_allocation: cdktf.stringToTerraform(struct.ipAllocation),
network: cdktf.stringToTerraform(struct.network),
private_service_connect_config: dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToTerraform(struct.privateServiceConnectConfig),
};
}
exports.dataFusionInstanceNetworkConfigToTerraform = dataFusionInstanceNetworkConfigToTerraform;
function dataFusionInstanceNetworkConfigToHclTerraform(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 = {
connection_type: {
value: cdktf.stringToHclTerraform(struct.connectionType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
ip_allocation: {
value: cdktf.stringToHclTerraform(struct.ipAllocation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
network: {
value: cdktf.stringToHclTerraform(struct.network),
isBlock: false,
type: "simple",
storageClassType: "string",
},
private_service_connect_config: {
value: dataFusionInstanceNetworkConfigPrivateServiceConnectConfigToHclTerraform(struct.privateServiceConnectConfig),
isBlock: true,
type: "list",
storageClassType: "DataFusionInstanceNetworkConfigPrivateServiceConnectConfigList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.dataFusionInstanceNetworkConfigToHclTerraform = dataFusionInstanceNetworkConfigToHclTerraform;
class DataFusionInstanceNetworkConfigOutputReference 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;
// private_service_connect_config - computed: false, optional: true, required: false
this._privateServiceConnectConfig = new DataFusionInstanceNetworkConfigPrivateServiceConnectConfigOutputReference(this, "private_service_connect_config");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._connectionType !== undefined) {
hasAnyValues = true;
internalValueResult.connectionType = this._connectionType;
}
if (this._ipAllocation !== undefined) {
hasAnyValues = true;
internalValueResult.ipAllocation = this._ipAllocation;
}
if (this._network !== undefined) {
hasAnyValues = true;
internalValueResult.network = this._network;
}
if (this._privateServiceConnectConfig?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.privateServiceConnectConfig = this._privateServiceConnectConfig?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._connectionType = undefined;
this._ipAllocation = undefined;
this._network = undefined;
this._privateServiceConnectConfig.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._connectionType = value.connectionType;
this._ipAllocation = value.ipAllocation;
this._network = value.network;
this._privateServiceConnectConfig.internalValue = value.privateServiceConnectConfig;
}
}
get connectionType() {
return this.getStringAttribute('connection_type');
}
set connectionType(value) {
this._connectionType = value;
}
resetConnectionType() {
this._connectionType = undefined;
}
// Temporarily expose input value. Use with caution.
get connectionTypeInput() {
return this._connectionType;
}
get ipAllocation() {
return this.getStringAttribute('ip_allocation');
}
set ipAllocation(value) {
this._ipAllocation = value;
}
resetIpAllocation() {
this._ipAllocation = undefined;
}
// Temporarily expose input value. Use with caution.
get ipAllocationInput() {
return this._ipAllocation;
}
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 privateServiceConnectConfig() {
return this._privateServiceConnectConfig;
}
putPrivateServiceConnectConfig(value) {
this._privateServiceConnectConfig.internalValue = value;
}
resetPrivateServiceConnectConfig() {
this._privateServiceConnectConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get privateServiceConnectConfigInput() {
return this._privateServiceConnectConfig.internalValue;
}
}
exports.DataFusionInstanceNetworkConfigOutputReference = DataFusionInstanceNetworkConfigOutputReference;
_f = JSII_RTTI_SYMBOL_1;
DataFusionInstanceNetworkConfigOutputReference[_f] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceNetworkConfigOutputReference", version: "14.12.0" };
function dataFusionInstanceTimeoutsToTerraform(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.dataFusionInstanceTimeoutsToTerraform = dataFusionInstanceTimeoutsToTerraform;
function dataFusionInstanceTimeoutsToHclTerraform(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.dataFusionInstanceTimeoutsToHclTerraform = dataFusionInstanceTimeoutsToHclTerraform;
class DataFusionInstanceTimeoutsOutputReference 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.DataFusionInstanceTimeoutsOutputReference = DataFusionInstanceTimeoutsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
DataFusionInstanceTimeoutsOutputReference[_g] = { fqn: "@cdktf/provider-google.dataFusionInstance.DataFusionInstanceTimeoutsOutputReference", version: "14.12.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/data_fusion_instance google_data_fusion_instance}
*/
class DataFusionInstance extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a DataFusionInstance 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 DataFusionInstance to import
* @param importFromId The id of the existing DataFusionInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/data_fusion_instance#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the DataFusionInstance to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_data_fusion_instance", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/data_fusion_instance google_data_fusion_instance} 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 DataFusionInstanceConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'google_data_fusion_instance',
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
});
// 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");
// accelerators - computed: false, optional: true, required: false
this._accelerators = new DataFusionInstanceAcceleratorsList(this, "accelerators", false);
// crypto_key_config - computed: false, optional: true, required: false
this._cryptoKeyConfig = new DataFusionInstanceCryptoKeyConfigOutputReference(this, "crypto_key_config");
// event_publish_config - computed: false, optional: true, required: false
this._eventPublishConfig = new DataFusionInstanceEventPublishConfigOutputReference(this, "event_publish_config");
// network_config - computed: false, optional: true, required: false
this._networkConfig = new DataFusionInstanceNetworkConfigOutputReference(this, "network_config");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new DataFusionInstanceTimeoutsOutputReference(this, "timeouts");
this._dataprocServiceAccount = config.dataprocServiceAccount;
this._description = config.description;
this._displayName = config.displayName;
this._enableRbac = config.enableRbac;
this._enableStackdriverLogging = config.enableStackdriverLogging;
this._enableStackdriverMonitoring = config.enableStackdriverMonitoring;
this._id = config.id;
this._labels = config.labels;
this._name = config.name;
this._options = config.options;
this._privateInstance = config.privateInstance;
this._project = config.project;
this._region = config.region;
this._type = config.type;
this._version = config.version;
this._zone = config.zone;
this._accelerators.internalValue = config.accelerators;
this._cryptoKeyConfig.internalValue = config.cryptoKeyConfig;
this._eventPublishConfig.internalValue = config.eventPublishConfig;
this._networkConfig.internalValue = config.networkConfig;
this._timeouts.internalValue = config.timeouts;
}
// ==========
// ATTRIBUTES
// ==========
// api_endpoint - computed: true, optional: false, required: false
get apiEndpoint() {
return this.getStringAttribute('api_endpoint');
}
// create_time - computed: true, optional: false, required: false
get createTime() {
return this.getStringAttribute('create_time');
}
get dataprocServiceAccount() {
return this.getStringAttribute('dataproc_service_account');
}
set dataprocServiceAccount(value) {
this._dataprocServiceAccount = value;
}
resetDataprocServiceAccount() {
this._dataprocServiceAccount = undefined;
}
// Temporarily expose input value. Use with caution.
get dataprocServiceAccountInput() {
return this._dataprocServiceAccount;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get displayName() {
return this.getStringAttribute('display_name');
}
set displayName(value) {
this._displayName = value;
}
resetDisplayName() {
this._displayName = undefined;
}
// Temporarily expose input value. Use with caution.
get displayNameInput() {
return this._displayName;
}
get effectiveLabels() {
return this._effectiveLabels;
}
get enableRbac() {
return this.getBooleanAttribute('enable_rbac');
}
set enableRbac(value) {
this._enableRbac = value;
}
resetEnableRbac() {
this._enableRbac = undefined;
}
// Temporarily expose input value. Use with caution.
get enableRbacInput() {
return this._enableRbac;
}
get enableStackdriverLogging() {
return this.getBooleanAttribute('enable_stackdriver_logging');
}
set enableStackdriverLogging(value) {
this._enableStackdriverLogging = value;
}
resetEnableStackdriverLogging() {
this._enableStackdriverLogging = undefined;
}
// Temporarily expose input value. Use with caution.
get enableStackdriverLoggingInput() {
return this._enableStackdriverLogging;
}
get enableStackdriverMonitoring() {
return this.getBooleanAttribute('enable_stackdriver_monitoring');
}
set enableStackdriverMonitoring(value) {
this._enableStackdriverMonitoring = value;
}
resetEnableStackdriverMonitoring() {
this._enableStackdriverMonitoring = undefined;
}
// Temporarily expose input value. Use with caution.
get enableStackdriverMonitoringInput() {
return this._enableStackdriverMonitoring;
}
// gcs_bucket - computed: true, optional: false, required: false
get gcsBucket() {
return this.getStringAttribute('gcs_bucket');
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get options() {
return this.getStringMapAttribute('options');
}
set options(value) {
this._options = value;
}
resetOptions() {
this._options = undefined;
}
// Temporarily expose input value. Use with caution.
get optionsInput() {
return this._options;
}
// p4_service_account - computed: true, optional: false, required: false
get p4ServiceAccount() {
return this.getStringAttribute('p4_service_account');
}
get privateInstance() {
return this.getBooleanAttribute('private_instance');
}
set privateInstance(value) {
this._privateInstance = value;
}
resetPrivateInstance() {
this._privateInstance = undefined;
}
// Temporarily expose input value. Use with caution.
get privateInstanceInput() {
return this._privateInstance;
}
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 region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
// service_endpoint - computed: true, optional: false, required: false
get serviceEndpoint() {
return this.getStringAttribute('service_endpoint');
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
// state_message - computed: true, optional: false, required: false
get stateMessage() {
return this.getStringAttribute('state_message');
}
// tenant_project_id - computed: true, optional: false, required: false
get tenantProjectId() {
return this.getStringAttribute('tenant_project_id');
}
get terraformLabels() {
return this._terraformLabels;
}
get type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
// update_time - computed: true, optional: false, required: false
get updateTime() {
return this.getStringAttribute('update_time');
}
get version() {
return this.getStringAttribute('version');
}
set version(value) {
this._version = value;
}
resetVersion() {
this._version = undefined;
}
// Temporarily expose input value. Use with caution.
get versionInput() {
return this._version;
}
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 accelerators() {
return this._accelerators;
}
putAccelerators(value) {
this._accelerators.internalValue = value;
}
resetAccelerators() {
this._accelerators.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get acceleratorsInput() {
return this._accelerators.internalValue;
}
get cryptoKeyConfig() {
return this._cryptoKeyConfig;
}
putCryptoKeyConfig(value) {
this._cryptoKeyConfig.internalValue = value;
}
resetCryptoKeyConfig() {
this._cryptoKeyConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get cryptoKeyConfigInput() {
return this._cryptoKeyConfig.internalValue;
}
get eventPublishConfig() {
return this._eventPublishConfig;
}
putEventPublishConfig(value) {
this._eventPublishConfig.internalValue = value;
}
resetEventPublishConfig() {
this._eventPublishConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get eventPublishConfigInput() {
return this._eventPublishConfig.internalValue;
}
get networkConfig() {
return this._networkConfig;
}
putNetworkConfig(value) {
this._networkConfig.internalValue = value;
}
resetNetworkConfig() {
this._networkConfig.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get networkConfigInput() {
return this._networkConfig.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 {
dataproc_service_account: cdktf.stringToTerraform(this._dataprocServiceAccount),
description: cdktf.stringToTerraform(this._description),
display_name: cdktf.stringToTerraform(this._displayName),
enable_rbac: cdktf.booleanToTerraform(this._enableRbac),
enable_stackdriver_logging: cdktf.booleanToTerraform(this._enableStackdriverLogging),
enable_stackdriver_monitoring: cdktf.booleanToTerraform(this._enableStackdriverMonitoring),
id: cdktf.stringToTerraform(this._id),
labels: cdktf.hashMapper(cdktf.stringToTerraform)(this._labels),
name: cdktf.stringToTerraform(this._name),
options: cdktf.hashMapper(cdktf.stringToTerraform)(this._options),
private_instance: cdktf.booleanToTerraform(this._privateInstance),
project: cdktf.stringToTerraform(this._project),
region: cdktf.stringToTerraform(this._region),
type: cdktf.stringToTerraform(this._type),
version: cdktf.stringToTerraform(this._version),
zone: cdktf.stringToTerraform(this._zone),
accelerators: cdktf.listMapper(dataFusionInstanceAcceleratorsToTerraform, true)(this._accelerators.internalValue),
crypto_key_config: dataFusionInstanceCryptoKeyConfigToTerraform(this._cryptoKeyConfig.internalValue),
event_publish_config: dataFusionInstanceEventPublishConfigToTerraform(this._eventPublishConfig.internalValue),
network_config: dataFusionInstanceNetworkConfigToTerraform(this._networkConfig.internalValue),
timeouts: dataFusionInstanceTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
dataproc_service_account: {
value: cdktf.stringToHclTerraform(this._dataprocServiceAccount),
isBlock: false,
type: "simple",
storageClassType: "string",
},
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
display_name: {
value: cdktf.stringToHclTerraform(this._displayName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
enable_rbac: {
value: cdktf.booleanToHclTerraform(this._enableRbac),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enable_stackdriver_logging: {
value: cdktf.booleanToHclTerraform(this._enableStackdriverLogging),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enable_stackdriver_monitoring: {
value: cdktf.booleanToHclTerraform(this._enableStackdriverMonitoring),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
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",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
options: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._options),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
private_instance: {
value: cdktf.booleanToHclTerraform(this._privateInstance),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
project: {
value: cdktf.stringToHclTerraform(this._project),
isBlock: false,
type: "simple",
storageClassType: "string",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
isBlock: false,
type: "simple",
storageClassType: "string",
},
type: {
value: cdktf.stringToHclTerraform(this._type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
version: {
value: cdktf.stringToHclTerraform(this._version),
isBlock: false,
type: "simple",
storageClassType: "string",
},
zone: {
value: cdktf.stringToHclTerraform(this._zone),
isBlock: false,
type: "simple",
storageClassType: "string",
},
accelerators: {
value: cdktf.listMapperHcl(dataFusionInstanceAcceleratorsToHclTerraform, true)(this._accelerators.internalValue),
isBlock: true,
type: "list",
storageClassType: "DataFusionInstanceAcceleratorsList",
},
crypto_key_config: {
value: dataFusionInstanceCryptoKeyConfigToHclTerraform(this._cryptoKeyConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "DataFusionInstanceCryptoKeyConfigList",
},
event_publish_config: {
value: dataFusionInstanceEventPublishConfigToHclTerraform(this._eventPublishConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "DataFusionInstanceEventPublishConfigList",
},
network_config: {
value: dataFusionInstanceNetworkConfigToHclTerraform(this._networkConfig.internalValue),
isBlock: true,
type: "list",
storageClassType: "DataFusionInstanceNetworkConfigList",
},