UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

962 lines 143 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k; Object.defineProperty(exports, "__esModule", { value: true }); exports.AccessanalyzerAnalyzer = exports.AccessanalyzerAnalyzerConfigurationOutputReference = exports.AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference = exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference = exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList = exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference = exports.AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference = exports.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference = exports.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList = exports.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference = void 0; exports.accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToTerraform = accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToTerraform; exports.accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToHclTerraform = accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToHclTerraform; exports.accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToTerraform = accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToTerraform; exports.accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToHclTerraform = accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToHclTerraform; exports.accessanalyzerAnalyzerConfigurationInternalAccessToTerraform = accessanalyzerAnalyzerConfigurationInternalAccessToTerraform; exports.accessanalyzerAnalyzerConfigurationInternalAccessToHclTerraform = accessanalyzerAnalyzerConfigurationInternalAccessToHclTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToHclTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToHclTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToHclTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToHclTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessToTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessToTerraform; exports.accessanalyzerAnalyzerConfigurationUnusedAccessToHclTerraform = accessanalyzerAnalyzerConfigurationUnusedAccessToHclTerraform; exports.accessanalyzerAnalyzerConfigurationToTerraform = accessanalyzerAnalyzerConfigurationToTerraform; exports.accessanalyzerAnalyzerConfigurationToHclTerraform = accessanalyzerAnalyzerConfigurationToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToTerraform(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 { account_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.accountIds), resource_arns: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceArns), resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes), }; } function accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToHclTerraform(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 = { account_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.accountIds), isBlock: false, type: "list", storageClassType: "stringList", }, resource_arns: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceArns), isBlock: false, type: "list", storageClassType: "stringList", }, resource_types: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference 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._accountIds !== undefined) { hasAnyValues = true; internalValueResult.accountIds = this._accountIds; } if (this._resourceArns !== undefined) { hasAnyValues = true; internalValueResult.resourceArns = this._resourceArns; } 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._accountIds = undefined; this._resourceArns = 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._accountIds = value.accountIds; this._resourceArns = value.resourceArns; this._resourceTypes = value.resourceTypes; } } get accountIds() { return this.getListAttribute('account_ids'); } set accountIds(value) { this._accountIds = value; } resetAccountIds() { this._accountIds = undefined; } // Temporarily expose input value. Use with caution. get accountIdsInput() { return this._accountIds; } get resourceArns() { return this.getListAttribute('resource_arns'); } set resourceArns(value) { this._resourceArns = value; } resetResourceArns() { this._resourceArns = undefined; } // Temporarily expose input value. Use with caution. get resourceArnsInput() { return this._resourceArns; } get resourceTypes() { return 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.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference = AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference; _a = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference[_a] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference", version: "21.22.1" }; class AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList 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 AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList = AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList; _b = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList[_b] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToTerraform(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 { inclusion: cdktf.listMapper(accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToTerraform, true)(struct.inclusion), }; } function accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToHclTerraform(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 = { inclusion: { value: cdktf.listMapperHcl(accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionToHclTerraform, true)(struct.inclusion), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference 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; // inclusion - computed: false, optional: true, required: false this._inclusion = new AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleInclusionList(this, "inclusion", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._inclusion?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.inclusion = this._inclusion?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._inclusion.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._inclusion.internalValue = value.inclusion; } } get inclusion() { return this._inclusion; } putInclusion(value) { this._inclusion.internalValue = value; } resetInclusion() { this._inclusion.internalValue = undefined; } // Temporarily expose input value. Use with caution. get inclusionInput() { return this._inclusion.internalValue; } } exports.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference = AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference; _c = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference[_c] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationInternalAccessToTerraform(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 { analysis_rule: accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToTerraform(struct.analysisRule), }; } function accessanalyzerAnalyzerConfigurationInternalAccessToHclTerraform(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 = { analysis_rule: { value: accessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleToHclTerraform(struct.analysisRule), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference 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; // analysis_rule - computed: false, optional: true, required: false this._analysisRule = new AccessanalyzerAnalyzerConfigurationInternalAccessAnalysisRuleOutputReference(this, "analysis_rule"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._analysisRule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.analysisRule = this._analysisRule?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._analysisRule.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._analysisRule.internalValue = value.analysisRule; } } get analysisRule() { return this._analysisRule; } putAnalysisRule(value) { this._analysisRule.internalValue = value; } resetAnalysisRule() { this._analysisRule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get analysisRuleInput() { return this._analysisRule.internalValue; } } exports.AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference = AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference; _d = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference[_d] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToTerraform(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 { account_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.accountIds), resource_tags: cdktf.listMapper(cdktf.hashMapper(cdktf.stringToTerraform), false)(struct.resourceTags), }; } function accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToHclTerraform(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 = { account_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.accountIds), isBlock: false, type: "list", storageClassType: "stringList", }, resource_tags: { value: cdktf.listMapperHcl(cdktf.hashMapperHcl(cdktf.stringToHclTerraform), false)(struct.resourceTags), isBlock: false, type: "list", storageClassType: "stringMapList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference 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._accountIds !== undefined) { hasAnyValues = true; internalValueResult.accountIds = this._accountIds; } if (this._resourceTags !== undefined) { hasAnyValues = true; internalValueResult.resourceTags = this._resourceTags; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._accountIds = undefined; this._resourceTags = 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._accountIds = value.accountIds; this._resourceTags = value.resourceTags; } } get accountIds() { return this.getListAttribute('account_ids'); } set accountIds(value) { this._accountIds = value; } resetAccountIds() { this._accountIds = undefined; } // Temporarily expose input value. Use with caution. get accountIdsInput() { return this._accountIds; } get resourceTags() { return this.interpolationForAttribute('resource_tags'); } set resourceTags(value) { this._resourceTags = value; } resetResourceTags() { this._resourceTags = undefined; } // Temporarily expose input value. Use with caution. get resourceTagsInput() { return this._resourceTags; } } exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference = AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference; _e = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference[_e] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference", version: "21.22.1" }; class AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList 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 AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList = AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList; _f = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList[_f] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToTerraform(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 { exclusion: cdktf.listMapper(accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToTerraform, true)(struct.exclusion), }; } function accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToHclTerraform(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 = { exclusion: { value: cdktf.listMapperHcl(accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionToHclTerraform, true)(struct.exclusion), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference 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 - computed: false, optional: true, required: false this._exclusion = new AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleExclusionList(this, "exclusion", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._exclusion?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.exclusion = this._exclusion?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._exclusion.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._exclusion.internalValue = value.exclusion; } } get exclusion() { return this._exclusion; } putExclusion(value) { this._exclusion.internalValue = value; } resetExclusion() { this._exclusion.internalValue = undefined; } // Temporarily expose input value. Use with caution. get exclusionInput() { return this._exclusion.internalValue; } } exports.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference = AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference; _g = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference[_g] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationUnusedAccessToTerraform(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 { unused_access_age: cdktf.numberToTerraform(struct.unusedAccessAge), analysis_rule: accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToTerraform(struct.analysisRule), }; } function accessanalyzerAnalyzerConfigurationUnusedAccessToHclTerraform(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 = { unused_access_age: { value: cdktf.numberToHclTerraform(struct.unusedAccessAge), isBlock: false, type: "simple", storageClassType: "number", }, analysis_rule: { value: accessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleToHclTerraform(struct.analysisRule), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference 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; // analysis_rule - computed: false, optional: true, required: false this._analysisRule = new AccessanalyzerAnalyzerConfigurationUnusedAccessAnalysisRuleOutputReference(this, "analysis_rule"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._unusedAccessAge !== undefined) { hasAnyValues = true; internalValueResult.unusedAccessAge = this._unusedAccessAge; } if (this._analysisRule?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.analysisRule = this._analysisRule?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._unusedAccessAge = undefined; this._analysisRule.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._unusedAccessAge = value.unusedAccessAge; this._analysisRule.internalValue = value.analysisRule; } } get unusedAccessAge() { return this.getNumberAttribute('unused_access_age'); } set unusedAccessAge(value) { this._unusedAccessAge = value; } resetUnusedAccessAge() { this._unusedAccessAge = undefined; } // Temporarily expose input value. Use with caution. get unusedAccessAgeInput() { return this._unusedAccessAge; } get analysisRule() { return this._analysisRule; } putAnalysisRule(value) { this._analysisRule.internalValue = value; } resetAnalysisRule() { this._analysisRule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get analysisRuleInput() { return this._analysisRule.internalValue; } } exports.AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference = AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference; _h = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference[_h] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference", version: "21.22.1" }; function accessanalyzerAnalyzerConfigurationToTerraform(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 { internal_access: accessanalyzerAnalyzerConfigurationInternalAccessToTerraform(struct.internalAccess), unused_access: accessanalyzerAnalyzerConfigurationUnusedAccessToTerraform(struct.unusedAccess), }; } function accessanalyzerAnalyzerConfigurationToHclTerraform(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 = { internal_access: { value: accessanalyzerAnalyzerConfigurationInternalAccessToHclTerraform(struct.internalAccess), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationInternalAccessList", }, unused_access: { value: accessanalyzerAnalyzerConfigurationUnusedAccessToHclTerraform(struct.unusedAccess), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationUnusedAccessList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class AccessanalyzerAnalyzerConfigurationOutputReference 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; // internal_access - computed: false, optional: true, required: false this._internalAccess = new AccessanalyzerAnalyzerConfigurationInternalAccessOutputReference(this, "internal_access"); // unused_access - computed: false, optional: true, required: false this._unusedAccess = new AccessanalyzerAnalyzerConfigurationUnusedAccessOutputReference(this, "unused_access"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._internalAccess?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.internalAccess = this._internalAccess?.internalValue; } if (this._unusedAccess?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.unusedAccess = this._unusedAccess?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._internalAccess.internalValue = undefined; this._unusedAccess.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._internalAccess.internalValue = value.internalAccess; this._unusedAccess.internalValue = value.unusedAccess; } } get internalAccess() { return this._internalAccess; } putInternalAccess(value) { this._internalAccess.internalValue = value; } resetInternalAccess() { this._internalAccess.internalValue = undefined; } // Temporarily expose input value. Use with caution. get internalAccessInput() { return this._internalAccess.internalValue; } get unusedAccess() { return this._unusedAccess; } putUnusedAccess(value) { this._unusedAccess.internalValue = value; } resetUnusedAccess() { this._unusedAccess.internalValue = undefined; } // Temporarily expose input value. Use with caution. get unusedAccessInput() { return this._unusedAccess.internalValue; } } exports.AccessanalyzerAnalyzerConfigurationOutputReference = AccessanalyzerAnalyzerConfigurationOutputReference; _j = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzerConfigurationOutputReference[_j] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzerConfigurationOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/accessanalyzer_analyzer aws_accessanalyzer_analyzer} */ class AccessanalyzerAnalyzer extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a AccessanalyzerAnalyzer 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 AccessanalyzerAnalyzer to import * @param importFromId The id of the existing AccessanalyzerAnalyzer that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/accessanalyzer_analyzer#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AccessanalyzerAnalyzer to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_accessanalyzer_analyzer", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/accessanalyzer_analyzer aws_accessanalyzer_analyzer} 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 AccessanalyzerAnalyzerConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_accessanalyzer_analyzer', 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 AccessanalyzerAnalyzerConfigurationOutputReference(this, "configuration"); this._analyzerName = config.analyzerName; this._id = config.id; this._region = config.region; this._tags = config.tags; this._tagsAll = config.tagsAll; this._type = config.type; this._configuration.internalValue = config.configuration; } get analyzerName() { return this.getStringAttribute('analyzer_name'); } set analyzerName(value) { this._analyzerName = value; } // Temporarily expose input value. Use with caution. get analyzerNameInput() { return this._analyzerName; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } 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 region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get 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 type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } 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 { analyzer_name: cdktf.stringToTerraform(this._analyzerName), id: cdktf.stringToTerraform(this._id), region: cdktf.stringToTerraform(this._region), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), type: cdktf.stringToTerraform(this._type), configuration: accessanalyzerAnalyzerConfigurationToTerraform(this._configuration.internalValue), }; } synthesizeHclAttributes() { const attrs = { analyzer_name: { value: cdktf.stringToHclTerraform(this._analyzerName), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, region: { value: cdktf.stringToHclTerraform(this._region), 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", }, type: { value: cdktf.stringToHclTerraform(this._type), isBlock: false, type: "simple", storageClassType: "string", }, configuration: { value: accessanalyzerAnalyzerConfigurationToHclTerraform(this._configuration.internalValue), isBlock: true, type: "list", storageClassType: "AccessanalyzerAnalyzerConfigurationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.AccessanalyzerAnalyzer = AccessanalyzerAnalyzer; _k = JSII_RTTI_SYMBOL_1; AccessanalyzerAnalyzer[_k] = { fqn: "@cdktf/provider-aws.accessanalyzerAnalyzer.AccessanalyzerAnalyzer", version: "21.22.1" }; // ================= // STATIC PROPERTIES // ================= AccessanalyzerAnalyzer.tfResourceType = "aws_accessanalyzer_analyzer"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjZXNzYW5hbHl6ZXItYW5hbHl6ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWlFQSw4S0FVQztBQUdELG9MQTRCQztBQXVJRCw0SkFRQztBQUdELGtLQWdCQztBQTJERCxvSUFRQztBQUdELDBJQWdCQztBQTZERCwwS0FTQztBQUdELGdMQXNCQztBQWlIRCx3SkFRQztBQUdELDhKQWdCQztBQStERCxnSUFTQztBQUdELHNJQXNCQztBQXVGRCx3R0FTQztBQUdELDhHQXNCQzs7QUE5eEJELCtCQUErQjtBQXdEL0IsU0FBZ0IsaUZBQWlGLENBQUMsTUFBbUc7SUFDbk0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1FBQ2pGLGFBQWEsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3JGLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsYUFBYSxDQUFDO0tBQ3hGLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FB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