UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,215 lines 176 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.BigqueryAnalyticsHubListing = exports.BigqueryAnalyticsHubListingTimeoutsOutputReference = exports.BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference = exports.BigqueryAnalyticsHubListingPubsubTopicOutputReference = exports.BigqueryAnalyticsHubListingPublisherOutputReference = exports.BigqueryAnalyticsHubListingDataProviderOutputReference = exports.BigqueryAnalyticsHubListingBigqueryDatasetOutputReference = exports.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList = exports.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference = void 0; exports.bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToTerraform = bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToTerraform; exports.bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToHclTerraform = bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToHclTerraform; exports.bigqueryAnalyticsHubListingBigqueryDatasetToTerraform = bigqueryAnalyticsHubListingBigqueryDatasetToTerraform; exports.bigqueryAnalyticsHubListingBigqueryDatasetToHclTerraform = bigqueryAnalyticsHubListingBigqueryDatasetToHclTerraform; exports.bigqueryAnalyticsHubListingDataProviderToTerraform = bigqueryAnalyticsHubListingDataProviderToTerraform; exports.bigqueryAnalyticsHubListingDataProviderToHclTerraform = bigqueryAnalyticsHubListingDataProviderToHclTerraform; exports.bigqueryAnalyticsHubListingPublisherToTerraform = bigqueryAnalyticsHubListingPublisherToTerraform; exports.bigqueryAnalyticsHubListingPublisherToHclTerraform = bigqueryAnalyticsHubListingPublisherToHclTerraform; exports.bigqueryAnalyticsHubListingPubsubTopicToTerraform = bigqueryAnalyticsHubListingPubsubTopicToTerraform; exports.bigqueryAnalyticsHubListingPubsubTopicToHclTerraform = bigqueryAnalyticsHubListingPubsubTopicToHclTerraform; exports.bigqueryAnalyticsHubListingRestrictedExportConfigToTerraform = bigqueryAnalyticsHubListingRestrictedExportConfigToTerraform; exports.bigqueryAnalyticsHubListingRestrictedExportConfigToHclTerraform = bigqueryAnalyticsHubListingRestrictedExportConfigToHclTerraform; exports.bigqueryAnalyticsHubListingTimeoutsToTerraform = bigqueryAnalyticsHubListingTimeoutsToTerraform; exports.bigqueryAnalyticsHubListingTimeoutsToHclTerraform = bigqueryAnalyticsHubListingTimeoutsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToTerraform(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 { table: cdktf.stringToTerraform(struct.table), }; } function bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToHclTerraform(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 = { table: { value: cdktf.stringToHclTerraform(struct.table), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference 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._table !== undefined) { hasAnyValues = true; internalValueResult.table = this._table; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._table = 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._table = value.table; } } get table() { return this.getStringAttribute('table'); } set table(value) { this._table = value; } resetTable() { this._table = undefined; } // Temporarily expose input value. Use with caution. get tableInput() { return this._table; } } exports.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference = BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference; _a = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference[_a] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference", version: "16.3.0" }; class BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList 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 BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList = BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList; _b = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList[_b] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList", version: "16.3.0" }; function bigqueryAnalyticsHubListingBigqueryDatasetToTerraform(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 { dataset: cdktf.stringToTerraform(struct.dataset), selected_resources: cdktf.listMapper(bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToTerraform, true)(struct.selectedResources), }; } function bigqueryAnalyticsHubListingBigqueryDatasetToHclTerraform(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 = { dataset: { value: cdktf.stringToHclTerraform(struct.dataset), isBlock: false, type: "simple", storageClassType: "string", }, selected_resources: { value: cdktf.listMapperHcl(bigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesToHclTerraform, true)(struct.selectedResources), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BigqueryAnalyticsHubListingBigqueryDatasetOutputReference 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; // selected_resources - computed: false, optional: true, required: false this._selectedResources = new BigqueryAnalyticsHubListingBigqueryDatasetSelectedResourcesList(this, "selected_resources", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dataset !== undefined) { hasAnyValues = true; internalValueResult.dataset = this._dataset; } if (this._selectedResources?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.selectedResources = this._selectedResources?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dataset = undefined; this._selectedResources.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dataset = value.dataset; this._selectedResources.internalValue = value.selectedResources; } } get dataset() { return this.getStringAttribute('dataset'); } set dataset(value) { this._dataset = value; } // Temporarily expose input value. Use with caution. get datasetInput() { return this._dataset; } get selectedResources() { return this._selectedResources; } putSelectedResources(value) { this._selectedResources.internalValue = value; } resetSelectedResources() { this._selectedResources.internalValue = undefined; } // Temporarily expose input value. Use with caution. get selectedResourcesInput() { return this._selectedResources.internalValue; } } exports.BigqueryAnalyticsHubListingBigqueryDatasetOutputReference = BigqueryAnalyticsHubListingBigqueryDatasetOutputReference; _c = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingBigqueryDatasetOutputReference[_c] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingBigqueryDatasetOutputReference", version: "16.3.0" }; function bigqueryAnalyticsHubListingDataProviderToTerraform(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 { name: cdktf.stringToTerraform(struct.name), primary_contact: cdktf.stringToTerraform(struct.primaryContact), }; } function bigqueryAnalyticsHubListingDataProviderToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, primary_contact: { value: cdktf.stringToHclTerraform(struct.primaryContact), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BigqueryAnalyticsHubListingDataProviderOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._primaryContact !== undefined) { hasAnyValues = true; internalValueResult.primaryContact = this._primaryContact; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._primaryContact = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._primaryContact = value.primaryContact; } } 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 primaryContact() { return this.getStringAttribute('primary_contact'); } set primaryContact(value) { this._primaryContact = value; } resetPrimaryContact() { this._primaryContact = undefined; } // Temporarily expose input value. Use with caution. get primaryContactInput() { return this._primaryContact; } } exports.BigqueryAnalyticsHubListingDataProviderOutputReference = BigqueryAnalyticsHubListingDataProviderOutputReference; _d = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingDataProviderOutputReference[_d] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingDataProviderOutputReference", version: "16.3.0" }; function bigqueryAnalyticsHubListingPublisherToTerraform(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 { name: cdktf.stringToTerraform(struct.name), primary_contact: cdktf.stringToTerraform(struct.primaryContact), }; } function bigqueryAnalyticsHubListingPublisherToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, primary_contact: { value: cdktf.stringToHclTerraform(struct.primaryContact), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BigqueryAnalyticsHubListingPublisherOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._primaryContact !== undefined) { hasAnyValues = true; internalValueResult.primaryContact = this._primaryContact; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._name = undefined; this._primaryContact = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._name = value.name; this._primaryContact = value.primaryContact; } } 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 primaryContact() { return this.getStringAttribute('primary_contact'); } set primaryContact(value) { this._primaryContact = value; } resetPrimaryContact() { this._primaryContact = undefined; } // Temporarily expose input value. Use with caution. get primaryContactInput() { return this._primaryContact; } } exports.BigqueryAnalyticsHubListingPublisherOutputReference = BigqueryAnalyticsHubListingPublisherOutputReference; _e = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingPublisherOutputReference[_e] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingPublisherOutputReference", version: "16.3.0" }; function bigqueryAnalyticsHubListingPubsubTopicToTerraform(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 { data_affinity_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dataAffinityRegions), topic: cdktf.stringToTerraform(struct.topic), }; } function bigqueryAnalyticsHubListingPubsubTopicToHclTerraform(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 = { data_affinity_regions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dataAffinityRegions), isBlock: false, type: "set", storageClassType: "stringList", }, 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)); } class BigqueryAnalyticsHubListingPubsubTopicOutputReference 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._dataAffinityRegions !== undefined) { hasAnyValues = true; internalValueResult.dataAffinityRegions = this._dataAffinityRegions; } if (this._topic !== undefined) { hasAnyValues = true; internalValueResult.topic = this._topic; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dataAffinityRegions = undefined; this._topic = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dataAffinityRegions = value.dataAffinityRegions; this._topic = value.topic; } } get dataAffinityRegions() { return cdktf.Fn.tolist(this.getListAttribute('data_affinity_regions')); } set dataAffinityRegions(value) { this._dataAffinityRegions = value; } resetDataAffinityRegions() { this._dataAffinityRegions = undefined; } // Temporarily expose input value. Use with caution. get dataAffinityRegionsInput() { return this._dataAffinityRegions; } 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.BigqueryAnalyticsHubListingPubsubTopicOutputReference = BigqueryAnalyticsHubListingPubsubTopicOutputReference; _f = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingPubsubTopicOutputReference[_f] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingPubsubTopicOutputReference", version: "16.3.0" }; function bigqueryAnalyticsHubListingRestrictedExportConfigToTerraform(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), restrict_query_result: cdktf.booleanToTerraform(struct.restrictQueryResult), }; } function bigqueryAnalyticsHubListingRestrictedExportConfigToHclTerraform(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", }, restrict_query_result: { value: cdktf.booleanToHclTerraform(struct.restrictQueryResult), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference 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._restrictQueryResult !== undefined) { hasAnyValues = true; internalValueResult.restrictQueryResult = this._restrictQueryResult; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._enabled = undefined; this._restrictQueryResult = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._enabled = value.enabled; this._restrictQueryResult = value.restrictQueryResult; } } get enabled() { return this.getBooleanAttribute('enabled'); } set enabled(value) { this._enabled = value; } resetEnabled() { this._enabled = undefined; } // Temporarily expose input value. Use with caution. get enabledInput() { return this._enabled; } // restrict_direct_table_access - computed: true, optional: false, required: false get restrictDirectTableAccess() { return this.getBooleanAttribute('restrict_direct_table_access'); } get restrictQueryResult() { return this.getBooleanAttribute('restrict_query_result'); } set restrictQueryResult(value) { this._restrictQueryResult = value; } resetRestrictQueryResult() { this._restrictQueryResult = undefined; } // Temporarily expose input value. Use with caution. get restrictQueryResultInput() { return this._restrictQueryResult; } } exports.BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference = BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference; _g = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference[_g] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference", version: "16.3.0" }; function bigqueryAnalyticsHubListingTimeoutsToTerraform(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), }; } function bigqueryAnalyticsHubListingTimeoutsToHclTerraform(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)); } class BigqueryAnalyticsHubListingTimeoutsOutputReference 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.BigqueryAnalyticsHubListingTimeoutsOutputReference = BigqueryAnalyticsHubListingTimeoutsOutputReference; _h = JSII_RTTI_SYMBOL_1; BigqueryAnalyticsHubListingTimeoutsOutputReference[_h] = { fqn: "@cdktf/provider-google.bigqueryAnalyticsHubListing.BigqueryAnalyticsHubListingTimeoutsOutputReference", version: "16.3.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/bigquery_analytics_hub_listing google_bigquery_analytics_hub_listing} */ class BigqueryAnalyticsHubListing extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a BigqueryAnalyticsHubListing 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 BigqueryAnalyticsHubListing to import * @param importFromId The id of the existing BigqueryAnalyticsHubListing that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/bigquery_analytics_hub_listing#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BigqueryAnalyticsHubListing to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_bigquery_analytics_hub_listing", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/bigquery_analytics_hub_listing google_bigquery_analytics_hub_listing} 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 BigqueryAnalyticsHubListingConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'google_bigquery_analytics_hub_listing', terraformGeneratorMetadata: { providerName: 'google', providerVersion: '6.41.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 }); // bigquery_dataset - computed: false, optional: true, required: false this._bigqueryDataset = new BigqueryAnalyticsHubListingBigqueryDatasetOutputReference(this, "bigquery_dataset"); // data_provider - computed: false, optional: true, required: false this._dataProvider = new BigqueryAnalyticsHubListingDataProviderOutputReference(this, "data_provider"); // publisher - computed: false, optional: true, required: false this._publisher = new BigqueryAnalyticsHubListingPublisherOutputReference(this, "publisher"); // pubsub_topic - computed: false, optional: true, required: false this._pubsubTopic = new BigqueryAnalyticsHubListingPubsubTopicOutputReference(this, "pubsub_topic"); // restricted_export_config - computed: false, optional: true, required: false this._restrictedExportConfig = new BigqueryAnalyticsHubListingRestrictedExportConfigOutputReference(this, "restricted_export_config"); // timeouts - computed: false, optional: true, required: false this._timeouts = new BigqueryAnalyticsHubListingTimeoutsOutputReference(this, "timeouts"); this._categories = config.categories; this._dataExchangeId = config.dataExchangeId; this._description = config.description; this._displayName = config.displayName; this._documentation = config.documentation; this._icon = config.icon; this._id = config.id; this._listingId = config.listingId; this._location = config.location; this._logLinkedDatasetQueryUserEmail = config.logLinkedDatasetQueryUserEmail; this._primaryContact = config.primaryContact; this._project = config.project; this._requestAccess = config.requestAccess; this._bigqueryDataset.internalValue = config.bigqueryDataset; this._dataProvider.internalValue = config.dataProvider; this._publisher.internalValue = config.publisher; this._pubsubTopic.internalValue = config.pubsubTopic; this._restrictedExportConfig.internalValue = config.restrictedExportConfig; this._timeouts.internalValue = config.timeouts; } get categories() { return this.getListAttribute('categories'); } set categories(value) { this._categories = value; } resetCategories() { this._categories = undefined; } // Temporarily expose input value. Use with caution. get categoriesInput() { return this._categories; } get dataExchangeId() { return this.getStringAttribute('data_exchange_id'); } set dataExchangeId(value) { this._dataExchangeId = value; } // Temporarily expose input value. Use with caution. get dataExchangeIdInput() { return this._dataExchangeId; } 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; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } get documentation() { return this.getStringAttribute('documentation'); } set documentation(value) { this._documentation = value; } resetDocumentation() { this._documentation = undefined; } // Temporarily expose input value. Use with caution. get documentationInput() { return this._documentation; } get icon() { return this.getStringAttribute('icon'); } set icon(value) { this._icon = value; } resetIcon() { this._icon = undefined; } // Temporarily expose input value. Use with caution. get iconInput() { return this._icon; } 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 listingId() { return this.getStringAttribute('listing_id'); } set listingId(value) { this._listingId = value; } // Temporarily expose input value. Use with caution. get listingIdInput() { return this._listingId; } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get logLinkedDatasetQueryUserEmail() { return this.getBooleanAttribute('log_linked_dataset_query_user_email'); } set logLinkedDatasetQueryUserEmail(value) { this._logLinkedDatasetQueryUserEmail = value; } resetLogLinkedDatasetQueryUserEmail() { this._logLinkedDatasetQueryUserEmail = undefined; } // Temporarily expose input value. Use with caution. get logLinkedDatasetQueryUserEmailInput() { return this._logLinkedDatasetQueryUserEmail; } // name - computed: true, optional: false, required: false get name() { return this.getStringAttribute('name'); } get primaryContact() { return this.getStringAttribute('primary_contact'); } set primaryContact(value) { this._primaryContact = value; } resetPrimaryContact() { this._primaryContact = undefined; } // Temporarily expose input value. Use with caution. get primaryContactInput() { return this._primaryContact; } 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 requestAccess() { return this.getStringAttribute('request_access'); } set requestAccess(value) { this._requestAccess = value; } resetRequestAccess() { this._requestAccess = undefined; } // Temporarily expose input value. Use with caution. get requestAccessInput() { return this._requestAccess; } get bigqueryDataset() { return this._bigqueryDataset; } putBigqueryDataset(value) { this._bigqueryDataset.internalValue = value; } resetBigqueryDataset() { this._bigqueryDataset.internalValue = undefined; } // Temporarily expose input value. Use with caution. get bigqueryDatasetInput() { return this._bigqueryDataset.internalValue; } get dataProvider() { return this._dataProvider; } putDataProvider(value) { this._dataProvider.internalValue = value; } resetDataProvider() { this._dataProvider.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dataProviderInput() { return this._dataProvider.internalValue; } get publisher() { return this._publisher; } putPublisher(value) { this._publisher.internalValue = value; } resetPublisher() { this._publisher.internalValue = undefined; } // Temporarily expose input value. Use with caution. get publisherInput() { return this._publisher.internalValue; } get pubsubTopic() { return this._pubsubTopic; } putPubsubTopic(value) { this._pubsubTopic.internalValue = value; } resetPubsubTopic() { this._pubsubTopic.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pubsubTopicInput() { return this._pubsubTopic.internalValue; } get restrictedExportConfig() { return this._restrictedExportConfig; } putRestrictedExportConfig(value) { this._restrictedExportConfig.internalValue = value; } resetRestrictedExportConfig() { this._restrictedExportConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get restrictedExportConfigInput() { return this._restrictedExportConfig.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 { categories: cdktf.listMapper(cdktf.stringToTerraform, false)(this._categories), data_exchange_id: cdktf.stringToTerraform(this._dataExchangeId), description: cdktf.stringToTerraform(this._description), display_name: cdktf.stringToTerraform(this._displayName), documentation: cdktf.stringToTerraform(this._documentation), icon: cdktf.stringToTerraform(this._icon), id: cdktf.stringToTerraform(this._id), listing_id: cdktf.stringToTerraform(this._listingId), location: cdktf.stringToTerraform(this._location), log_linked_dataset_query_user_email: cdktf.booleanToTerraform(this._logLinkedDatasetQueryUserEmail), primary_contact: cdktf.stringToTerraform(this._primaryContact), project: cdktf.stringToTerraform(this._project), request_access: cdktf.stringToTerraform(this._requestAccess), bigquery_dataset: bigqueryAnalyticsHubListingBigqueryDatasetToTerraform(this._bigqueryDataset.internalValue), data_provider: bigqueryAnalyticsHubListingDataProviderToTerraform(this._dataProvider.internalValue), publisher: bigqueryAnalyticsHubListingPublisherToTerraform(this._publisher.internalValue), pubsub_topic: bigqueryAnalyticsHubListingPubsubTopicToTerraform(this._pubsubTopic.internalValue), restricted_export_config: bigqueryAnalyticsHubListingRestrictedExportConfigToTerraform(this._restrictedExportConfig.internalValue), timeouts: bigqueryAnalyticsHubListingTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { categories: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._categories), isBlock: false, type: "list", storageClassType: "stringList", }, data_exchange_id: { value: cdktf.stringToHclTerraform(this._dataExchangeId), 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", }, documentation: { value: cdktf.stringToHclTerraform(this._documentation), isBlock: false, type: "simple", storageClassType: "string", }, icon: { value: cdktf.stringToHclTerraform(this._icon), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, listing_id: { value: cdktf.stringToHclTerraform(this._listingId), isBlock: false, type: "simple", storageClassType: "string", }, location: { value: cdktf.stringToHclTerraform(this._location), isBlock: false, type: "simple", storageClassType: "string", }, log_linked_dataset_query_user_email: { value: cdktf.booleanToHclTerraform(this._logLinkedDatasetQueryUserEmail), isBlock: false, type: "simple", storageClassType: "boolean", }, primary_contact: { value: cdktf.stringToHclTerraform(this._primaryContact), isBlock: false, type: "simple", storageClassType: "string", }, project: { value: cdktf.stringToHclTerraform(this._project), isBlock: false, type: "simple", storageClassType: "string", }, request_access: { value: cdktf.stringToHclTerraform(this._requestAccess), isBlock: false, type: "simple", storageClassType: "string", }, bigquery_dataset: { value: bigqueryAnalyticsHubListingBigqueryDatasetToHclTerraform(this._bigqueryDataset.internalValue), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingBigqueryDatasetList", }, data_provider: { value: bigqueryAnalyticsHubListingDataProviderToHclTerraform(this._dataProvider.internalValue), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingDataProviderList", }, publisher: { value: bigqueryAnalyticsHubListingPublisherToHclTerraform(this._publisher.internalValue), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingPublisherList", }, pubsub_topic: { value: bigqueryAnalyticsHubListingPubsubTopicToHclTerraform(this._pubsubTopic.internalValue), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingPubsubTopicList", }, restricted_export_config: { value: bigqueryAnalyticsHubListingRestrictedExportConfigToHclTerraform(this._restrictedExportConfig.internalValue), isBlock: true, type: "list", storageClassType: "BigqueryAnalyticsHubListingRestrictedExportConfigList", }, timeouts: { value: bigqueryAnalyticsHubListingTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "BigqueryAnalyticsHubListingTimeouts", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.valu