@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,015 lines • 141 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigConfigRule = exports.ConfigConfigRuleSourceOutputReference = exports.ConfigConfigRuleSourceSourceDetailList = exports.ConfigConfigRuleSourceSourceDetailOutputReference = exports.ConfigConfigRuleSourceCustomPolicyDetailsOutputReference = exports.ConfigConfigRuleScopeOutputReference = exports.ConfigConfigRuleEvaluationModeList = exports.ConfigConfigRuleEvaluationModeOutputReference = void 0;
exports.configConfigRuleEvaluationModeToTerraform = configConfigRuleEvaluationModeToTerraform;
exports.configConfigRuleEvaluationModeToHclTerraform = configConfigRuleEvaluationModeToHclTerraform;
exports.configConfigRuleScopeToTerraform = configConfigRuleScopeToTerraform;
exports.configConfigRuleScopeToHclTerraform = configConfigRuleScopeToHclTerraform;
exports.configConfigRuleSourceCustomPolicyDetailsToTerraform = configConfigRuleSourceCustomPolicyDetailsToTerraform;
exports.configConfigRuleSourceCustomPolicyDetailsToHclTerraform = configConfigRuleSourceCustomPolicyDetailsToHclTerraform;
exports.configConfigRuleSourceSourceDetailToTerraform = configConfigRuleSourceSourceDetailToTerraform;
exports.configConfigRuleSourceSourceDetailToHclTerraform = configConfigRuleSourceSourceDetailToHclTerraform;
exports.configConfigRuleSourceToTerraform = configConfigRuleSourceToTerraform;
exports.configConfigRuleSourceToHclTerraform = configConfigRuleSourceToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function configConfigRuleEvaluationModeToTerraform(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 {
mode: cdktf.stringToTerraform(struct.mode),
};
}
function configConfigRuleEvaluationModeToHclTerraform(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 = {
mode: {
value: cdktf.stringToHclTerraform(struct.mode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigRuleEvaluationModeOutputReference 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._mode !== undefined) {
hasAnyValues = true;
internalValueResult.mode = this._mode;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._mode = 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._mode = value.mode;
}
}
get mode() {
return this.getStringAttribute('mode');
}
set mode(value) {
this._mode = value;
}
resetMode() {
this._mode = undefined;
}
// Temporarily expose input value. Use with caution.
get modeInput() {
return this._mode;
}
}
exports.ConfigConfigRuleEvaluationModeOutputReference = ConfigConfigRuleEvaluationModeOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleEvaluationModeOutputReference[_a] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleEvaluationModeOutputReference", version: "21.22.1" };
class ConfigConfigRuleEvaluationModeList 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 ConfigConfigRuleEvaluationModeOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ConfigConfigRuleEvaluationModeList = ConfigConfigRuleEvaluationModeList;
_b = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleEvaluationModeList[_b] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleEvaluationModeList", version: "21.22.1" };
function configConfigRuleScopeToTerraform(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 {
compliance_resource_id: cdktf.stringToTerraform(struct.complianceResourceId),
compliance_resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.complianceResourceTypes),
tag_key: cdktf.stringToTerraform(struct.tagKey),
tag_value: cdktf.stringToTerraform(struct.tagValue),
};
}
function configConfigRuleScopeToHclTerraform(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 = {
compliance_resource_id: {
value: cdktf.stringToHclTerraform(struct.complianceResourceId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
compliance_resource_types: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.complianceResourceTypes),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
tag_key: {
value: cdktf.stringToHclTerraform(struct.tagKey),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tag_value: {
value: cdktf.stringToHclTerraform(struct.tagValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigRuleScopeOutputReference 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._complianceResourceId !== undefined) {
hasAnyValues = true;
internalValueResult.complianceResourceId = this._complianceResourceId;
}
if (this._complianceResourceTypes !== undefined) {
hasAnyValues = true;
internalValueResult.complianceResourceTypes = this._complianceResourceTypes;
}
if (this._tagKey !== undefined) {
hasAnyValues = true;
internalValueResult.tagKey = this._tagKey;
}
if (this._tagValue !== undefined) {
hasAnyValues = true;
internalValueResult.tagValue = this._tagValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._complianceResourceId = undefined;
this._complianceResourceTypes = undefined;
this._tagKey = undefined;
this._tagValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._complianceResourceId = value.complianceResourceId;
this._complianceResourceTypes = value.complianceResourceTypes;
this._tagKey = value.tagKey;
this._tagValue = value.tagValue;
}
}
get complianceResourceId() {
return this.getStringAttribute('compliance_resource_id');
}
set complianceResourceId(value) {
this._complianceResourceId = value;
}
resetComplianceResourceId() {
this._complianceResourceId = undefined;
}
// Temporarily expose input value. Use with caution.
get complianceResourceIdInput() {
return this._complianceResourceId;
}
get complianceResourceTypes() {
return cdktf.Fn.tolist(this.getListAttribute('compliance_resource_types'));
}
set complianceResourceTypes(value) {
this._complianceResourceTypes = value;
}
resetComplianceResourceTypes() {
this._complianceResourceTypes = undefined;
}
// Temporarily expose input value. Use with caution.
get complianceResourceTypesInput() {
return this._complianceResourceTypes;
}
get tagKey() {
return this.getStringAttribute('tag_key');
}
set tagKey(value) {
this._tagKey = value;
}
resetTagKey() {
this._tagKey = undefined;
}
// Temporarily expose input value. Use with caution.
get tagKeyInput() {
return this._tagKey;
}
get tagValue() {
return this.getStringAttribute('tag_value');
}
set tagValue(value) {
this._tagValue = value;
}
resetTagValue() {
this._tagValue = undefined;
}
// Temporarily expose input value. Use with caution.
get tagValueInput() {
return this._tagValue;
}
}
exports.ConfigConfigRuleScopeOutputReference = ConfigConfigRuleScopeOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleScopeOutputReference[_c] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleScopeOutputReference", version: "21.22.1" };
function configConfigRuleSourceCustomPolicyDetailsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
enable_debug_log_delivery: cdktf.booleanToTerraform(struct.enableDebugLogDelivery),
policy_runtime: cdktf.stringToTerraform(struct.policyRuntime),
policy_text: cdktf.stringToTerraform(struct.policyText),
};
}
function configConfigRuleSourceCustomPolicyDetailsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
enable_debug_log_delivery: {
value: cdktf.booleanToHclTerraform(struct.enableDebugLogDelivery),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
policy_runtime: {
value: cdktf.stringToHclTerraform(struct.policyRuntime),
isBlock: false,
type: "simple",
storageClassType: "string",
},
policy_text: {
value: cdktf.stringToHclTerraform(struct.policyText),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigRuleSourceCustomPolicyDetailsOutputReference 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._enableDebugLogDelivery !== undefined) {
hasAnyValues = true;
internalValueResult.enableDebugLogDelivery = this._enableDebugLogDelivery;
}
if (this._policyRuntime !== undefined) {
hasAnyValues = true;
internalValueResult.policyRuntime = this._policyRuntime;
}
if (this._policyText !== undefined) {
hasAnyValues = true;
internalValueResult.policyText = this._policyText;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enableDebugLogDelivery = undefined;
this._policyRuntime = undefined;
this._policyText = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enableDebugLogDelivery = value.enableDebugLogDelivery;
this._policyRuntime = value.policyRuntime;
this._policyText = value.policyText;
}
}
get enableDebugLogDelivery() {
return this.getBooleanAttribute('enable_debug_log_delivery');
}
set enableDebugLogDelivery(value) {
this._enableDebugLogDelivery = value;
}
resetEnableDebugLogDelivery() {
this._enableDebugLogDelivery = undefined;
}
// Temporarily expose input value. Use with caution.
get enableDebugLogDeliveryInput() {
return this._enableDebugLogDelivery;
}
get policyRuntime() {
return this.getStringAttribute('policy_runtime');
}
set policyRuntime(value) {
this._policyRuntime = value;
}
// Temporarily expose input value. Use with caution.
get policyRuntimeInput() {
return this._policyRuntime;
}
get policyText() {
return this.getStringAttribute('policy_text');
}
set policyText(value) {
this._policyText = value;
}
// Temporarily expose input value. Use with caution.
get policyTextInput() {
return this._policyText;
}
}
exports.ConfigConfigRuleSourceCustomPolicyDetailsOutputReference = ConfigConfigRuleSourceCustomPolicyDetailsOutputReference;
_d = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleSourceCustomPolicyDetailsOutputReference[_d] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleSourceCustomPolicyDetailsOutputReference", version: "21.22.1" };
function configConfigRuleSourceSourceDetailToTerraform(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 {
event_source: cdktf.stringToTerraform(struct.eventSource),
maximum_execution_frequency: cdktf.stringToTerraform(struct.maximumExecutionFrequency),
message_type: cdktf.stringToTerraform(struct.messageType),
};
}
function configConfigRuleSourceSourceDetailToHclTerraform(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 = {
event_source: {
value: cdktf.stringToHclTerraform(struct.eventSource),
isBlock: false,
type: "simple",
storageClassType: "string",
},
maximum_execution_frequency: {
value: cdktf.stringToHclTerraform(struct.maximumExecutionFrequency),
isBlock: false,
type: "simple",
storageClassType: "string",
},
message_type: {
value: cdktf.stringToHclTerraform(struct.messageType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigRuleSourceSourceDetailOutputReference 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._eventSource !== undefined) {
hasAnyValues = true;
internalValueResult.eventSource = this._eventSource;
}
if (this._maximumExecutionFrequency !== undefined) {
hasAnyValues = true;
internalValueResult.maximumExecutionFrequency = this._maximumExecutionFrequency;
}
if (this._messageType !== undefined) {
hasAnyValues = true;
internalValueResult.messageType = this._messageType;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._eventSource = undefined;
this._maximumExecutionFrequency = undefined;
this._messageType = 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._eventSource = value.eventSource;
this._maximumExecutionFrequency = value.maximumExecutionFrequency;
this._messageType = value.messageType;
}
}
get eventSource() {
return this.getStringAttribute('event_source');
}
set eventSource(value) {
this._eventSource = value;
}
resetEventSource() {
this._eventSource = undefined;
}
// Temporarily expose input value. Use with caution.
get eventSourceInput() {
return this._eventSource;
}
get maximumExecutionFrequency() {
return this.getStringAttribute('maximum_execution_frequency');
}
set maximumExecutionFrequency(value) {
this._maximumExecutionFrequency = value;
}
resetMaximumExecutionFrequency() {
this._maximumExecutionFrequency = undefined;
}
// Temporarily expose input value. Use with caution.
get maximumExecutionFrequencyInput() {
return this._maximumExecutionFrequency;
}
get messageType() {
return this.getStringAttribute('message_type');
}
set messageType(value) {
this._messageType = value;
}
resetMessageType() {
this._messageType = undefined;
}
// Temporarily expose input value. Use with caution.
get messageTypeInput() {
return this._messageType;
}
}
exports.ConfigConfigRuleSourceSourceDetailOutputReference = ConfigConfigRuleSourceSourceDetailOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleSourceSourceDetailOutputReference[_e] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleSourceSourceDetailOutputReference", version: "21.22.1" };
class ConfigConfigRuleSourceSourceDetailList 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 ConfigConfigRuleSourceSourceDetailOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ConfigConfigRuleSourceSourceDetailList = ConfigConfigRuleSourceSourceDetailList;
_f = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleSourceSourceDetailList[_f] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleSourceSourceDetailList", version: "21.22.1" };
function configConfigRuleSourceToTerraform(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 {
owner: cdktf.stringToTerraform(struct.owner),
source_identifier: cdktf.stringToTerraform(struct.sourceIdentifier),
custom_policy_details: configConfigRuleSourceCustomPolicyDetailsToTerraform(struct.customPolicyDetails),
source_detail: cdktf.listMapper(configConfigRuleSourceSourceDetailToTerraform, true)(struct.sourceDetail),
};
}
function configConfigRuleSourceToHclTerraform(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 = {
owner: {
value: cdktf.stringToHclTerraform(struct.owner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
source_identifier: {
value: cdktf.stringToHclTerraform(struct.sourceIdentifier),
isBlock: false,
type: "simple",
storageClassType: "string",
},
custom_policy_details: {
value: configConfigRuleSourceCustomPolicyDetailsToHclTerraform(struct.customPolicyDetails),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigRuleSourceCustomPolicyDetailsList",
},
source_detail: {
value: cdktf.listMapperHcl(configConfigRuleSourceSourceDetailToHclTerraform, true)(struct.sourceDetail),
isBlock: true,
type: "set",
storageClassType: "ConfigConfigRuleSourceSourceDetailList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigRuleSourceOutputReference 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;
// custom_policy_details - computed: false, optional: true, required: false
this._customPolicyDetails = new ConfigConfigRuleSourceCustomPolicyDetailsOutputReference(this, "custom_policy_details");
// source_detail - computed: false, optional: true, required: false
this._sourceDetail = new ConfigConfigRuleSourceSourceDetailList(this, "source_detail", true);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._owner !== undefined) {
hasAnyValues = true;
internalValueResult.owner = this._owner;
}
if (this._sourceIdentifier !== undefined) {
hasAnyValues = true;
internalValueResult.sourceIdentifier = this._sourceIdentifier;
}
if (this._customPolicyDetails?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.customPolicyDetails = this._customPolicyDetails?.internalValue;
}
if (this._sourceDetail?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.sourceDetail = this._sourceDetail?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._owner = undefined;
this._sourceIdentifier = undefined;
this._customPolicyDetails.internalValue = undefined;
this._sourceDetail.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._owner = value.owner;
this._sourceIdentifier = value.sourceIdentifier;
this._customPolicyDetails.internalValue = value.customPolicyDetails;
this._sourceDetail.internalValue = value.sourceDetail;
}
}
get owner() {
return this.getStringAttribute('owner');
}
set owner(value) {
this._owner = value;
}
// Temporarily expose input value. Use with caution.
get ownerInput() {
return this._owner;
}
get sourceIdentifier() {
return this.getStringAttribute('source_identifier');
}
set sourceIdentifier(value) {
this._sourceIdentifier = value;
}
resetSourceIdentifier() {
this._sourceIdentifier = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceIdentifierInput() {
return this._sourceIdentifier;
}
get customPolicyDetails() {
return this._customPolicyDetails;
}
putCustomPolicyDetails(value) {
this._customPolicyDetails.internalValue = value;
}
resetCustomPolicyDetails() {
this._customPolicyDetails.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get customPolicyDetailsInput() {
return this._customPolicyDetails.internalValue;
}
get sourceDetail() {
return this._sourceDetail;
}
putSourceDetail(value) {
this._sourceDetail.internalValue = value;
}
resetSourceDetail() {
this._sourceDetail.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get sourceDetailInput() {
return this._sourceDetail.internalValue;
}
}
exports.ConfigConfigRuleSourceOutputReference = ConfigConfigRuleSourceOutputReference;
_g = JSII_RTTI_SYMBOL_1;
ConfigConfigRuleSourceOutputReference[_g] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRuleSourceOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_config_rule aws_config_config_rule}
*/
class ConfigConfigRule extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a ConfigConfigRule 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 ConfigConfigRule to import
* @param importFromId The id of the existing ConfigConfigRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_config_rule#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ConfigConfigRule to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_config_config_rule", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_config_rule aws_config_config_rule} 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 ConfigConfigRuleConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_config_config_rule',
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
});
// evaluation_mode - computed: false, optional: true, required: false
this._evaluationMode = new ConfigConfigRuleEvaluationModeList(this, "evaluation_mode", true);
// scope - computed: false, optional: true, required: false
this._scope = new ConfigConfigRuleScopeOutputReference(this, "scope");
// source - computed: false, optional: false, required: true
this._source = new ConfigConfigRuleSourceOutputReference(this, "source");
this._description = config.description;
this._id = config.id;
this._inputParameters = config.inputParameters;
this._maximumExecutionFrequency = config.maximumExecutionFrequency;
this._name = config.name;
this._region = config.region;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._evaluationMode.internalValue = config.evaluationMode;
this._scope.internalValue = config.scope;
this._source.internalValue = config.source;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get 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 inputParameters() {
return this.getStringAttribute('input_parameters');
}
set inputParameters(value) {
this._inputParameters = value;
}
resetInputParameters() {
this._inputParameters = undefined;
}
// Temporarily expose input value. Use with caution.
get inputParametersInput() {
return this._inputParameters;
}
get maximumExecutionFrequency() {
return this.getStringAttribute('maximum_execution_frequency');
}
set maximumExecutionFrequency(value) {
this._maximumExecutionFrequency = value;
}
resetMaximumExecutionFrequency() {
this._maximumExecutionFrequency = undefined;
}
// Temporarily expose input value. Use with caution.
get maximumExecutionFrequencyInput() {
return this._maximumExecutionFrequency;
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get 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;
}
// rule_id - computed: true, optional: false, required: false
get ruleId() {
return this.getStringAttribute('rule_id');
}
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 evaluationMode() {
return this._evaluationMode;
}
putEvaluationMode(value) {
this._evaluationMode.internalValue = value;
}
resetEvaluationMode() {
this._evaluationMode.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get evaluationModeInput() {
return this._evaluationMode.internalValue;
}
get scope() {
return this._scope;
}
putScope(value) {
this._scope.internalValue = value;
}
resetScope() {
this._scope.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get scopeInput() {
return this._scope.internalValue;
}
get source() {
return this._source;
}
putSource(value) {
this._source.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get sourceInput() {
return this._source.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
description: cdktf.stringToTerraform(this._description),
id: cdktf.stringToTerraform(this._id),
input_parameters: cdktf.stringToTerraform(this._inputParameters),
maximum_execution_frequency: cdktf.stringToTerraform(this._maximumExecutionFrequency),
name: cdktf.stringToTerraform(this._name),
region: cdktf.stringToTerraform(this._region),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
evaluation_mode: cdktf.listMapper(configConfigRuleEvaluationModeToTerraform, true)(this._evaluationMode.internalValue),
scope: configConfigRuleScopeToTerraform(this._scope.internalValue),
source: configConfigRuleSourceToTerraform(this._source.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
description: {
value: cdktf.stringToHclTerraform(this._description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
input_parameters: {
value: cdktf.stringToHclTerraform(this._inputParameters),
isBlock: false,
type: "simple",
storageClassType: "string",
},
maximum_execution_frequency: {
value: cdktf.stringToHclTerraform(this._maximumExecutionFrequency),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
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",
},
evaluation_mode: {
value: cdktf.listMapperHcl(configConfigRuleEvaluationModeToHclTerraform, true)(this._evaluationMode.internalValue),
isBlock: true,
type: "set",
storageClassType: "ConfigConfigRuleEvaluationModeList",
},
scope: {
value: configConfigRuleScopeToHclTerraform(this._scope.internalValue),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigRuleScopeList",
},
source: {
value: configConfigRuleSourceToHclTerraform(this._source.internalValue),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigRuleSourceList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.ConfigConfigRule = ConfigConfigRule;
_h = JSII_RTTI_SYMBOL_1;
ConfigConfigRule[_h] = { fqn: "@cdktf/provider-aws.configConfigRule.ConfigConfigRule", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
ConfigConfigRule.tfResourceType = "aws_config_config_rule";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnLWNvbmZpZy1ydWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUE2RUEsOEZBUUM7QUFHRCxvR0FnQkM7QUFxR0QsNEVBV0M7QUFHRCxrRkFrQ0M7QUFtSUQsb0hBVUM7QUFHRCwwSEE0QkM7QUF1R0Qsc0dBVUM7QUFHRCw0R0E0QkM7QUFxSkQsOEVBV0M7QUFHRCxvRkFrQ0M7O0FBcnZCRCwrQkFBK0I7QUFvRS9CLFNBQWdCLHlDQUF5QyxDQUFDLE1BQTJEO0lBQ25ILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUM7S0FDNUMsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw0Q0FBNEMsQ0FBQyxNQUEyRDtJQUN0SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUss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