@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
895 lines • 131 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AthenaWorkgroup = exports.AthenaWorkgroupConfigurationOutputReference = exports.athenaWorkgroupConfigurationToHclTerraform = exports.athenaWorkgroupConfigurationToTerraform = exports.AthenaWorkgroupConfigurationResultConfigurationOutputReference = exports.athenaWorkgroupConfigurationResultConfigurationToHclTerraform = exports.athenaWorkgroupConfigurationResultConfigurationToTerraform = exports.AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference = exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform = exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform = exports.AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference = exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform = exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform = exports.AthenaWorkgroupConfigurationEngineVersionOutputReference = exports.athenaWorkgroupConfigurationEngineVersionToHclTerraform = exports.athenaWorkgroupConfigurationEngineVersionToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function athenaWorkgroupConfigurationEngineVersionToTerraform(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 {
selected_engine_version: cdktf.stringToTerraform(struct.selectedEngineVersion),
};
}
exports.athenaWorkgroupConfigurationEngineVersionToTerraform = athenaWorkgroupConfigurationEngineVersionToTerraform;
function athenaWorkgroupConfigurationEngineVersionToHclTerraform(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 = {
selected_engine_version: {
value: cdktf.stringToHclTerraform(struct.selectedEngineVersion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.athenaWorkgroupConfigurationEngineVersionToHclTerraform = athenaWorkgroupConfigurationEngineVersionToHclTerraform;
class AthenaWorkgroupConfigurationEngineVersionOutputReference 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._selectedEngineVersion !== undefined) {
hasAnyValues = true;
internalValueResult.selectedEngineVersion = this._selectedEngineVersion;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._selectedEngineVersion = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._selectedEngineVersion = value.selectedEngineVersion;
}
}
// effective_engine_version - computed: true, optional: false, required: false
get effectiveEngineVersion() {
return this.getStringAttribute('effective_engine_version');
}
get selectedEngineVersion() {
return this.getStringAttribute('selected_engine_version');
}
set selectedEngineVersion(value) {
this._selectedEngineVersion = value;
}
resetSelectedEngineVersion() {
this._selectedEngineVersion = undefined;
}
// Temporarily expose input value. Use with caution.
get selectedEngineVersionInput() {
return this._selectedEngineVersion;
}
}
exports.AthenaWorkgroupConfigurationEngineVersionOutputReference = AthenaWorkgroupConfigurationEngineVersionOutputReference;
_a = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationEngineVersionOutputReference[_a] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationEngineVersionOutputReference", version: "19.50.0" };
function athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform(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 {
s3_acl_option: cdktf.stringToTerraform(struct.s3AclOption),
};
}
exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform;
function athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform(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 = {
s3_acl_option: {
value: cdktf.stringToHclTerraform(struct.s3AclOption),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform;
class AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference 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._s3AclOption !== undefined) {
hasAnyValues = true;
internalValueResult.s3AclOption = this._s3AclOption;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._s3AclOption = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._s3AclOption = value.s3AclOption;
}
}
get s3AclOption() {
return this.getStringAttribute('s3_acl_option');
}
set s3AclOption(value) {
this._s3AclOption = value;
}
// Temporarily expose input value. Use with caution.
get s3AclOptionInput() {
return this._s3AclOption;
}
}
exports.AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference = AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference[_b] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference", version: "19.50.0" };
function athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform(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 {
encryption_option: cdktf.stringToTerraform(struct.encryptionOption),
kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn),
};
}
exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform;
function athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform(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 = {
encryption_option: {
value: cdktf.stringToHclTerraform(struct.encryptionOption),
isBlock: false,
type: "simple",
storageClassType: "string",
},
kms_key_arn: {
value: cdktf.stringToHclTerraform(struct.kmsKeyArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform;
class AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference 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._encryptionOption !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionOption = this._encryptionOption;
}
if (this._kmsKeyArn !== undefined) {
hasAnyValues = true;
internalValueResult.kmsKeyArn = this._kmsKeyArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._encryptionOption = undefined;
this._kmsKeyArn = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._encryptionOption = value.encryptionOption;
this._kmsKeyArn = value.kmsKeyArn;
}
}
get encryptionOption() {
return this.getStringAttribute('encryption_option');
}
set encryptionOption(value) {
this._encryptionOption = value;
}
resetEncryptionOption() {
this._encryptionOption = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionOptionInput() {
return this._encryptionOption;
}
get kmsKeyArn() {
return this.getStringAttribute('kms_key_arn');
}
set kmsKeyArn(value) {
this._kmsKeyArn = value;
}
resetKmsKeyArn() {
this._kmsKeyArn = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyArnInput() {
return this._kmsKeyArn;
}
}
exports.AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference = AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference", version: "19.50.0" };
function athenaWorkgroupConfigurationResultConfigurationToTerraform(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 {
expected_bucket_owner: cdktf.stringToTerraform(struct.expectedBucketOwner),
output_location: cdktf.stringToTerraform(struct.outputLocation),
acl_configuration: athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform(struct.aclConfiguration),
encryption_configuration: athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform(struct.encryptionConfiguration),
};
}
exports.athenaWorkgroupConfigurationResultConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationToTerraform;
function athenaWorkgroupConfigurationResultConfigurationToHclTerraform(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 = {
expected_bucket_owner: {
value: cdktf.stringToHclTerraform(struct.expectedBucketOwner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
output_location: {
value: cdktf.stringToHclTerraform(struct.outputLocation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
acl_configuration: {
value: athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform(struct.aclConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationResultConfigurationAclConfigurationList",
},
encryption_configuration: {
value: athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform(struct.encryptionConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.athenaWorkgroupConfigurationResultConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationToHclTerraform;
class AthenaWorkgroupConfigurationResultConfigurationOutputReference 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;
// acl_configuration - computed: false, optional: true, required: false
this._aclConfiguration = new AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference(this, "acl_configuration");
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference(this, "encryption_configuration");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._expectedBucketOwner !== undefined) {
hasAnyValues = true;
internalValueResult.expectedBucketOwner = this._expectedBucketOwner;
}
if (this._outputLocation !== undefined) {
hasAnyValues = true;
internalValueResult.outputLocation = this._outputLocation;
}
if (this._aclConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.aclConfiguration = this._aclConfiguration?.internalValue;
}
if (this._encryptionConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionConfiguration = this._encryptionConfiguration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._expectedBucketOwner = undefined;
this._outputLocation = undefined;
this._aclConfiguration.internalValue = undefined;
this._encryptionConfiguration.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._expectedBucketOwner = value.expectedBucketOwner;
this._outputLocation = value.outputLocation;
this._aclConfiguration.internalValue = value.aclConfiguration;
this._encryptionConfiguration.internalValue = value.encryptionConfiguration;
}
}
get expectedBucketOwner() {
return this.getStringAttribute('expected_bucket_owner');
}
set expectedBucketOwner(value) {
this._expectedBucketOwner = value;
}
resetExpectedBucketOwner() {
this._expectedBucketOwner = undefined;
}
// Temporarily expose input value. Use with caution.
get expectedBucketOwnerInput() {
return this._expectedBucketOwner;
}
get outputLocation() {
return this.getStringAttribute('output_location');
}
set outputLocation(value) {
this._outputLocation = value;
}
resetOutputLocation() {
this._outputLocation = undefined;
}
// Temporarily expose input value. Use with caution.
get outputLocationInput() {
return this._outputLocation;
}
get aclConfiguration() {
return this._aclConfiguration;
}
putAclConfiguration(value) {
this._aclConfiguration.internalValue = value;
}
resetAclConfiguration() {
this._aclConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get aclConfigurationInput() {
return this._aclConfiguration.internalValue;
}
get encryptionConfiguration() {
return this._encryptionConfiguration;
}
putEncryptionConfiguration(value) {
this._encryptionConfiguration.internalValue = value;
}
resetEncryptionConfiguration() {
this._encryptionConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionConfigurationInput() {
return this._encryptionConfiguration.internalValue;
}
}
exports.AthenaWorkgroupConfigurationResultConfigurationOutputReference = AthenaWorkgroupConfigurationResultConfigurationOutputReference;
_d = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationOutputReference[_d] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationOutputReference", version: "19.50.0" };
function athenaWorkgroupConfigurationToTerraform(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 {
bytes_scanned_cutoff_per_query: cdktf.numberToTerraform(struct.bytesScannedCutoffPerQuery),
enforce_workgroup_configuration: cdktf.booleanToTerraform(struct.enforceWorkgroupConfiguration),
execution_role: cdktf.stringToTerraform(struct.executionRole),
publish_cloudwatch_metrics_enabled: cdktf.booleanToTerraform(struct.publishCloudwatchMetricsEnabled),
requester_pays_enabled: cdktf.booleanToTerraform(struct.requesterPaysEnabled),
engine_version: athenaWorkgroupConfigurationEngineVersionToTerraform(struct.engineVersion),
result_configuration: athenaWorkgroupConfigurationResultConfigurationToTerraform(struct.resultConfiguration),
};
}
exports.athenaWorkgroupConfigurationToTerraform = athenaWorkgroupConfigurationToTerraform;
function athenaWorkgroupConfigurationToHclTerraform(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 = {
bytes_scanned_cutoff_per_query: {
value: cdktf.numberToHclTerraform(struct.bytesScannedCutoffPerQuery),
isBlock: false,
type: "simple",
storageClassType: "number",
},
enforce_workgroup_configuration: {
value: cdktf.booleanToHclTerraform(struct.enforceWorkgroupConfiguration),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
execution_role: {
value: cdktf.stringToHclTerraform(struct.executionRole),
isBlock: false,
type: "simple",
storageClassType: "string",
},
publish_cloudwatch_metrics_enabled: {
value: cdktf.booleanToHclTerraform(struct.publishCloudwatchMetricsEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
requester_pays_enabled: {
value: cdktf.booleanToHclTerraform(struct.requesterPaysEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
engine_version: {
value: athenaWorkgroupConfigurationEngineVersionToHclTerraform(struct.engineVersion),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationEngineVersionList",
},
result_configuration: {
value: athenaWorkgroupConfigurationResultConfigurationToHclTerraform(struct.resultConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationResultConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.athenaWorkgroupConfigurationToHclTerraform = athenaWorkgroupConfigurationToHclTerraform;
class AthenaWorkgroupConfigurationOutputReference 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;
// engine_version - computed: false, optional: true, required: false
this._engineVersion = new AthenaWorkgroupConfigurationEngineVersionOutputReference(this, "engine_version");
// result_configuration - computed: false, optional: true, required: false
this._resultConfiguration = new AthenaWorkgroupConfigurationResultConfigurationOutputReference(this, "result_configuration");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._bytesScannedCutoffPerQuery !== undefined) {
hasAnyValues = true;
internalValueResult.bytesScannedCutoffPerQuery = this._bytesScannedCutoffPerQuery;
}
if (this._enforceWorkgroupConfiguration !== undefined) {
hasAnyValues = true;
internalValueResult.enforceWorkgroupConfiguration = this._enforceWorkgroupConfiguration;
}
if (this._executionRole !== undefined) {
hasAnyValues = true;
internalValueResult.executionRole = this._executionRole;
}
if (this._publishCloudwatchMetricsEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.publishCloudwatchMetricsEnabled = this._publishCloudwatchMetricsEnabled;
}
if (this._requesterPaysEnabled !== undefined) {
hasAnyValues = true;
internalValueResult.requesterPaysEnabled = this._requesterPaysEnabled;
}
if (this._engineVersion?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.engineVersion = this._engineVersion?.internalValue;
}
if (this._resultConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.resultConfiguration = this._resultConfiguration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._bytesScannedCutoffPerQuery = undefined;
this._enforceWorkgroupConfiguration = undefined;
this._executionRole = undefined;
this._publishCloudwatchMetricsEnabled = undefined;
this._requesterPaysEnabled = undefined;
this._engineVersion.internalValue = undefined;
this._resultConfiguration.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._bytesScannedCutoffPerQuery = value.bytesScannedCutoffPerQuery;
this._enforceWorkgroupConfiguration = value.enforceWorkgroupConfiguration;
this._executionRole = value.executionRole;
this._publishCloudwatchMetricsEnabled = value.publishCloudwatchMetricsEnabled;
this._requesterPaysEnabled = value.requesterPaysEnabled;
this._engineVersion.internalValue = value.engineVersion;
this._resultConfiguration.internalValue = value.resultConfiguration;
}
}
get bytesScannedCutoffPerQuery() {
return this.getNumberAttribute('bytes_scanned_cutoff_per_query');
}
set bytesScannedCutoffPerQuery(value) {
this._bytesScannedCutoffPerQuery = value;
}
resetBytesScannedCutoffPerQuery() {
this._bytesScannedCutoffPerQuery = undefined;
}
// Temporarily expose input value. Use with caution.
get bytesScannedCutoffPerQueryInput() {
return this._bytesScannedCutoffPerQuery;
}
get enforceWorkgroupConfiguration() {
return this.getBooleanAttribute('enforce_workgroup_configuration');
}
set enforceWorkgroupConfiguration(value) {
this._enforceWorkgroupConfiguration = value;
}
resetEnforceWorkgroupConfiguration() {
this._enforceWorkgroupConfiguration = undefined;
}
// Temporarily expose input value. Use with caution.
get enforceWorkgroupConfigurationInput() {
return this._enforceWorkgroupConfiguration;
}
get executionRole() {
return this.getStringAttribute('execution_role');
}
set executionRole(value) {
this._executionRole = value;
}
resetExecutionRole() {
this._executionRole = undefined;
}
// Temporarily expose input value. Use with caution.
get executionRoleInput() {
return this._executionRole;
}
get publishCloudwatchMetricsEnabled() {
return this.getBooleanAttribute('publish_cloudwatch_metrics_enabled');
}
set publishCloudwatchMetricsEnabled(value) {
this._publishCloudwatchMetricsEnabled = value;
}
resetPublishCloudwatchMetricsEnabled() {
this._publishCloudwatchMetricsEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get publishCloudwatchMetricsEnabledInput() {
return this._publishCloudwatchMetricsEnabled;
}
get requesterPaysEnabled() {
return this.getBooleanAttribute('requester_pays_enabled');
}
set requesterPaysEnabled(value) {
this._requesterPaysEnabled = value;
}
resetRequesterPaysEnabled() {
this._requesterPaysEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get requesterPaysEnabledInput() {
return this._requesterPaysEnabled;
}
get engineVersion() {
return this._engineVersion;
}
putEngineVersion(value) {
this._engineVersion.internalValue = value;
}
resetEngineVersion() {
this._engineVersion.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get engineVersionInput() {
return this._engineVersion.internalValue;
}
get resultConfiguration() {
return this._resultConfiguration;
}
putResultConfiguration(value) {
this._resultConfiguration.internalValue = value;
}
resetResultConfiguration() {
this._resultConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get resultConfigurationInput() {
return this._resultConfiguration.internalValue;
}
}
exports.AthenaWorkgroupConfigurationOutputReference = AthenaWorkgroupConfigurationOutputReference;
_e = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/athena_workgroup aws_athena_workgroup}
*/
class AthenaWorkgroup extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a AthenaWorkgroup 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 AthenaWorkgroup to import
* @param importFromId The id of the existing AthenaWorkgroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/athena_workgroup#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the AthenaWorkgroup to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_athena_workgroup", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/athena_workgroup aws_athena_workgroup} 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 AthenaWorkgroupConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_athena_workgroup',
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
});
// configuration - computed: false, optional: true, required: false
this._configuration = new AthenaWorkgroupConfigurationOutputReference(this, "configuration");
this._description = config.description;
this._forceDestroy = config.forceDestroy;
this._id = config.id;
this._name = config.name;
this._state = config.state;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._configuration.internalValue = config.configuration;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get forceDestroy() {
return this.getBooleanAttribute('force_destroy');
}
set forceDestroy(value) {
this._forceDestroy = value;
}
resetForceDestroy() {
this._forceDestroy = undefined;
}
// Temporarily expose input value. Use with caution.
get forceDestroyInput() {
return this._forceDestroy;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get state() {
return this.getStringAttribute('state');
}
set state(value) {
this._state = value;
}
resetState() {
this._state = undefined;
}
// Temporarily expose input value. Use with caution.
get stateInput() {
return this._state;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get tagsAll() {
return this.getStringMapAttribute('tags_all');
}
set tagsAll(value) {
this._tagsAll = value;
}
resetTagsAll() {
this._tagsAll = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsAllInput() {
return this._tagsAll;
}
get configuration() {
return this._configuration;
}
putConfiguration(value) {
this._configuration.internalValue = value;
}
resetConfiguration() {
this._configuration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get configurationInput() {
return this._configuration.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
description: cdktf.stringToTerraform(this._description),
force_destroy: cdktf.booleanToTerraform(this._forceDestroy),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
state: cdktf.stringToTerraform(this._state),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
configuration: athenaWorkgroupConfigurationToTerraform(this._configuration.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
force_destroy: {
value: cdktf.booleanToHclTerraform(this._forceDestroy),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
state: {
value: cdktf.stringToHclTerraform(this._state),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tags_all: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
configuration: {
value: athenaWorkgroupConfigurationToHclTerraform(this._configuration.internalValue),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.AthenaWorkgroup = AthenaWorkgroup;
_f = JSII_RTTI_SYMBOL_1;
AthenaWorkgroup[_f] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroup", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
AthenaWorkgroup.tfResourceType = "aws_athena_workgroup";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXRoZW5hLXdvcmtncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQWtEL0IsU0FBZ0Isb0RBQW9ELENBQUMsTUFBNkc7SUFDaEwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMscUJBQXFCLENBQUM7S0FDaEYsQ0FBQTtBQUNILENBQUM7QUFSRCxvSEFRQztBQUdELFNBQWdCLHVEQUF1RCxDQUFDLE1BQTZHO0lBQ25MLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1osdUJBQXVCLEVBQUU7WUFDdkIsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMscUJBQXFCLENBQUM7WUFDaEUsT0FBTyxFQUFFLEtBQUs7WUFDZCxJ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