@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,238 lines • 197 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LakeformationPermissions = exports.LakeformationPermissionsTableWithColumnsOutputReference = exports.lakeformationPermissionsTableWithColumnsToHclTerraform = exports.lakeformationPermissionsTableWithColumnsToTerraform = exports.LakeformationPermissionsTableOutputReference = exports.lakeformationPermissionsTableToHclTerraform = exports.lakeformationPermissionsTableToTerraform = exports.LakeformationPermissionsLfTagPolicyOutputReference = exports.lakeformationPermissionsLfTagPolicyToHclTerraform = exports.lakeformationPermissionsLfTagPolicyToTerraform = exports.LakeformationPermissionsLfTagPolicyExpressionList = exports.LakeformationPermissionsLfTagPolicyExpressionOutputReference = exports.lakeformationPermissionsLfTagPolicyExpressionToHclTerraform = exports.lakeformationPermissionsLfTagPolicyExpressionToTerraform = exports.LakeformationPermissionsLfTagOutputReference = exports.lakeformationPermissionsLfTagToHclTerraform = exports.lakeformationPermissionsLfTagToTerraform = exports.LakeformationPermissionsDatabaseOutputReference = exports.lakeformationPermissionsDatabaseToHclTerraform = exports.lakeformationPermissionsDatabaseToTerraform = exports.LakeformationPermissionsDataLocationOutputReference = exports.lakeformationPermissionsDataLocationToHclTerraform = exports.lakeformationPermissionsDataLocationToTerraform = exports.LakeformationPermissionsDataCellsFilterOutputReference = exports.lakeformationPermissionsDataCellsFilterToHclTerraform = exports.lakeformationPermissionsDataCellsFilterToTerraform = void 0;
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),
};
}
exports.lakeformationPermissionsDataCellsFilterToTerraform = lakeformationPermissionsDataCellsFilterToTerraform;
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));
}
exports.lakeformationPermissionsDataCellsFilterToHclTerraform = lakeformationPermissionsDataCellsFilterToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsDataLocationToTerraform = lakeformationPermissionsDataLocationToTerraform;
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));
}
exports.lakeformationPermissionsDataLocationToHclTerraform = lakeformationPermissionsDataLocationToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsDatabaseToTerraform = lakeformationPermissionsDatabaseToTerraform;
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));
}
exports.lakeformationPermissionsDatabaseToHclTerraform = lakeformationPermissionsDatabaseToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsLfTagToTerraform = lakeformationPermissionsLfTagToTerraform;
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));
}
exports.lakeformationPermissionsLfTagToHclTerraform = lakeformationPermissionsLfTagToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsLfTagPolicyExpressionToTerraform = lakeformationPermissionsLfTagPolicyExpressionToTerraform;
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));
}
exports.lakeformationPermissionsLfTagPolicyExpressionToHclTerraform = lakeformationPermissionsLfTagPolicyExpressionToHclTerraform;
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: "19.50.0" };
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsLfTagPolicyToTerraform = lakeformationPermissionsLfTagPolicyToTerraform;
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));
}
exports.lakeformationPermissionsLfTagPolicyToHclTerraform = lakeformationPermissionsLfTagPolicyToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsTableToTerraform = lakeformationPermissionsTableToTerraform;
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));
}
exports.lakeformationPermissionsTableToHclTerraform = lakeformationPermissionsTableToHclTerraform;
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: "19.50.0" };
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),
};
}
exports.lakeformationPermissionsTableWithColumnsToTerraform = lakeformationPermissionsTableWithColumnsToTerraform;
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));
}
exports.lakeformationPermissionsTableWithColumnsToHclTerraform = lakeformationPermissionsTableWithColumnsToHclTerraform;
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: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '5.84.0',
providerVersionConstraint: '~> 5.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._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 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 val