@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,243 lines • 197 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataAwsLakeformationPermissions = exports.DataAwsLakeformationPermissionsTableWithColumnsOutputReference = exports.DataAwsLakeformationPermissionsTableOutputReference = exports.DataAwsLakeformationPermissionsLfTagPolicyOutputReference = exports.DataAwsLakeformationPermissionsLfTagPolicyExpressionList = exports.DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference = exports.DataAwsLakeformationPermissionsLfTagOutputReference = exports.DataAwsLakeformationPermissionsDatabaseOutputReference = exports.DataAwsLakeformationPermissionsDataLocationOutputReference = exports.DataAwsLakeformationPermissionsDataCellsFilterOutputReference = void 0;
exports.dataAwsLakeformationPermissionsDataCellsFilterToTerraform = dataAwsLakeformationPermissionsDataCellsFilterToTerraform;
exports.dataAwsLakeformationPermissionsDataCellsFilterToHclTerraform = dataAwsLakeformationPermissionsDataCellsFilterToHclTerraform;
exports.dataAwsLakeformationPermissionsDataLocationToTerraform = dataAwsLakeformationPermissionsDataLocationToTerraform;
exports.dataAwsLakeformationPermissionsDataLocationToHclTerraform = dataAwsLakeformationPermissionsDataLocationToHclTerraform;
exports.dataAwsLakeformationPermissionsDatabaseToTerraform = dataAwsLakeformationPermissionsDatabaseToTerraform;
exports.dataAwsLakeformationPermissionsDatabaseToHclTerraform = dataAwsLakeformationPermissionsDatabaseToHclTerraform;
exports.dataAwsLakeformationPermissionsLfTagToTerraform = dataAwsLakeformationPermissionsLfTagToTerraform;
exports.dataAwsLakeformationPermissionsLfTagToHclTerraform = dataAwsLakeformationPermissionsLfTagToHclTerraform;
exports.dataAwsLakeformationPermissionsLfTagPolicyExpressionToTerraform = dataAwsLakeformationPermissionsLfTagPolicyExpressionToTerraform;
exports.dataAwsLakeformationPermissionsLfTagPolicyExpressionToHclTerraform = dataAwsLakeformationPermissionsLfTagPolicyExpressionToHclTerraform;
exports.dataAwsLakeformationPermissionsLfTagPolicyToTerraform = dataAwsLakeformationPermissionsLfTagPolicyToTerraform;
exports.dataAwsLakeformationPermissionsLfTagPolicyToHclTerraform = dataAwsLakeformationPermissionsLfTagPolicyToHclTerraform;
exports.dataAwsLakeformationPermissionsTableToTerraform = dataAwsLakeformationPermissionsTableToTerraform;
exports.dataAwsLakeformationPermissionsTableToHclTerraform = dataAwsLakeformationPermissionsTableToHclTerraform;
exports.dataAwsLakeformationPermissionsTableWithColumnsToTerraform = dataAwsLakeformationPermissionsTableWithColumnsToTerraform;
exports.dataAwsLakeformationPermissionsTableWithColumnsToHclTerraform = dataAwsLakeformationPermissionsTableWithColumnsToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function dataAwsLakeformationPermissionsDataCellsFilterToTerraform(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 dataAwsLakeformationPermissionsDataCellsFilterToHclTerraform(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 DataAwsLakeformationPermissionsDataCellsFilterOutputReference 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.DataAwsLakeformationPermissionsDataCellsFilterOutputReference = DataAwsLakeformationPermissionsDataCellsFilterOutputReference;
_a = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsDataCellsFilterOutputReference[_a] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsDataCellsFilterOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsDataLocationToTerraform(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 dataAwsLakeformationPermissionsDataLocationToHclTerraform(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 DataAwsLakeformationPermissionsDataLocationOutputReference 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.DataAwsLakeformationPermissionsDataLocationOutputReference = DataAwsLakeformationPermissionsDataLocationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsDataLocationOutputReference[_b] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsDataLocationOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsDatabaseToTerraform(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 dataAwsLakeformationPermissionsDatabaseToHclTerraform(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 DataAwsLakeformationPermissionsDatabaseOutputReference 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.DataAwsLakeformationPermissionsDatabaseOutputReference = DataAwsLakeformationPermissionsDatabaseOutputReference;
_c = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsDatabaseOutputReference[_c] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsDatabaseOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsLfTagToTerraform(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 dataAwsLakeformationPermissionsLfTagToHclTerraform(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 DataAwsLakeformationPermissionsLfTagOutputReference 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.DataAwsLakeformationPermissionsLfTagOutputReference = DataAwsLakeformationPermissionsLfTagOutputReference;
_d = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsLfTagOutputReference[_d] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsLfTagOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsLfTagPolicyExpressionToTerraform(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 dataAwsLakeformationPermissionsLfTagPolicyExpressionToHclTerraform(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 DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference 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.DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference = DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference;
_e = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference[_e] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference", version: "21.22.1" };
class DataAwsLakeformationPermissionsLfTagPolicyExpressionList 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 DataAwsLakeformationPermissionsLfTagPolicyExpressionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.DataAwsLakeformationPermissionsLfTagPolicyExpressionList = DataAwsLakeformationPermissionsLfTagPolicyExpressionList;
_f = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsLfTagPolicyExpressionList[_f] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsLfTagPolicyExpressionList", version: "21.22.1" };
function dataAwsLakeformationPermissionsLfTagPolicyToTerraform(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(dataAwsLakeformationPermissionsLfTagPolicyExpressionToTerraform, true)(struct.expression),
};
}
function dataAwsLakeformationPermissionsLfTagPolicyToHclTerraform(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(dataAwsLakeformationPermissionsLfTagPolicyExpressionToHclTerraform, true)(struct.expression),
isBlock: true,
type: "set",
storageClassType: "DataAwsLakeformationPermissionsLfTagPolicyExpressionList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class DataAwsLakeformationPermissionsLfTagPolicyOutputReference 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 DataAwsLakeformationPermissionsLfTagPolicyExpressionList(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.DataAwsLakeformationPermissionsLfTagPolicyOutputReference = DataAwsLakeformationPermissionsLfTagPolicyOutputReference;
_g = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsLfTagPolicyOutputReference[_g] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsLfTagPolicyOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsTableToTerraform(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 dataAwsLakeformationPermissionsTableToHclTerraform(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 DataAwsLakeformationPermissionsTableOutputReference 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.DataAwsLakeformationPermissionsTableOutputReference = DataAwsLakeformationPermissionsTableOutputReference;
_h = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsTableOutputReference[_h] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsTableOutputReference", version: "21.22.1" };
function dataAwsLakeformationPermissionsTableWithColumnsToTerraform(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 dataAwsLakeformationPermissionsTableWithColumnsToHclTerraform(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 DataAwsLakeformationPermissionsTableWithColumnsOutputReference 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.DataAwsLakeformationPermissionsTableWithColumnsOutputReference = DataAwsLakeformationPermissionsTableWithColumnsOutputReference;
_j = JSII_RTTI_SYMBOL_1;
DataAwsLakeformationPermissionsTableWithColumnsOutputReference[_j] = { fqn: "@cdktf/provider-aws.dataAwsLakeformationPermissions.DataAwsLakeformationPermissionsTableWithColumnsOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/lakeformation_permissions aws_lakeformation_permissions}
*/
class DataAwsLakeformationPermissions extends cdktf.TerraformDataSource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a DataAwsLakeformationPermissions 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 DataAwsLakeformationPermissions to import
* @param importFromId The id of the existing DataAwsLakeformationPermissions that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/data-sources/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 DataAwsLakeformationPermissions 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/data-sources/lakeformation_permissions aws_lakeformation_permissions} Data Source
*
* @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 DataAwsLakeformationPermissionsConfig
*/
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 DataAwsLakeformationPermissionsDataCellsFilterOutputReference(this, "data_cells_filter");
// data_location - computed: false, optional: true, required: false
this._dataLocation = new DataAwsLakeformationPermissionsDataLocationOutputReference(this, "data_location");
// database - computed: false, optional: true, required: false
this._database = new DataAwsLakeformationPermissionsDatabaseOutputReference(this, "database");
// lf_tag - computed: false, optional: true, required: false
this._lfTag = new DataAwsLakeformationPermissionsLfTagOutputReference(this, "lf_tag");
// lf_tag_policy - computed: false, optional: true, required: false
this._lfTagPolicy = new DataAwsLakeformationPermissionsLfTagPolicyOutputReference(this, "lf_tag_policy");
// table - computed: false, optional: true, required: false
this._table = new DataAwsLakeformationPermissionsTableOutputReference(this, "table");
// table_with_columns - computed: false, optional: true, required: false
this._tableWithColumns = new DataAwsLakeformationPermissionsTableWithColumnsOutputReference(this, "table_with_columns");
this._catalogId = config.catalogId;
this._catalogResource = config.catalogResource;
this._id = config.id;
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;
}
// permissions - computed: true, optional: false, required: false
get permissions() {
return this.getListAttribute('permissions');
}
// permissions_with_grant_option - computed: true, optional: false, required: false
get permissionsWithGrantOption() {
return this.getListAttribute('permissions_with_grant_option');
}
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