@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
962 lines • 143 kB
JavaScript
"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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