UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

1,248 lines 255 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatastreamConnectionProfile = exports.DatastreamConnectionProfileTimeoutsOutputReference = exports.datastreamConnectionProfileTimeoutsToHclTerraform = exports.datastreamConnectionProfileTimeoutsToTerraform = exports.DatastreamConnectionProfileSqlServerProfileOutputReference = exports.datastreamConnectionProfileSqlServerProfileToHclTerraform = exports.datastreamConnectionProfileSqlServerProfileToTerraform = exports.DatastreamConnectionProfilePrivateConnectivityOutputReference = exports.datastreamConnectionProfilePrivateConnectivityToHclTerraform = exports.datastreamConnectionProfilePrivateConnectivityToTerraform = exports.DatastreamConnectionProfilePostgresqlProfileOutputReference = exports.datastreamConnectionProfilePostgresqlProfileToHclTerraform = exports.datastreamConnectionProfilePostgresqlProfileToTerraform = exports.DatastreamConnectionProfileOracleProfileOutputReference = exports.datastreamConnectionProfileOracleProfileToHclTerraform = exports.datastreamConnectionProfileOracleProfileToTerraform = exports.DatastreamConnectionProfileMysqlProfileOutputReference = exports.datastreamConnectionProfileMysqlProfileToHclTerraform = exports.datastreamConnectionProfileMysqlProfileToTerraform = exports.DatastreamConnectionProfileMysqlProfileSslConfigOutputReference = exports.datastreamConnectionProfileMysqlProfileSslConfigToHclTerraform = exports.datastreamConnectionProfileMysqlProfileSslConfigToTerraform = exports.DatastreamConnectionProfileGcsProfileOutputReference = exports.datastreamConnectionProfileGcsProfileToHclTerraform = exports.datastreamConnectionProfileGcsProfileToTerraform = exports.DatastreamConnectionProfileForwardSshConnectivityOutputReference = exports.datastreamConnectionProfileForwardSshConnectivityToHclTerraform = exports.datastreamConnectionProfileForwardSshConnectivityToTerraform = exports.DatastreamConnectionProfileBigqueryProfileOutputReference = exports.datastreamConnectionProfileBigqueryProfileToHclTerraform = exports.datastreamConnectionProfileBigqueryProfileToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function datastreamConnectionProfileBigqueryProfileToTerraform(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.datastreamConnectionProfileBigqueryProfileToTerraform = datastreamConnectionProfileBigqueryProfileToTerraform; function datastreamConnectionProfileBigqueryProfileToHclTerraform(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.datastreamConnectionProfileBigqueryProfileToHclTerraform = datastreamConnectionProfileBigqueryProfileToHclTerraform; class DatastreamConnectionProfileBigqueryProfileOutputReference 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 = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } } exports.DatastreamConnectionProfileBigqueryProfileOutputReference = DatastreamConnectionProfileBigqueryProfileOutputReference; _a = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileBigqueryProfileOutputReference[_a] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileBigqueryProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfileForwardSshConnectivityToTerraform(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 { hostname: cdktf.stringToTerraform(struct.hostname), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), private_key: cdktf.stringToTerraform(struct.privateKey), username: cdktf.stringToTerraform(struct.username), }; } exports.datastreamConnectionProfileForwardSshConnectivityToTerraform = datastreamConnectionProfileForwardSshConnectivityToTerraform; function datastreamConnectionProfileForwardSshConnectivityToHclTerraform(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 = { hostname: { value: cdktf.stringToHclTerraform(struct.hostname), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, private_key: { value: cdktf.stringToHclTerraform(struct.privateKey), isBlock: false, type: "simple", storageClassType: "string", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileForwardSshConnectivityToHclTerraform = datastreamConnectionProfileForwardSshConnectivityToHclTerraform; class DatastreamConnectionProfileForwardSshConnectivityOutputReference 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._hostname !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._privateKey !== undefined) { hasAnyValues = true; internalValueResult.privateKey = this._privateKey; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._hostname = undefined; this._password = undefined; this._port = undefined; this._privateKey = undefined; this._username = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._hostname = value.hostname; this._password = value.password; this._port = value.port; this._privateKey = value.privateKey; this._username = value.username; } } get hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } resetPassword() { this._password = undefined; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get privateKey() { return this.getStringAttribute('private_key'); } set privateKey(value) { this._privateKey = value; } resetPrivateKey() { this._privateKey = undefined; } // Temporarily expose input value. Use with caution. get privateKeyInput() { return this._privateKey; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.DatastreamConnectionProfileForwardSshConnectivityOutputReference = DatastreamConnectionProfileForwardSshConnectivityOutputReference; _b = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileForwardSshConnectivityOutputReference[_b] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileForwardSshConnectivityOutputReference", version: "14.12.0" }; function datastreamConnectionProfileGcsProfileToTerraform(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 { bucket: cdktf.stringToTerraform(struct.bucket), root_path: cdktf.stringToTerraform(struct.rootPath), }; } exports.datastreamConnectionProfileGcsProfileToTerraform = datastreamConnectionProfileGcsProfileToTerraform; function datastreamConnectionProfileGcsProfileToHclTerraform(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 = { bucket: { value: cdktf.stringToHclTerraform(struct.bucket), isBlock: false, type: "simple", storageClassType: "string", }, root_path: { value: cdktf.stringToHclTerraform(struct.rootPath), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileGcsProfileToHclTerraform = datastreamConnectionProfileGcsProfileToHclTerraform; class DatastreamConnectionProfileGcsProfileOutputReference 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._bucket !== undefined) { hasAnyValues = true; internalValueResult.bucket = this._bucket; } if (this._rootPath !== undefined) { hasAnyValues = true; internalValueResult.rootPath = this._rootPath; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._bucket = undefined; this._rootPath = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._bucket = value.bucket; this._rootPath = value.rootPath; } } get bucket() { return this.getStringAttribute('bucket'); } set bucket(value) { this._bucket = value; } // Temporarily expose input value. Use with caution. get bucketInput() { return this._bucket; } get rootPath() { return this.getStringAttribute('root_path'); } set rootPath(value) { this._rootPath = value; } resetRootPath() { this._rootPath = undefined; } // Temporarily expose input value. Use with caution. get rootPathInput() { return this._rootPath; } } exports.DatastreamConnectionProfileGcsProfileOutputReference = DatastreamConnectionProfileGcsProfileOutputReference; _c = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileGcsProfileOutputReference[_c] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileGcsProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfileMysqlProfileSslConfigToTerraform(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 { ca_certificate: cdktf.stringToTerraform(struct.caCertificate), client_certificate: cdktf.stringToTerraform(struct.clientCertificate), client_key: cdktf.stringToTerraform(struct.clientKey), }; } exports.datastreamConnectionProfileMysqlProfileSslConfigToTerraform = datastreamConnectionProfileMysqlProfileSslConfigToTerraform; function datastreamConnectionProfileMysqlProfileSslConfigToHclTerraform(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 = { ca_certificate: { value: cdktf.stringToHclTerraform(struct.caCertificate), isBlock: false, type: "simple", storageClassType: "string", }, client_certificate: { value: cdktf.stringToHclTerraform(struct.clientCertificate), isBlock: false, type: "simple", storageClassType: "string", }, client_key: { value: cdktf.stringToHclTerraform(struct.clientKey), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileMysqlProfileSslConfigToHclTerraform = datastreamConnectionProfileMysqlProfileSslConfigToHclTerraform; class DatastreamConnectionProfileMysqlProfileSslConfigOutputReference 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._caCertificate !== undefined) { hasAnyValues = true; internalValueResult.caCertificate = this._caCertificate; } if (this._clientCertificate !== undefined) { hasAnyValues = true; internalValueResult.clientCertificate = this._clientCertificate; } if (this._clientKey !== undefined) { hasAnyValues = true; internalValueResult.clientKey = this._clientKey; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._caCertificate = undefined; this._clientCertificate = undefined; this._clientKey = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._caCertificate = value.caCertificate; this._clientCertificate = value.clientCertificate; this._clientKey = value.clientKey; } } get caCertificate() { return this.getStringAttribute('ca_certificate'); } set caCertificate(value) { this._caCertificate = value; } resetCaCertificate() { this._caCertificate = undefined; } // Temporarily expose input value. Use with caution. get caCertificateInput() { return this._caCertificate; } // ca_certificate_set - computed: true, optional: false, required: false get caCertificateSet() { return this.getBooleanAttribute('ca_certificate_set'); } get clientCertificate() { return this.getStringAttribute('client_certificate'); } set clientCertificate(value) { this._clientCertificate = value; } resetClientCertificate() { this._clientCertificate = undefined; } // Temporarily expose input value. Use with caution. get clientCertificateInput() { return this._clientCertificate; } // client_certificate_set - computed: true, optional: false, required: false get clientCertificateSet() { return this.getBooleanAttribute('client_certificate_set'); } get clientKey() { return this.getStringAttribute('client_key'); } set clientKey(value) { this._clientKey = value; } resetClientKey() { this._clientKey = undefined; } // Temporarily expose input value. Use with caution. get clientKeyInput() { return this._clientKey; } // client_key_set - computed: true, optional: false, required: false get clientKeySet() { return this.getBooleanAttribute('client_key_set'); } } exports.DatastreamConnectionProfileMysqlProfileSslConfigOutputReference = DatastreamConnectionProfileMysqlProfileSslConfigOutputReference; _d = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileMysqlProfileSslConfigOutputReference[_d] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileMysqlProfileSslConfigOutputReference", version: "14.12.0" }; function datastreamConnectionProfileMysqlProfileToTerraform(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 { hostname: cdktf.stringToTerraform(struct.hostname), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), username: cdktf.stringToTerraform(struct.username), ssl_config: datastreamConnectionProfileMysqlProfileSslConfigToTerraform(struct.sslConfig), }; } exports.datastreamConnectionProfileMysqlProfileToTerraform = datastreamConnectionProfileMysqlProfileToTerraform; function datastreamConnectionProfileMysqlProfileToHclTerraform(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 = { hostname: { value: cdktf.stringToHclTerraform(struct.hostname), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, ssl_config: { value: datastreamConnectionProfileMysqlProfileSslConfigToHclTerraform(struct.sslConfig), isBlock: true, type: "list", storageClassType: "DatastreamConnectionProfileMysqlProfileSslConfigList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileMysqlProfileToHclTerraform = datastreamConnectionProfileMysqlProfileToHclTerraform; class DatastreamConnectionProfileMysqlProfileOutputReference 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; // ssl_config - computed: false, optional: true, required: false this._sslConfig = new DatastreamConnectionProfileMysqlProfileSslConfigOutputReference(this, "ssl_config"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._hostname !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } if (this._sslConfig?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.sslConfig = this._sslConfig?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._hostname = undefined; this._password = undefined; this._port = undefined; this._username = undefined; this._sslConfig.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._hostname = value.hostname; this._password = value.password; this._port = value.port; this._username = value.username; this._sslConfig.internalValue = value.sslConfig; } } get hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } get sslConfig() { return this._sslConfig; } putSslConfig(value) { this._sslConfig.internalValue = value; } resetSslConfig() { this._sslConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sslConfigInput() { return this._sslConfig.internalValue; } } exports.DatastreamConnectionProfileMysqlProfileOutputReference = DatastreamConnectionProfileMysqlProfileOutputReference; _e = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileMysqlProfileOutputReference[_e] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileMysqlProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfileOracleProfileToTerraform(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_attributes: cdktf.hashMapper(cdktf.stringToTerraform)(struct.connectionAttributes), database_service: cdktf.stringToTerraform(struct.databaseService), hostname: cdktf.stringToTerraform(struct.hostname), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), username: cdktf.stringToTerraform(struct.username), }; } exports.datastreamConnectionProfileOracleProfileToTerraform = datastreamConnectionProfileOracleProfileToTerraform; function datastreamConnectionProfileOracleProfileToHclTerraform(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_attributes: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.connectionAttributes), isBlock: false, type: "map", storageClassType: "stringMap", }, database_service: { value: cdktf.stringToHclTerraform(struct.databaseService), isBlock: false, type: "simple", storageClassType: "string", }, hostname: { value: cdktf.stringToHclTerraform(struct.hostname), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileOracleProfileToHclTerraform = datastreamConnectionProfileOracleProfileToHclTerraform; class DatastreamConnectionProfileOracleProfileOutputReference 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._connectionAttributes !== undefined) { hasAnyValues = true; internalValueResult.connectionAttributes = this._connectionAttributes; } if (this._databaseService !== undefined) { hasAnyValues = true; internalValueResult.databaseService = this._databaseService; } if (this._hostname !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._connectionAttributes = undefined; this._databaseService = undefined; this._hostname = undefined; this._password = undefined; this._port = undefined; this._username = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._connectionAttributes = value.connectionAttributes; this._databaseService = value.databaseService; this._hostname = value.hostname; this._password = value.password; this._port = value.port; this._username = value.username; } } get connectionAttributes() { return this.getStringMapAttribute('connection_attributes'); } set connectionAttributes(value) { this._connectionAttributes = value; } resetConnectionAttributes() { this._connectionAttributes = undefined; } // Temporarily expose input value. Use with caution. get connectionAttributesInput() { return this._connectionAttributes; } get databaseService() { return this.getStringAttribute('database_service'); } set databaseService(value) { this._databaseService = value; } // Temporarily expose input value. Use with caution. get databaseServiceInput() { return this._databaseService; } get hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.DatastreamConnectionProfileOracleProfileOutputReference = DatastreamConnectionProfileOracleProfileOutputReference; _f = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileOracleProfileOutputReference[_f] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileOracleProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfilePostgresqlProfileToTerraform(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 { database: cdktf.stringToTerraform(struct.database), hostname: cdktf.stringToTerraform(struct.hostname), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), username: cdktf.stringToTerraform(struct.username), }; } exports.datastreamConnectionProfilePostgresqlProfileToTerraform = datastreamConnectionProfilePostgresqlProfileToTerraform; function datastreamConnectionProfilePostgresqlProfileToHclTerraform(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 = { database: { value: cdktf.stringToHclTerraform(struct.database), isBlock: false, type: "simple", storageClassType: "string", }, hostname: { value: cdktf.stringToHclTerraform(struct.hostname), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfilePostgresqlProfileToHclTerraform = datastreamConnectionProfilePostgresqlProfileToHclTerraform; class DatastreamConnectionProfilePostgresqlProfileOutputReference 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._database !== undefined) { hasAnyValues = true; internalValueResult.database = this._database; } if (this._hostname !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._database = undefined; this._hostname = undefined; this._password = undefined; this._port = undefined; this._username = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._database = value.database; this._hostname = value.hostname; this._password = value.password; this._port = value.port; this._username = value.username; } } get database() { return this.getStringAttribute('database'); } set database(value) { this._database = value; } // Temporarily expose input value. Use with caution. get databaseInput() { return this._database; } get hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.DatastreamConnectionProfilePostgresqlProfileOutputReference = DatastreamConnectionProfilePostgresqlProfileOutputReference; _g = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfilePostgresqlProfileOutputReference[_g] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfilePostgresqlProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfilePrivateConnectivityToTerraform(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 { private_connection: cdktf.stringToTerraform(struct.privateConnection), }; } exports.datastreamConnectionProfilePrivateConnectivityToTerraform = datastreamConnectionProfilePrivateConnectivityToTerraform; function datastreamConnectionProfilePrivateConnectivityToHclTerraform(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 = { private_connection: { value: cdktf.stringToHclTerraform(struct.privateConnection), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfilePrivateConnectivityToHclTerraform = datastreamConnectionProfilePrivateConnectivityToHclTerraform; class DatastreamConnectionProfilePrivateConnectivityOutputReference 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._privateConnection !== undefined) { hasAnyValues = true; internalValueResult.privateConnection = this._privateConnection; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._privateConnection = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._privateConnection = value.privateConnection; } } get privateConnection() { return this.getStringAttribute('private_connection'); } set privateConnection(value) { this._privateConnection = value; } // Temporarily expose input value. Use with caution. get privateConnectionInput() { return this._privateConnection; } } exports.DatastreamConnectionProfilePrivateConnectivityOutputReference = DatastreamConnectionProfilePrivateConnectivityOutputReference; _h = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfilePrivateConnectivityOutputReference[_h] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfilePrivateConnectivityOutputReference", version: "14.12.0" }; function datastreamConnectionProfileSqlServerProfileToTerraform(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 { database: cdktf.stringToTerraform(struct.database), hostname: cdktf.stringToTerraform(struct.hostname), password: cdktf.stringToTerraform(struct.password), port: cdktf.numberToTerraform(struct.port), username: cdktf.stringToTerraform(struct.username), }; } exports.datastreamConnectionProfileSqlServerProfileToTerraform = datastreamConnectionProfileSqlServerProfileToTerraform; function datastreamConnectionProfileSqlServerProfileToHclTerraform(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 = { database: { value: cdktf.stringToHclTerraform(struct.database), isBlock: false, type: "simple", storageClassType: "string", }, hostname: { value: cdktf.stringToHclTerraform(struct.hostname), isBlock: false, type: "simple", storageClassType: "string", }, password: { value: cdktf.stringToHclTerraform(struct.password), isBlock: false, type: "simple", storageClassType: "string", }, port: { value: cdktf.numberToHclTerraform(struct.port), isBlock: false, type: "simple", storageClassType: "number", }, username: { value: cdktf.stringToHclTerraform(struct.username), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.datastreamConnectionProfileSqlServerProfileToHclTerraform = datastreamConnectionProfileSqlServerProfileToHclTerraform; class DatastreamConnectionProfileSqlServerProfileOutputReference 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._database !== undefined) { hasAnyValues = true; internalValueResult.database = this._database; } if (this._hostname !== undefined) { hasAnyValues = true; internalValueResult.hostname = this._hostname; } if (this._password !== undefined) { hasAnyValues = true; internalValueResult.password = this._password; } if (this._port !== undefined) { hasAnyValues = true; internalValueResult.port = this._port; } if (this._username !== undefined) { hasAnyValues = true; internalValueResult.username = this._username; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._database = undefined; this._hostname = undefined; this._password = undefined; this._port = undefined; this._username = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._database = value.database; this._hostname = value.hostname; this._password = value.password; this._port = value.port; this._username = value.username; } } get database() { return this.getStringAttribute('database'); } set database(value) { this._database = value; } // Temporarily expose input value. Use with caution. get databaseInput() { return this._database; } get hostname() { return this.getStringAttribute('hostname'); } set hostname(value) { this._hostname = value; } // Temporarily expose input value. Use with caution. get hostnameInput() { return this._hostname; } get password() { return this.getStringAttribute('password'); } set password(value) { this._password = value; } // Temporarily expose input value. Use with caution. get passwordInput() { return this._password; } get port() { return this.getNumberAttribute('port'); } set port(value) { this._port = value; } resetPort() { this._port = undefined; } // Temporarily expose input value. Use with caution. get portInput() { return this._port; } get username() { return this.getStringAttribute('username'); } set username(value) { this._username = value; } // Temporarily expose input value. Use with caution. get usernameInput() { return this._username; } } exports.DatastreamConnectionProfileSqlServerProfileOutputReference = DatastreamConnectionProfileSqlServerProfileOutputReference; _j = JSII_RTTI_SYMBOL_1; DatastreamConnectionProfileSqlServerProfileOutputReference[_j] = { fqn: "@cdktf/provider-google.datastreamConnectionProfile.DatastreamConnectionProfileSqlServerProfileOutputReference", version: "14.12.0" }; function datastreamConnectionProfileTimeoutsToTerraform(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-objec