UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

994 lines 138 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigConfigRule = exports.ConfigConfigRuleSourceOutputReference = exports.configConfigRuleSourceToHclTerraform = exports.configConfigRuleSourceToTerraform = exports.ConfigConfigRuleSourceSourceDetailList = exports.ConfigConfigRuleSourceSourceDetailOutputReference = exports.configConfigRuleSourceSourceDetailToHclTerraform = exports.configConfigRuleSourceSourceDetailToTerraform = exports.ConfigConfigRuleSourceCustomPolicyDetailsOutputReference = exports.configConfigRuleSourceCustomPolicyDetailsToHclTerraform = exports.configConfigRuleSourceCustomPolicyDetailsToTerraform = exports.ConfigConfigRuleScopeOutputReference = exports.configConfigRuleScopeToHclTerraform = exports.configConfigRuleScopeToTerraform = exports.ConfigConfigRuleEvaluationModeList = exports.ConfigConfigRuleEvaluationModeOutputReference = exports.configConfigRuleEvaluationModeToHclTerraform = exports.configConfigRuleEvaluationModeToTerraform = void 0; 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), }; } exports.configConfigRuleEvaluationModeToTerraform = configConfigRuleEvaluationModeToTerraform; 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)); } exports.configConfigRuleEvaluationModeToHclTerraform = configConfigRuleEvaluationModeToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.configConfigRuleScopeToTerraform = configConfigRuleScopeToTerraform; 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)); } exports.configConfigRuleScopeToHclTerraform = configConfigRuleScopeToHclTerraform; 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: "19.50.0" }; 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), }; } exports.configConfigRuleSourceCustomPolicyDetailsToTerraform = configConfigRuleSourceCustomPolicyDetailsToTerraform; 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)); } exports.configConfigRuleSourceCustomPolicyDetailsToHclTerraform = configConfigRuleSourceCustomPolicyDetailsToHclTerraform; 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: "19.50.0" }; 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), }; } exports.configConfigRuleSourceSourceDetailToTerraform = configConfigRuleSourceSourceDetailToTerraform; 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)); } exports.configConfigRuleSourceSourceDetailToHclTerraform = configConfigRuleSourceSourceDetailToHclTerraform; 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: "19.50.0" }; 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: "19.50.0" }; 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), }; } exports.configConfigRuleSourceToTerraform = configConfigRuleSourceToTerraform; 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)); } exports.configConfigRuleSourceToHclTerraform = configConfigRuleSourceToHclTerraform; 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: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.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/5.84.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/5.84.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: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // 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._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; } // 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), 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", }, 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: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= ConfigConfigRule.tfResourceType = "aws_config_config_rule"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnLWNvbmZpZy1ydWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBOEQvQixTQUFnQix5Q0FBeUMsQ0FBQyxNQUEyRDtJQUNuSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDO0tBQzVDLENBQUE7QUFDSCxDQUFDO0FBUkQsOEZBUUM7QUFHRCxTQUFnQiw0Q0FBNEMsQ0FBQyxNQUEyRDtJQUN0SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztZQUMvQyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFoQkQsb0dBZ0JDO0FBRUQsTUFBYSw2Q0FBOEMsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUlwRjs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2SixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVZuRixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVc5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXFFO1FBQzVGLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7YUFDSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ00sU0FBUztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOztBQTFESCxzR0EyREM7OztBQUVELE1BQWEsa0NBQW1DLFNBQVEsS0FBSyxDQUFDLFdBQVc7SUFHdkU7Ozs7TUFJRTtJQUNGLFlBQXNCLGlCQUE2QyxFQUFZLGtCQUEwQixFQUFZLFFBQWlCO1FBQ3BJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQVksdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUV0SSxDQUFDO0lBRUQ7O01BRUU7SUFDSyxHQUFHLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUksNkNBQTZDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xJLENBQUM7O0FBakJILGdGQWtCQzs7O0FBb0JELFNBQWdCLGdDQUFnQyxDQUFDLE1BQXFFO0lBQ3BILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLG9CQUFvQixDQUFDO1FBQzdFLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUIsQ0FBQztRQUM1RyxPQUFPLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEQsU0FBUyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsUUFBUSxDQUFDO0tBQ3JELENBQUE7QUFDSCxDQUFDO0FBWEQsNEVBV0M7QUFHRCxTQUFnQixtQ0FBbUMsQ0FBQyxNQUFxRTtJQUN2SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLHNCQUFzQixFQUFFO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLG9CQUFvQixDQUFDO1lBQy9ELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0QseUJBQXlCLEVBQUU7WUFDekIsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUIsQ0FBQztZQUM5RixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsZ0JBQWdCLEVBQUUsWUFBWTtTQUMvQjtRQUNELE9BQU8sRUFBRTtZQUNQLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFsQ0Qsa0ZBa0NDO0FBRUQsTUFBYSxvQ0FBcUMsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUczRTs7O01BR0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEI7UUFDMUYsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQVBqRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMscUJBQXFCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0MsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDeEUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGFBQWEsQ0FBQyxLQUF3QztRQUMvRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDN0IsQ0FBQzthQUNJLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDO1lBQ3hELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELElBQVcsb0JBQW9CLENBQUMsS0FBYTtRQUMzQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFDTSx5QkFBeUI7UUFDOUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFJRCxJQUFXLHVCQUF1QjtRQUNoQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQVcsdUJBQXVCLENBQUMsS0FBZTtRQUNoRCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFDTSw0QkFBNEI7UUFDakMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsNEJBQTRCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLENBQUM7SUFJRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ00sV0FBVztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLF