UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

895 lines 131 kB
"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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