UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,276 lines (1,275 loc) 199 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.LakeformationPermissions = exports.LakeformationPermissionsTableWithColumnsOutputReference = exports.LakeformationPermissionsTableOutputReference = exports.LakeformationPermissionsLfTagPolicyOutputReference = exports.LakeformationPermissionsLfTagPolicyExpressionList = exports.LakeformationPermissionsLfTagPolicyExpressionOutputReference = exports.LakeformationPermissionsLfTagOutputReference = exports.LakeformationPermissionsDatabaseOutputReference = exports.LakeformationPermissionsDataLocationOutputReference = exports.LakeformationPermissionsDataCellsFilterOutputReference = void 0; exports.lakeformationPermissionsDataCellsFilterToTerraform = lakeformationPermissionsDataCellsFilterToTerraform; exports.lakeformationPermissionsDataCellsFilterToHclTerraform = lakeformationPermissionsDataCellsFilterToHclTerraform; exports.lakeformationPermissionsDataLocationToTerraform = lakeformationPermissionsDataLocationToTerraform; exports.lakeformationPermissionsDataLocationToHclTerraform = lakeformationPermissionsDataLocationToHclTerraform; exports.lakeformationPermissionsDatabaseToTerraform = lakeformationPermissionsDatabaseToTerraform; exports.lakeformationPermissionsDatabaseToHclTerraform = lakeformationPermissionsDatabaseToHclTerraform; exports.lakeformationPermissionsLfTagToTerraform = lakeformationPermissionsLfTagToTerraform; exports.lakeformationPermissionsLfTagToHclTerraform = lakeformationPermissionsLfTagToHclTerraform; exports.lakeformationPermissionsLfTagPolicyExpressionToTerraform = lakeformationPermissionsLfTagPolicyExpressionToTerraform; exports.lakeformationPermissionsLfTagPolicyExpressionToHclTerraform = lakeformationPermissionsLfTagPolicyExpressionToHclTerraform; exports.lakeformationPermissionsLfTagPolicyToTerraform = lakeformationPermissionsLfTagPolicyToTerraform; exports.lakeformationPermissionsLfTagPolicyToHclTerraform = lakeformationPermissionsLfTagPolicyToHclTerraform; exports.lakeformationPermissionsTableToTerraform = lakeformationPermissionsTableToTerraform; exports.lakeformationPermissionsTableToHclTerraform = lakeformationPermissionsTableToHclTerraform; exports.lakeformationPermissionsTableWithColumnsToTerraform = lakeformationPermissionsTableWithColumnsToTerraform; exports.lakeformationPermissionsTableWithColumnsToHclTerraform = lakeformationPermissionsTableWithColumnsToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function lakeformationPermissionsDataCellsFilterToTerraform(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_name: cdktf.stringToTerraform(struct.databaseName), name: cdktf.stringToTerraform(struct.name), table_catalog_id: cdktf.stringToTerraform(struct.tableCatalogId), table_name: cdktf.stringToTerraform(struct.tableName), }; } function lakeformationPermissionsDataCellsFilterToHclTerraform(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_name: { value: cdktf.stringToHclTerraform(struct.databaseName), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, table_catalog_id: { value: cdktf.stringToHclTerraform(struct.tableCatalogId), isBlock: false, type: "simple", storageClassType: "string", }, table_name: { value: cdktf.stringToHclTerraform(struct.tableName), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsDataCellsFilterOutputReference 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._databaseName !== undefined) { hasAnyValues = true; internalValueResult.databaseName = this._databaseName; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._tableCatalogId !== undefined) { hasAnyValues = true; internalValueResult.tableCatalogId = this._tableCatalogId; } if (this._tableName !== undefined) { hasAnyValues = true; internalValueResult.tableName = this._tableName; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._databaseName = undefined; this._name = undefined; this._tableCatalogId = undefined; this._tableName = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._databaseName = value.databaseName; this._name = value.name; this._tableCatalogId = value.tableCatalogId; this._tableName = value.tableName; } } get databaseName() { return this.getStringAttribute('database_name'); } set databaseName(value) { this._databaseName = value; } // Temporarily expose input value. Use with caution. get databaseNameInput() { return this._databaseName; } 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 tableCatalogId() { return this.getStringAttribute('table_catalog_id'); } set tableCatalogId(value) { this._tableCatalogId = value; } // Temporarily expose input value. Use with caution. get tableCatalogIdInput() { return this._tableCatalogId; } get tableName() { return this.getStringAttribute('table_name'); } set tableName(value) { this._tableName = value; } // Temporarily expose input value. Use with caution. get tableNameInput() { return this._tableName; } } exports.LakeformationPermissionsDataCellsFilterOutputReference = LakeformationPermissionsDataCellsFilterOutputReference; _a = JSII_RTTI_SYMBOL_1; LakeformationPermissionsDataCellsFilterOutputReference[_a] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsDataCellsFilterOutputReference", version: "21.22.1" }; function lakeformationPermissionsDataLocationToTerraform(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 { arn: cdktf.stringToTerraform(struct.arn), catalog_id: cdktf.stringToTerraform(struct.catalogId), }; } function lakeformationPermissionsDataLocationToHclTerraform(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 = { arn: { value: cdktf.stringToHclTerraform(struct.arn), isBlock: false, type: "simple", storageClassType: "string", }, catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsDataLocationOutputReference 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._arn !== undefined) { hasAnyValues = true; internalValueResult.arn = this._arn; } if (this._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._arn = undefined; this._catalogId = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._arn = value.arn; this._catalogId = value.catalogId; } } get arn() { return this.getStringAttribute('arn'); } set arn(value) { this._arn = value; } // Temporarily expose input value. Use with caution. get arnInput() { return this._arn; } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } } exports.LakeformationPermissionsDataLocationOutputReference = LakeformationPermissionsDataLocationOutputReference; _b = JSII_RTTI_SYMBOL_1; LakeformationPermissionsDataLocationOutputReference[_b] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsDataLocationOutputReference", version: "21.22.1" }; function lakeformationPermissionsDatabaseToTerraform(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 { catalog_id: cdktf.stringToTerraform(struct.catalogId), name: cdktf.stringToTerraform(struct.name), }; } function lakeformationPermissionsDatabaseToHclTerraform(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 = { catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsDatabaseOutputReference 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._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._catalogId = undefined; this._name = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._catalogId = value.catalogId; this._name = value.name; } } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } } exports.LakeformationPermissionsDatabaseOutputReference = LakeformationPermissionsDatabaseOutputReference; _c = JSII_RTTI_SYMBOL_1; LakeformationPermissionsDatabaseOutputReference[_c] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsDatabaseOutputReference", version: "21.22.1" }; function lakeformationPermissionsLfTagToTerraform(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 { catalog_id: cdktf.stringToTerraform(struct.catalogId), key: cdktf.stringToTerraform(struct.key), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function lakeformationPermissionsLfTagToHclTerraform(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 = { catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsLfTagOutputReference 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._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } if (this._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._catalogId = undefined; this._key = undefined; this._values = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._catalogId = value.catalogId; this._key = value.key; this._values = value.values; } } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.LakeformationPermissionsLfTagOutputReference = LakeformationPermissionsLfTagOutputReference; _d = JSII_RTTI_SYMBOL_1; LakeformationPermissionsLfTagOutputReference[_d] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsLfTagOutputReference", version: "21.22.1" }; function lakeformationPermissionsLfTagPolicyExpressionToTerraform(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: cdktf.stringToTerraform(struct.key), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } function lakeformationPermissionsLfTagPolicyExpressionToHclTerraform(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: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsLfTagPolicyExpressionOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._values = 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._key = value.key; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.LakeformationPermissionsLfTagPolicyExpressionOutputReference = LakeformationPermissionsLfTagPolicyExpressionOutputReference; _e = JSII_RTTI_SYMBOL_1; LakeformationPermissionsLfTagPolicyExpressionOutputReference[_e] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsLfTagPolicyExpressionOutputReference", version: "21.22.1" }; class LakeformationPermissionsLfTagPolicyExpressionList 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 LakeformationPermissionsLfTagPolicyExpressionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.LakeformationPermissionsLfTagPolicyExpressionList = LakeformationPermissionsLfTagPolicyExpressionList; _f = JSII_RTTI_SYMBOL_1; LakeformationPermissionsLfTagPolicyExpressionList[_f] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsLfTagPolicyExpressionList", version: "21.22.1" }; function lakeformationPermissionsLfTagPolicyToTerraform(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 { catalog_id: cdktf.stringToTerraform(struct.catalogId), resource_type: cdktf.stringToTerraform(struct.resourceType), expression: cdktf.listMapper(lakeformationPermissionsLfTagPolicyExpressionToTerraform, true)(struct.expression), }; } function lakeformationPermissionsLfTagPolicyToHclTerraform(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 = { catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, resource_type: { value: cdktf.stringToHclTerraform(struct.resourceType), isBlock: false, type: "simple", storageClassType: "string", }, expression: { value: cdktf.listMapperHcl(lakeformationPermissionsLfTagPolicyExpressionToHclTerraform, true)(struct.expression), isBlock: true, type: "set", storageClassType: "LakeformationPermissionsLfTagPolicyExpressionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsLfTagPolicyOutputReference 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; // expression - computed: false, optional: false, required: true this._expression = new LakeformationPermissionsLfTagPolicyExpressionList(this, "expression", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } if (this._resourceType !== undefined) { hasAnyValues = true; internalValueResult.resourceType = this._resourceType; } if (this._expression?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.expression = this._expression?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._catalogId = undefined; this._resourceType = undefined; this._expression.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._catalogId = value.catalogId; this._resourceType = value.resourceType; this._expression.internalValue = value.expression; } } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get resourceType() { return this.getStringAttribute('resource_type'); } set resourceType(value) { this._resourceType = value; } // Temporarily expose input value. Use with caution. get resourceTypeInput() { return this._resourceType; } get expression() { return this._expression; } putExpression(value) { this._expression.internalValue = value; } // Temporarily expose input value. Use with caution. get expressionInput() { return this._expression.internalValue; } } exports.LakeformationPermissionsLfTagPolicyOutputReference = LakeformationPermissionsLfTagPolicyOutputReference; _g = JSII_RTTI_SYMBOL_1; LakeformationPermissionsLfTagPolicyOutputReference[_g] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsLfTagPolicyOutputReference", version: "21.22.1" }; function lakeformationPermissionsTableToTerraform(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 { catalog_id: cdktf.stringToTerraform(struct.catalogId), database_name: cdktf.stringToTerraform(struct.databaseName), name: cdktf.stringToTerraform(struct.name), wildcard: cdktf.booleanToTerraform(struct.wildcard), }; } function lakeformationPermissionsTableToHclTerraform(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 = { catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, database_name: { value: cdktf.stringToHclTerraform(struct.databaseName), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, wildcard: { value: cdktf.booleanToHclTerraform(struct.wildcard), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsTableOutputReference 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._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } if (this._databaseName !== undefined) { hasAnyValues = true; internalValueResult.databaseName = this._databaseName; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._wildcard !== undefined) { hasAnyValues = true; internalValueResult.wildcard = this._wildcard; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._catalogId = undefined; this._databaseName = undefined; this._name = undefined; this._wildcard = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._catalogId = value.catalogId; this._databaseName = value.databaseName; this._name = value.name; this._wildcard = value.wildcard; } } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get databaseName() { return this.getStringAttribute('database_name'); } set databaseName(value) { this._databaseName = value; } // Temporarily expose input value. Use with caution. get databaseNameInput() { return this._databaseName; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get wildcard() { return this.getBooleanAttribute('wildcard'); } set wildcard(value) { this._wildcard = value; } resetWildcard() { this._wildcard = undefined; } // Temporarily expose input value. Use with caution. get wildcardInput() { return this._wildcard; } } exports.LakeformationPermissionsTableOutputReference = LakeformationPermissionsTableOutputReference; _h = JSII_RTTI_SYMBOL_1; LakeformationPermissionsTableOutputReference[_h] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsTableOutputReference", version: "21.22.1" }; function lakeformationPermissionsTableWithColumnsToTerraform(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 { catalog_id: cdktf.stringToTerraform(struct.catalogId), column_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.columnNames), database_name: cdktf.stringToTerraform(struct.databaseName), excluded_column_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.excludedColumnNames), name: cdktf.stringToTerraform(struct.name), wildcard: cdktf.booleanToTerraform(struct.wildcard), }; } function lakeformationPermissionsTableWithColumnsToHclTerraform(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 = { catalog_id: { value: cdktf.stringToHclTerraform(struct.catalogId), isBlock: false, type: "simple", storageClassType: "string", }, column_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.columnNames), isBlock: false, type: "set", storageClassType: "stringList", }, database_name: { value: cdktf.stringToHclTerraform(struct.databaseName), isBlock: false, type: "simple", storageClassType: "string", }, excluded_column_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.excludedColumnNames), isBlock: false, type: "set", storageClassType: "stringList", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, wildcard: { value: cdktf.booleanToHclTerraform(struct.wildcard), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class LakeformationPermissionsTableWithColumnsOutputReference 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._catalogId !== undefined) { hasAnyValues = true; internalValueResult.catalogId = this._catalogId; } if (this._columnNames !== undefined) { hasAnyValues = true; internalValueResult.columnNames = this._columnNames; } if (this._databaseName !== undefined) { hasAnyValues = true; internalValueResult.databaseName = this._databaseName; } if (this._excludedColumnNames !== undefined) { hasAnyValues = true; internalValueResult.excludedColumnNames = this._excludedColumnNames; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._wildcard !== undefined) { hasAnyValues = true; internalValueResult.wildcard = this._wildcard; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._catalogId = undefined; this._columnNames = undefined; this._databaseName = undefined; this._excludedColumnNames = undefined; this._name = undefined; this._wildcard = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._catalogId = value.catalogId; this._columnNames = value.columnNames; this._databaseName = value.databaseName; this._excludedColumnNames = value.excludedColumnNames; this._name = value.name; this._wildcard = value.wildcard; } } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get columnNames() { return cdktf.Fn.tolist(this.getListAttribute('column_names')); } set columnNames(value) { this._columnNames = value; } resetColumnNames() { this._columnNames = undefined; } // Temporarily expose input value. Use with caution. get columnNamesInput() { return this._columnNames; } get databaseName() { return this.getStringAttribute('database_name'); } set databaseName(value) { this._databaseName = value; } // Temporarily expose input value. Use with caution. get databaseNameInput() { return this._databaseName; } get excludedColumnNames() { return cdktf.Fn.tolist(this.getListAttribute('excluded_column_names')); } set excludedColumnNames(value) { this._excludedColumnNames = value; } resetExcludedColumnNames() { this._excludedColumnNames = undefined; } // Temporarily expose input value. Use with caution. get excludedColumnNamesInput() { return this._excludedColumnNames; } 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 wildcard() { return this.getBooleanAttribute('wildcard'); } set wildcard(value) { this._wildcard = value; } resetWildcard() { this._wildcard = undefined; } // Temporarily expose input value. Use with caution. get wildcardInput() { return this._wildcard; } } exports.LakeformationPermissionsTableWithColumnsOutputReference = LakeformationPermissionsTableWithColumnsOutputReference; _j = JSII_RTTI_SYMBOL_1; LakeformationPermissionsTableWithColumnsOutputReference[_j] = { fqn: "@cdktf/provider-aws.lakeformationPermissions.LakeformationPermissionsTableWithColumnsOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lakeformation_permissions aws_lakeformation_permissions} */ class LakeformationPermissions extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a LakeformationPermissions 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 LakeformationPermissions to import * @param importFromId The id of the existing LakeformationPermissions that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lakeformation_permissions#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LakeformationPermissions to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_lakeformation_permissions", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/lakeformation_permissions aws_lakeformation_permissions} 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 LakeformationPermissionsConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_lakeformation_permissions', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.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 }); // data_cells_filter - computed: false, optional: true, required: false this._dataCellsFilter = new LakeformationPermissionsDataCellsFilterOutputReference(this, "data_cells_filter"); // data_location - computed: false, optional: true, required: false this._dataLocation = new LakeformationPermissionsDataLocationOutputReference(this, "data_location"); // database - computed: false, optional: true, required: false this._database = new LakeformationPermissionsDatabaseOutputReference(this, "database"); // lf_tag - computed: false, optional: true, required: false this._lfTag = new LakeformationPermissionsLfTagOutputReference(this, "lf_tag"); // lf_tag_policy - computed: false, optional: true, required: false this._lfTagPolicy = new LakeformationPermissionsLfTagPolicyOutputReference(this, "lf_tag_policy"); // table - computed: false, optional: true, required: false this._table = new LakeformationPermissionsTableOutputReference(this, "table"); // table_with_columns - computed: false, optional: true, required: false this._tableWithColumns = new LakeformationPermissionsTableWithColumnsOutputReference(this, "table_with_columns"); this._catalogId = config.catalogId; this._catalogResource = config.catalogResource; this._id = config.id; this._permissions = config.permissions; this._permissionsWithGrantOption = config.permissionsWithGrantOption; this._principal = config.principal; this._region = config.region; this._dataCellsFilter.internalValue = config.dataCellsFilter; this._dataLocation.internalValue = config.dataLocation; this._database.internalValue = config.database; this._lfTag.internalValue = config.lfTag; this._lfTagPolicy.internalValue = config.lfTagPolicy; this._table.internalValue = config.table; this._tableWithColumns.internalValue = config.tableWithColumns; } get catalogId() { return this.getStringAttribute('catalog_id'); } set catalogId(value) { this._catalogId = value; } resetCatalogId() { this._catalogId = undefined; } // Temporarily expose input value. Use with caution. get catalogIdInput() { return this._catalogId; } get catalogResource() { return this.getBooleanAttribute('catalog_resource'); } set catalogResource(value) { this._catalogResource = value; } resetCatalogResource() { this._catalogResource = undefined; } // Temporarily expose input value. Use with caution. get catalogResourceInput() { return this._catalogResource; } 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 permissions() { return cdktf.Fn.tolist(this.getListAttribute('permissions')); } set permissions(value) { this._permissions = value; } // Temporarily expose input value. Use with caution. get permissionsInput() { return this._permissions; } get permissionsWithGrantOption() { return cdktf.Fn.tolist(this.getListAttribute('permissions_with_grant_option')); } set permissionsWithGrantOption(value) { this._permissionsWithGrantOption = value; } resetPermissionsWithGrantOption() { this._permissionsWithGrantOption = undefined; } // Temporarily expose input value. Use with caution. get permissionsWithGrantOptionInput() { return this._permissionsWithGrantOption; } get principal() { return this.getStringAttribute('principal'); } set principal(value) { this._principal = value; } // Temporarily expose input value. Use with caution. get principalInput() { return this._principal; } 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; } get dataCellsFilter() { return this._dataCellsFilter; } putDataCellsFilter(value) { this._dataCellsFilter.internalValue = value; } resetDataCellsFilter() { this._dataCellsFilter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dataCellsFilterInput() { return this._dataCellsFilter.internalValue; } get dataLocation() { return this._dataLocation; } putDataLocation(value) { this._dataLocation.internalValue = value; } resetDataLocation() { this._dataLocation.internalValue = undefined; } // Temporarily expose input value. Use with caution. get dataLocationInput() { return this._dataLocation.internalValue; } get database() { return this._database; } putDatabase(value) { this._database.internalValue = value; } resetDatabase() { this._database.internalValue = undefined; } // Temporarily expose input value. Use with caution. get databaseInput() { return this._database.internalValue; } get lfTag() { return this._lfTag; } putLfTag(value) { this._lfTag.internalValue = value; } resetLfTag() {