UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

806 lines 122 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigConfigurationRecorder = exports.ConfigConfigurationRecorderRecordingModeOutputReference = exports.configConfigurationRecorderRecordingModeToHclTerraform = exports.configConfigurationRecorderRecordingModeToTerraform = exports.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference = exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform = exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform = exports.ConfigConfigurationRecorderRecordingGroupOutputReference = exports.configConfigurationRecorderRecordingGroupToHclTerraform = exports.configConfigurationRecorderRecordingGroupToTerraform = exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList = exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference = exports.configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform = exports.configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform = exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList = exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference = exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform = exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform(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 { resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes), }; } exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform = configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform; function configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform(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 = { resource_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform = configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform; class ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._resourceTypes !== undefined) { hasAnyValues = true; internalValueResult.resourceTypes = this._resourceTypes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._resourceTypes = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._resourceTypes = value.resourceTypes; } } get resourceTypes() { return cdktf.Fn.tolist(this.getListAttribute('resource_types')); } set resourceTypes(value) { this._resourceTypes = value; } resetResourceTypes() { this._resourceTypes = undefined; } // Temporarily expose input value. Use with caution. get resourceTypesInput() { return this._resourceTypes; } } exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference = ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference; _a = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference[_a] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference", version: "19.50.0" }; class ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList = ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList; _b = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList[_b] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList", version: "19.50.0" }; function configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform(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 { use_only: cdktf.stringToTerraform(struct.useOnly), }; } exports.configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform = configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform; function configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform(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 = { use_only: { value: cdktf.stringToHclTerraform(struct.useOnly), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform = configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform; class ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._useOnly !== undefined) { hasAnyValues = true; internalValueResult.useOnly = this._useOnly; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._useOnly = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._useOnly = value.useOnly; } } get useOnly() { return this.getStringAttribute('use_only'); } set useOnly(value) { this._useOnly = value; } resetUseOnly() { this._useOnly = undefined; } // Temporarily expose input value. Use with caution. get useOnlyInput() { return this._useOnly; } } exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference = ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference; _c = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference[_c] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference", version: "19.50.0" }; class ConfigConfigurationRecorderRecordingGroupRecordingStrategyList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList = ConfigConfigurationRecorderRecordingGroupRecordingStrategyList; _d = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingGroupRecordingStrategyList[_d] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList", version: "19.50.0" }; function configConfigurationRecorderRecordingGroupToTerraform(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 { all_supported: cdktf.booleanToTerraform(struct.allSupported), include_global_resource_types: cdktf.booleanToTerraform(struct.includeGlobalResourceTypes), resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes), exclusion_by_resource_types: cdktf.listMapper(configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform, true)(struct.exclusionByResourceTypes), recording_strategy: cdktf.listMapper(configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform, true)(struct.recordingStrategy), }; } exports.configConfigurationRecorderRecordingGroupToTerraform = configConfigurationRecorderRecordingGroupToTerraform; function configConfigurationRecorderRecordingGroupToHclTerraform(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 = { all_supported: { value: cdktf.booleanToHclTerraform(struct.allSupported), isBlock: false, type: "simple", storageClassType: "boolean", }, include_global_resource_types: { value: cdktf.booleanToHclTerraform(struct.includeGlobalResourceTypes), isBlock: false, type: "simple", storageClassType: "boolean", }, resource_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes), isBlock: false, type: "set", storageClassType: "stringList", }, exclusion_by_resource_types: { value: cdktf.listMapperHcl(configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform, true)(struct.exclusionByResourceTypes), isBlock: true, type: "list", storageClassType: "ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList", }, recording_strategy: { value: cdktf.listMapperHcl(configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform, true)(struct.recordingStrategy), isBlock: true, type: "list", storageClassType: "ConfigConfigurationRecorderRecordingGroupRecordingStrategyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.configConfigurationRecorderRecordingGroupToHclTerraform = configConfigurationRecorderRecordingGroupToHclTerraform; class ConfigConfigurationRecorderRecordingGroupOutputReference 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; // exclusion_by_resource_types - computed: false, optional: true, required: false this._exclusionByResourceTypes = new ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList(this, "exclusion_by_resource_types", false); // recording_strategy - computed: false, optional: true, required: false this._recordingStrategy = new ConfigConfigurationRecorderRecordingGroupRecordingStrategyList(this, "recording_strategy", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._allSupported !== undefined) { hasAnyValues = true; internalValueResult.allSupported = this._allSupported; } if (this._includeGlobalResourceTypes !== undefined) { hasAnyValues = true; internalValueResult.includeGlobalResourceTypes = this._includeGlobalResourceTypes; } if (this._resourceTypes !== undefined) { hasAnyValues = true; internalValueResult.resourceTypes = this._resourceTypes; } if (this._exclusionByResourceTypes?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.exclusionByResourceTypes = this._exclusionByResourceTypes?.internalValue; } if (this._recordingStrategy?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.recordingStrategy = this._recordingStrategy?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._allSupported = undefined; this._includeGlobalResourceTypes = undefined; this._resourceTypes = undefined; this._exclusionByResourceTypes.internalValue = undefined; this._recordingStrategy.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._allSupported = value.allSupported; this._includeGlobalResourceTypes = value.includeGlobalResourceTypes; this._resourceTypes = value.resourceTypes; this._exclusionByResourceTypes.internalValue = value.exclusionByResourceTypes; this._recordingStrategy.internalValue = value.recordingStrategy; } } get allSupported() { return this.getBooleanAttribute('all_supported'); } set allSupported(value) { this._allSupported = value; } resetAllSupported() { this._allSupported = undefined; } // Temporarily expose input value. Use with caution. get allSupportedInput() { return this._allSupported; } get includeGlobalResourceTypes() { return this.getBooleanAttribute('include_global_resource_types'); } set includeGlobalResourceTypes(value) { this._includeGlobalResourceTypes = value; } resetIncludeGlobalResourceTypes() { this._includeGlobalResourceTypes = undefined; } // Temporarily expose input value. Use with caution. get includeGlobalResourceTypesInput() { return this._includeGlobalResourceTypes; } get resourceTypes() { return cdktf.Fn.tolist(this.getListAttribute('resource_types')); } set resourceTypes(value) { this._resourceTypes = value; } resetResourceTypes() { this._resourceTypes = undefined; } // Temporarily expose input value. Use with caution. get resourceTypesInput() { return this._resourceTypes; } get exclusionByResourceTypes() { return this._exclusionByResourceTypes; } putExclusionByResourceTypes(value) { this._exclusionByResourceTypes.internalValue = value; } resetExclusionByResourceTypes() { this._exclusionByResourceTypes.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exclusionByResourceTypesInput() { return this._exclusionByResourceTypes.internalValue; } get recordingStrategy() { return this._recordingStrategy; } putRecordingStrategy(value) { this._recordingStrategy.internalValue = value; } resetRecordingStrategy() { this._recordingStrategy.internalValue = undefined; } // Temporarily expose input value. Use with caution. get recordingStrategyInput() { return this._recordingStrategy.internalValue; } } exports.ConfigConfigurationRecorderRecordingGroupOutputReference = ConfigConfigurationRecorderRecordingGroupOutputReference; _e = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingGroupOutputReference[_e] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupOutputReference", version: "19.50.0" }; function configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform(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 { description: cdktf.stringToTerraform(struct.description), recording_frequency: cdktf.stringToTerraform(struct.recordingFrequency), resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes), }; } exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform = configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform; function configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform(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 = { description: { value: cdktf.stringToHclTerraform(struct.description), isBlock: false, type: "simple", storageClassType: "string", }, recording_frequency: { value: cdktf.stringToHclTerraform(struct.recordingFrequency), isBlock: false, type: "simple", storageClassType: "string", }, resource_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform = configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform; class ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference 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._description !== undefined) { hasAnyValues = true; internalValueResult.description = this._description; } if (this._recordingFrequency !== undefined) { hasAnyValues = true; internalValueResult.recordingFrequency = this._recordingFrequency; } if (this._resourceTypes !== undefined) { hasAnyValues = true; internalValueResult.resourceTypes = this._resourceTypes; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._description = undefined; this._recordingFrequency = undefined; this._resourceTypes = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._description = value.description; this._recordingFrequency = value.recordingFrequency; this._resourceTypes = value.resourceTypes; } } 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 recordingFrequency() { return this.getStringAttribute('recording_frequency'); } set recordingFrequency(value) { this._recordingFrequency = value; } // Temporarily expose input value. Use with caution. get recordingFrequencyInput() { return this._recordingFrequency; } get resourceTypes() { return cdktf.Fn.tolist(this.getListAttribute('resource_types')); } set resourceTypes(value) { this._resourceTypes = value; } // Temporarily expose input value. Use with caution. get resourceTypesInput() { return this._resourceTypes; } } exports.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference = ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference; _f = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference[_f] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference", version: "19.50.0" }; function configConfigurationRecorderRecordingModeToTerraform(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 { recording_frequency: cdktf.stringToTerraform(struct.recordingFrequency), recording_mode_override: configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform(struct.recordingModeOverride), }; } exports.configConfigurationRecorderRecordingModeToTerraform = configConfigurationRecorderRecordingModeToTerraform; function configConfigurationRecorderRecordingModeToHclTerraform(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 = { recording_frequency: { value: cdktf.stringToHclTerraform(struct.recordingFrequency), isBlock: false, type: "simple", storageClassType: "string", }, recording_mode_override: { value: configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform(struct.recordingModeOverride), isBlock: true, type: "list", storageClassType: "ConfigConfigurationRecorderRecordingModeRecordingModeOverrideList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.configConfigurationRecorderRecordingModeToHclTerraform = configConfigurationRecorderRecordingModeToHclTerraform; class ConfigConfigurationRecorderRecordingModeOutputReference 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; // recording_mode_override - computed: false, optional: true, required: false this._recordingModeOverride = new ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference(this, "recording_mode_override"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._recordingFrequency !== undefined) { hasAnyValues = true; internalValueResult.recordingFrequency = this._recordingFrequency; } if (this._recordingModeOverride?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.recordingModeOverride = this._recordingModeOverride?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._recordingFrequency = undefined; this._recordingModeOverride.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._recordingFrequency = value.recordingFrequency; this._recordingModeOverride.internalValue = value.recordingModeOverride; } } get recordingFrequency() { return this.getStringAttribute('recording_frequency'); } set recordingFrequency(value) { this._recordingFrequency = value; } resetRecordingFrequency() { this._recordingFrequency = undefined; } // Temporarily expose input value. Use with caution. get recordingFrequencyInput() { return this._recordingFrequency; } get recordingModeOverride() { return this._recordingModeOverride; } putRecordingModeOverride(value) { this._recordingModeOverride.internalValue = value; } resetRecordingModeOverride() { this._recordingModeOverride.internalValue = undefined; } // Temporarily expose input value. Use with caution. get recordingModeOverrideInput() { return this._recordingModeOverride.internalValue; } } exports.ConfigConfigurationRecorderRecordingModeOutputReference = ConfigConfigurationRecorderRecordingModeOutputReference; _g = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorderRecordingModeOutputReference[_g] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingModeOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/config_configuration_recorder aws_config_configuration_recorder} */ class ConfigConfigurationRecorder extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ConfigConfigurationRecorder 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 ConfigConfigurationRecorder to import * @param importFromId The id of the existing ConfigConfigurationRecorder that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/config_configuration_recorder#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ConfigConfigurationRecorder to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_config_configuration_recorder", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/config_configuration_recorder aws_config_configuration_recorder} 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 ConfigConfigurationRecorderConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_config_configuration_recorder', 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 }); // recording_group - computed: false, optional: true, required: false this._recordingGroup = new ConfigConfigurationRecorderRecordingGroupOutputReference(this, "recording_group"); // recording_mode - computed: false, optional: true, required: false this._recordingMode = new ConfigConfigurationRecorderRecordingModeOutputReference(this, "recording_mode"); this._id = config.id; this._name = config.name; this._roleArn = config.roleArn; this._recordingGroup.internalValue = config.recordingGroup; this._recordingMode.internalValue = config.recordingMode; } 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; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get roleArn() { return this.getStringAttribute('role_arn'); } set roleArn(value) { this._roleArn = value; } // Temporarily expose input value. Use with caution. get roleArnInput() { return this._roleArn; } get recordingGroup() { return this._recordingGroup; } putRecordingGroup(value) { this._recordingGroup.internalValue = value; } resetRecordingGroup() { this._recordingGroup.internalValue = undefined; } // Temporarily expose input value. Use with caution. get recordingGroupInput() { return this._recordingGroup.internalValue; } get recordingMode() { return this._recordingMode; } putRecordingMode(value) { this._recordingMode.internalValue = value; } resetRecordingMode() { this._recordingMode.internalValue = undefined; } // Temporarily expose input value. Use with caution. get recordingModeInput() { return this._recordingMode.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), role_arn: cdktf.stringToTerraform(this._roleArn), recording_group: configConfigurationRecorderRecordingGroupToTerraform(this._recordingGroup.internalValue), recording_mode: configConfigurationRecorderRecordingModeToTerraform(this._recordingMode.internalValue), }; } synthesizeHclAttributes() { const attrs = { id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, role_arn: { value: cdktf.stringToHclTerraform(this._roleArn), isBlock: false, type: "simple", storageClassType: "string", }, recording_group: { value: configConfigurationRecorderRecordingGroupToHclTerraform(this._recordingGroup.internalValue), isBlock: true, type: "list", storageClassType: "ConfigConfigurationRecorderRecordingGroupList", }, recording_mode: { value: configConfigurationRecorderRecordingModeToHclTerraform(this._recordingMode.internalValue), isBlock: true, type: "list", storageClassType: "ConfigConfigurationRecorderRecordingModeList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.ConfigConfigurationRecorder = ConfigConfigurationRecorder; _h = JSII_RTTI_SYMBOL_1; ConfigConfigurationRecorder[_h] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorder", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= ConfigConfigurationRecorder.tfResourceType = "aws_config_configuration_recorder"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnLWNvbmZpZ3VyYXRpb24tcmVjb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwrQkFBK0I7QUF3Qy9CLFNBQWdCLDRFQUE0RSxDQUFDLE1BQThGO0lBQ3pMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztLQUN4RixDQUFBO0FBQ0gsQ0FBQztBQVJELG9LQVFDO0FBR0QsU0FBZ0IsK0VBQStFLENBQUMsTUFBOEY7SUFDNUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMs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