@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,067 lines • 188 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AthenaWorkgroup = exports.AthenaWorkgroupConfigurationOutputReference = exports.AthenaWorkgroupConfigurationResultConfigurationOutputReference = exports.AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference = exports.AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference = exports.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference = exports.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference = exports.AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference = exports.AthenaWorkgroupConfigurationEngineVersionOutputReference = void 0;
exports.athenaWorkgroupConfigurationEngineVersionToTerraform = athenaWorkgroupConfigurationEngineVersionToTerraform;
exports.athenaWorkgroupConfigurationEngineVersionToHclTerraform = athenaWorkgroupConfigurationEngineVersionToHclTerraform;
exports.athenaWorkgroupConfigurationIdentityCenterConfigurationToTerraform = athenaWorkgroupConfigurationIdentityCenterConfigurationToTerraform;
exports.athenaWorkgroupConfigurationIdentityCenterConfigurationToHclTerraform = athenaWorkgroupConfigurationIdentityCenterConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToTerraform = athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToTerraform;
exports.athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToHclTerraform = athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationManagedQueryResultsConfigurationToTerraform = athenaWorkgroupConfigurationManagedQueryResultsConfigurationToTerraform;
exports.athenaWorkgroupConfigurationManagedQueryResultsConfigurationToHclTerraform = athenaWorkgroupConfigurationManagedQueryResultsConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationAclConfigurationToTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationAclConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationToTerraform = athenaWorkgroupConfigurationResultConfigurationToTerraform;
exports.athenaWorkgroupConfigurationResultConfigurationToHclTerraform = athenaWorkgroupConfigurationResultConfigurationToHclTerraform;
exports.athenaWorkgroupConfigurationToTerraform = athenaWorkgroupConfigurationToTerraform;
exports.athenaWorkgroupConfigurationToHclTerraform = athenaWorkgroupConfigurationToHclTerraform;
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),
};
}
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));
}
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: "21.22.1" };
function athenaWorkgroupConfigurationIdentityCenterConfigurationToTerraform(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 {
enable_identity_center: cdktf.booleanToTerraform(struct.enableIdentityCenter),
identity_center_instance_arn: cdktf.stringToTerraform(struct.identityCenterInstanceArn),
};
}
function athenaWorkgroupConfigurationIdentityCenterConfigurationToHclTerraform(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 = {
enable_identity_center: {
value: cdktf.booleanToHclTerraform(struct.enableIdentityCenter),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
identity_center_instance_arn: {
value: cdktf.stringToHclTerraform(struct.identityCenterInstanceArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference 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._enableIdentityCenter !== undefined) {
hasAnyValues = true;
internalValueResult.enableIdentityCenter = this._enableIdentityCenter;
}
if (this._identityCenterInstanceArn !== undefined) {
hasAnyValues = true;
internalValueResult.identityCenterInstanceArn = this._identityCenterInstanceArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enableIdentityCenter = undefined;
this._identityCenterInstanceArn = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enableIdentityCenter = value.enableIdentityCenter;
this._identityCenterInstanceArn = value.identityCenterInstanceArn;
}
}
get enableIdentityCenter() {
return this.getBooleanAttribute('enable_identity_center');
}
set enableIdentityCenter(value) {
this._enableIdentityCenter = value;
}
resetEnableIdentityCenter() {
this._enableIdentityCenter = undefined;
}
// Temporarily expose input value. Use with caution.
get enableIdentityCenterInput() {
return this._enableIdentityCenter;
}
get identityCenterInstanceArn() {
return this.getStringAttribute('identity_center_instance_arn');
}
set identityCenterInstanceArn(value) {
this._identityCenterInstanceArn = value;
}
resetIdentityCenterInstanceArn() {
this._identityCenterInstanceArn = undefined;
}
// Temporarily expose input value. Use with caution.
get identityCenterInstanceArnInput() {
return this._identityCenterInstanceArn;
}
}
exports.AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference = AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference[_b] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference", version: "21.22.1" };
function athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToTerraform(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 {
kms_key: cdktf.stringToTerraform(struct.kmsKey),
};
}
function athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToHclTerraform(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 = {
kms_key: {
value: cdktf.stringToHclTerraform(struct.kmsKey),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference 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._kmsKey !== undefined) {
hasAnyValues = true;
internalValueResult.kmsKey = this._kmsKey;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._kmsKey = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._kmsKey = value.kmsKey;
}
}
get kmsKey() {
return this.getStringAttribute('kms_key');
}
set kmsKey(value) {
this._kmsKey = value;
}
resetKmsKey() {
this._kmsKey = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyInput() {
return this._kmsKey;
}
}
exports.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference = AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" };
function athenaWorkgroupConfigurationManagedQueryResultsConfigurationToTerraform(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 {
enabled: cdktf.booleanToTerraform(struct.enabled),
encryption_configuration: athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToTerraform(struct.encryptionConfiguration),
};
}
function athenaWorkgroupConfigurationManagedQueryResultsConfigurationToHclTerraform(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 = {
enabled: {
value: cdktf.booleanToHclTerraform(struct.enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
encryption_configuration: {
value: athenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationToHclTerraform(struct.encryptionConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference 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;
// encryption_configuration - computed: false, optional: true, required: false
this._encryptionConfiguration = new AthenaWorkgroupConfigurationManagedQueryResultsConfigurationEncryptionConfigurationOutputReference(this, "encryption_configuration");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enabled !== undefined) {
hasAnyValues = true;
internalValueResult.enabled = this._enabled;
}
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._enabled = undefined;
this._encryptionConfiguration.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enabled = value.enabled;
this._encryptionConfiguration.internalValue = value.encryptionConfiguration;
}
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
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.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference = AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference;
_d = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference[_d] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference", version: "21.22.1" };
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),
};
}
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));
}
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;
_e = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationAclConfigurationOutputReference", version: "21.22.1" };
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),
};
}
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));
}
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;
_f = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference[_f] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationEncryptionConfigurationOutputReference", version: "21.22.1" };
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),
};
}
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));
}
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;
_g = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationResultConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationResultConfigurationOutputReference", version: "21.22.1" };
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),
identity_center_configuration: athenaWorkgroupConfigurationIdentityCenterConfigurationToTerraform(struct.identityCenterConfiguration),
managed_query_results_configuration: athenaWorkgroupConfigurationManagedQueryResultsConfigurationToTerraform(struct.managedQueryResultsConfiguration),
result_configuration: athenaWorkgroupConfigurationResultConfigurationToTerraform(struct.resultConfiguration),
};
}
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",
},
identity_center_configuration: {
value: athenaWorkgroupConfigurationIdentityCenterConfigurationToHclTerraform(struct.identityCenterConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationIdentityCenterConfigurationList",
},
managed_query_results_configuration: {
value: athenaWorkgroupConfigurationManagedQueryResultsConfigurationToHclTerraform(struct.managedQueryResultsConfiguration),
isBlock: true,
type: "list",
storageClassType: "AthenaWorkgroupConfigurationManagedQueryResultsConfigurationList",
},
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));
}
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");
// identity_center_configuration - computed: false, optional: true, required: false
this._identityCenterConfiguration = new AthenaWorkgroupConfigurationIdentityCenterConfigurationOutputReference(this, "identity_center_configuration");
// managed_query_results_configuration - computed: false, optional: true, required: false
this._managedQueryResultsConfiguration = new AthenaWorkgroupConfigurationManagedQueryResultsConfigurationOutputReference(this, "managed_query_results_configuration");
// 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._identityCenterConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.identityCenterConfiguration = this._identityCenterConfiguration?.internalValue;
}
if (this._managedQueryResultsConfiguration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.managedQueryResultsConfiguration = this._managedQueryResultsConfiguration?.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._identityCenterConfiguration.internalValue = undefined;
this._managedQueryResultsConfiguration.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._identityCenterConfiguration.internalValue = value.identityCenterConfiguration;
this._managedQueryResultsConfiguration.internalValue = value.managedQueryResultsConfiguration;
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 identityCenterConfiguration() {
return this._identityCenterConfiguration;
}
putIdentityCenterConfiguration(value) {
this._identityCenterConfiguration.internalValue = value;
}
resetIdentityCenterConfiguration() {
this._identityCenterConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get identityCenterConfigurationInput() {
return this._identityCenterConfiguration.internalValue;
}
get managedQueryResultsConfiguration() {
return this._managedQueryResultsConfiguration;
}
putManagedQueryResultsConfiguration(value) {
this._managedQueryResultsConfiguration.internalValue = value;
}
resetManagedQueryResultsConfiguration() {
this._managedQueryResultsConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get managedQueryResultsConfigurationInput() {
return this._managedQueryResultsConfiguration.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;
_h = JSII_RTTI_SYMBOL_1;
AthenaWorkgroupConfigurationOutputReference[_h] = { fqn: "@cdktf/provider-aws.athenaWorkgroup.AthenaWorkgroupConfigurationOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '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
});
// 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._region = config.region;
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