UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,015 lines 141 kB
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnLWNvbmZpZy1ydWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUE2RUEsOEZBUUM7QUFHRCxvR0FnQkM7QUFxR0QsNEVBV0M7QUFHRCxrRkFrQ0M7QUFtSUQsb0hBVUM7QUFHRCwwSEE0QkM7QUF1R0Qsc0dBVUM7QUFHRCw0R0E0QkM7QUFxSkQsOEVBV0M7QUFHRCxvRkFrQ0M7O0FBcnZCRCwrQkFBK0I7QUFvRS9CLFNBQWdCLHlDQUF5QyxDQUFDLE1BQTJEO0lBQ25ILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUM7S0FDNUMsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw0Q0FBNEMsQ0FBQyxNQUEyRDtJQUN0SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLElBQUksQ0FBQztZQUMvQyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLDZDQUE4QyxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBSXBGOzs7OztNQUtFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCLEVBQUUsa0JBQTBCLEVBQUUsc0JBQStCO1FBQ3ZKLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBVm5GLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBVzlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxhQUFhLENBQUMsS0FBcUU7UUFDNUYsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDekIsQ0FBQzthQUNJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFXLElBQUksQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFDTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O0FBMURILHNHQTJEQzs7O0FBRUQsTUFBYSxrQ0FBbUMsU0FBUSxLQUFLLENBQUMsV0FBVztJQUd2RTs7OztNQUlFO0lBQ0YsWUFBc0IsaUJBQTZDLEVBQVksa0JBQTBCLEVBQVksUUFBaUI7UUFDcEksS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFBO1FBRGxDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNEI7UUFBWSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQVE7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBRXRJLENBQUM7SUFFRDs7TUFFRTtJQUNLLEdBQUcsQ0FBQyxLQUFhO1FBQ3RCLE9BQU8sSUFBSSw2Q0FBNkMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEksQ0FBQzs7QUFqQkgsZ0ZBa0JDOzs7QUFvQkQsU0FBZ0IsZ0NBQWdDLENBQUMsTUFBcUU7SUFDcEgsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsb0JBQW9CLENBQUM7UUFDN0UseUJBQXlCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLHVCQUF1QixDQUFDO1FBQzVHLE9BQU8sRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxTQUFTLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDckQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQixtQ0FBbUMsQ0FBQyxNQUFxRTtJQUN2SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLHNCQUFzQixFQUFFO1lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLG9CQUFvQixDQUFDO1lBQy9ELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO1FBQ0QseUJBQXlCLEVBQUU7WUFDekIsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUIsQ0FBQztZQUM5RixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsZ0JBQWdCLEVBQUUsWUFBWTtTQUMvQjtRQUNELE9BQU8sRUFBRTtZQUNQLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLG9DQUFxQyxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBRzNFOzs7TUFHRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQjtRQUMxRixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBUGpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBUTlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDOUUsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQixZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQXdDO1FBQy9ELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxTQUFTLENBQUM7WUFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUM7WUFDeEQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztZQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsSUFBVyxvQkFBb0IsQ0FBQyxLQUFhO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUNNLHlCQUF5QjtRQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUlELElBQVcsdUJBQXVCO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBQ0QsSUFBVyx1QkFBdUIsQ0FBQyxLQUFlO1FBQ2hELElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUNNLDRCQUE0QjtRQUNqQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO0lBQzVDLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyw0QkFBNEI7UUFDckMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUlELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLGtCQUFrQix