@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
827 lines • 124 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigConfigurationRecorder = exports.ConfigConfigurationRecorderRecordingModeOutputReference = exports.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference = exports.ConfigConfigurationRecorderRecordingGroupOutputReference = exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList = exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference = exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList = exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference = void 0;
exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform = configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform;
exports.configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform = configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform;
exports.configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform = configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform;
exports.configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform = configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform;
exports.configConfigurationRecorderRecordingGroupToTerraform = configConfigurationRecorderRecordingGroupToTerraform;
exports.configConfigurationRecorderRecordingGroupToHclTerraform = configConfigurationRecorderRecordingGroupToHclTerraform;
exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform = configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform;
exports.configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform = configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform;
exports.configConfigurationRecorderRecordingModeToTerraform = configConfigurationRecorderRecordingModeToTerraform;
exports.configConfigurationRecorderRecordingModeToHclTerraform = configConfigurationRecorderRecordingModeToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform(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 {
resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes),
};
}
function configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform(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 = {
resource_types: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference 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._resourceTypes !== undefined) {
hasAnyValues = true;
internalValueResult.resourceTypes = this._resourceTypes;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._resourceTypes = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._resourceTypes = value.resourceTypes;
}
}
get resourceTypes() {
return cdktf.Fn.tolist(this.getListAttribute('resource_types'));
}
set resourceTypes(value) {
this._resourceTypes = value;
}
resetResourceTypes() {
this._resourceTypes = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceTypesInput() {
return this._resourceTypes;
}
}
exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference = ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference;
_a = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference[_a] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference", version: "21.22.1" };
class ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList 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 ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList = ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList;
_b = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList[_b] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList", version: "21.22.1" };
function configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform(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 {
use_only: cdktf.stringToTerraform(struct.useOnly),
};
}
function configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform(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 = {
use_only: {
value: cdktf.stringToHclTerraform(struct.useOnly),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference 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._useOnly !== undefined) {
hasAnyValues = true;
internalValueResult.useOnly = this._useOnly;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._useOnly = 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._useOnly = value.useOnly;
}
}
get useOnly() {
return this.getStringAttribute('use_only');
}
set useOnly(value) {
this._useOnly = value;
}
resetUseOnly() {
this._useOnly = undefined;
}
// Temporarily expose input value. Use with caution.
get useOnlyInput() {
return this._useOnly;
}
}
exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference = ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference;
_c = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference[_c] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference", version: "21.22.1" };
class ConfigConfigurationRecorderRecordingGroupRecordingStrategyList 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 ConfigConfigurationRecorderRecordingGroupRecordingStrategyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList = ConfigConfigurationRecorderRecordingGroupRecordingStrategyList;
_d = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingGroupRecordingStrategyList[_d] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupRecordingStrategyList", version: "21.22.1" };
function configConfigurationRecorderRecordingGroupToTerraform(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 {
all_supported: cdktf.booleanToTerraform(struct.allSupported),
include_global_resource_types: cdktf.booleanToTerraform(struct.includeGlobalResourceTypes),
resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes),
exclusion_by_resource_types: cdktf.listMapper(configConfigurationRecorderRecordingGroupExclusionByResourceTypesToTerraform, true)(struct.exclusionByResourceTypes),
recording_strategy: cdktf.listMapper(configConfigurationRecorderRecordingGroupRecordingStrategyToTerraform, true)(struct.recordingStrategy),
};
}
function configConfigurationRecorderRecordingGroupToHclTerraform(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 = {
all_supported: {
value: cdktf.booleanToHclTerraform(struct.allSupported),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
include_global_resource_types: {
value: cdktf.booleanToHclTerraform(struct.includeGlobalResourceTypes),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
resource_types: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
exclusion_by_resource_types: {
value: cdktf.listMapperHcl(configConfigurationRecorderRecordingGroupExclusionByResourceTypesToHclTerraform, true)(struct.exclusionByResourceTypes),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList",
},
recording_strategy: {
value: cdktf.listMapperHcl(configConfigurationRecorderRecordingGroupRecordingStrategyToHclTerraform, true)(struct.recordingStrategy),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigurationRecorderRecordingGroupRecordingStrategyList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigurationRecorderRecordingGroupOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
// exclusion_by_resource_types - computed: false, optional: true, required: false
this._exclusionByResourceTypes = new ConfigConfigurationRecorderRecordingGroupExclusionByResourceTypesList(this, "exclusion_by_resource_types", false);
// recording_strategy - computed: false, optional: true, required: false
this._recordingStrategy = new ConfigConfigurationRecorderRecordingGroupRecordingStrategyList(this, "recording_strategy", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._allSupported !== undefined) {
hasAnyValues = true;
internalValueResult.allSupported = this._allSupported;
}
if (this._includeGlobalResourceTypes !== undefined) {
hasAnyValues = true;
internalValueResult.includeGlobalResourceTypes = this._includeGlobalResourceTypes;
}
if (this._resourceTypes !== undefined) {
hasAnyValues = true;
internalValueResult.resourceTypes = this._resourceTypes;
}
if (this._exclusionByResourceTypes?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.exclusionByResourceTypes = this._exclusionByResourceTypes?.internalValue;
}
if (this._recordingStrategy?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.recordingStrategy = this._recordingStrategy?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._allSupported = undefined;
this._includeGlobalResourceTypes = undefined;
this._resourceTypes = undefined;
this._exclusionByResourceTypes.internalValue = undefined;
this._recordingStrategy.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._allSupported = value.allSupported;
this._includeGlobalResourceTypes = value.includeGlobalResourceTypes;
this._resourceTypes = value.resourceTypes;
this._exclusionByResourceTypes.internalValue = value.exclusionByResourceTypes;
this._recordingStrategy.internalValue = value.recordingStrategy;
}
}
get allSupported() {
return this.getBooleanAttribute('all_supported');
}
set allSupported(value) {
this._allSupported = value;
}
resetAllSupported() {
this._allSupported = undefined;
}
// Temporarily expose input value. Use with caution.
get allSupportedInput() {
return this._allSupported;
}
get includeGlobalResourceTypes() {
return this.getBooleanAttribute('include_global_resource_types');
}
set includeGlobalResourceTypes(value) {
this._includeGlobalResourceTypes = value;
}
resetIncludeGlobalResourceTypes() {
this._includeGlobalResourceTypes = undefined;
}
// Temporarily expose input value. Use with caution.
get includeGlobalResourceTypesInput() {
return this._includeGlobalResourceTypes;
}
get resourceTypes() {
return cdktf.Fn.tolist(this.getListAttribute('resource_types'));
}
set resourceTypes(value) {
this._resourceTypes = value;
}
resetResourceTypes() {
this._resourceTypes = undefined;
}
// Temporarily expose input value. Use with caution.
get resourceTypesInput() {
return this._resourceTypes;
}
get exclusionByResourceTypes() {
return this._exclusionByResourceTypes;
}
putExclusionByResourceTypes(value) {
this._exclusionByResourceTypes.internalValue = value;
}
resetExclusionByResourceTypes() {
this._exclusionByResourceTypes.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get exclusionByResourceTypesInput() {
return this._exclusionByResourceTypes.internalValue;
}
get recordingStrategy() {
return this._recordingStrategy;
}
putRecordingStrategy(value) {
this._recordingStrategy.internalValue = value;
}
resetRecordingStrategy() {
this._recordingStrategy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get recordingStrategyInput() {
return this._recordingStrategy.internalValue;
}
}
exports.ConfigConfigurationRecorderRecordingGroupOutputReference = ConfigConfigurationRecorderRecordingGroupOutputReference;
_e = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingGroupOutputReference[_e] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingGroupOutputReference", version: "21.22.1" };
function configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform(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 {
description: cdktf.stringToTerraform(struct.description),
recording_frequency: cdktf.stringToTerraform(struct.recordingFrequency),
resource_types: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.resourceTypes),
};
}
function configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform(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 = {
description: {
value: cdktf.stringToHclTerraform(struct.description),
isBlock: false,
type: "simple",
storageClassType: "string",
},
recording_frequency: {
value: cdktf.stringToHclTerraform(struct.recordingFrequency),
isBlock: false,
type: "simple",
storageClassType: "string",
},
resource_types: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.resourceTypes),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference 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._description !== undefined) {
hasAnyValues = true;
internalValueResult.description = this._description;
}
if (this._recordingFrequency !== undefined) {
hasAnyValues = true;
internalValueResult.recordingFrequency = this._recordingFrequency;
}
if (this._resourceTypes !== undefined) {
hasAnyValues = true;
internalValueResult.resourceTypes = this._resourceTypes;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._description = undefined;
this._recordingFrequency = undefined;
this._resourceTypes = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._description = value.description;
this._recordingFrequency = value.recordingFrequency;
this._resourceTypes = value.resourceTypes;
}
}
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 recordingFrequency() {
return this.getStringAttribute('recording_frequency');
}
set recordingFrequency(value) {
this._recordingFrequency = value;
}
// Temporarily expose input value. Use with caution.
get recordingFrequencyInput() {
return this._recordingFrequency;
}
get resourceTypes() {
return cdktf.Fn.tolist(this.getListAttribute('resource_types'));
}
set resourceTypes(value) {
this._resourceTypes = value;
}
// Temporarily expose input value. Use with caution.
get resourceTypesInput() {
return this._resourceTypes;
}
}
exports.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference = ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference;
_f = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference[_f] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference", version: "21.22.1" };
function configConfigurationRecorderRecordingModeToTerraform(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 {
recording_frequency: cdktf.stringToTerraform(struct.recordingFrequency),
recording_mode_override: configConfigurationRecorderRecordingModeRecordingModeOverrideToTerraform(struct.recordingModeOverride),
};
}
function configConfigurationRecorderRecordingModeToHclTerraform(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 = {
recording_frequency: {
value: cdktf.stringToHclTerraform(struct.recordingFrequency),
isBlock: false,
type: "simple",
storageClassType: "string",
},
recording_mode_override: {
value: configConfigurationRecorderRecordingModeRecordingModeOverrideToHclTerraform(struct.recordingModeOverride),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigurationRecorderRecordingModeRecordingModeOverrideList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class ConfigConfigurationRecorderRecordingModeOutputReference 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;
// recording_mode_override - computed: false, optional: true, required: false
this._recordingModeOverride = new ConfigConfigurationRecorderRecordingModeRecordingModeOverrideOutputReference(this, "recording_mode_override");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._recordingFrequency !== undefined) {
hasAnyValues = true;
internalValueResult.recordingFrequency = this._recordingFrequency;
}
if (this._recordingModeOverride?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.recordingModeOverride = this._recordingModeOverride?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._recordingFrequency = undefined;
this._recordingModeOverride.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._recordingFrequency = value.recordingFrequency;
this._recordingModeOverride.internalValue = value.recordingModeOverride;
}
}
get recordingFrequency() {
return this.getStringAttribute('recording_frequency');
}
set recordingFrequency(value) {
this._recordingFrequency = value;
}
resetRecordingFrequency() {
this._recordingFrequency = undefined;
}
// Temporarily expose input value. Use with caution.
get recordingFrequencyInput() {
return this._recordingFrequency;
}
get recordingModeOverride() {
return this._recordingModeOverride;
}
putRecordingModeOverride(value) {
this._recordingModeOverride.internalValue = value;
}
resetRecordingModeOverride() {
this._recordingModeOverride.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get recordingModeOverrideInput() {
return this._recordingModeOverride.internalValue;
}
}
exports.ConfigConfigurationRecorderRecordingModeOutputReference = ConfigConfigurationRecorderRecordingModeOutputReference;
_g = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorderRecordingModeOutputReference[_g] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorderRecordingModeOutputReference", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_configuration_recorder aws_config_configuration_recorder}
*/
class ConfigConfigurationRecorder extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a ConfigConfigurationRecorder 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 ConfigConfigurationRecorder to import
* @param importFromId The id of the existing ConfigConfigurationRecorder that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_configuration_recorder#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the ConfigConfigurationRecorder to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_config_configuration_recorder", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/config_configuration_recorder aws_config_configuration_recorder} 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 ConfigConfigurationRecorderConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_config_configuration_recorder',
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
});
// recording_group - computed: false, optional: true, required: false
this._recordingGroup = new ConfigConfigurationRecorderRecordingGroupOutputReference(this, "recording_group");
// recording_mode - computed: false, optional: true, required: false
this._recordingMode = new ConfigConfigurationRecorderRecordingModeOutputReference(this, "recording_mode");
this._id = config.id;
this._name = config.name;
this._region = config.region;
this._roleArn = config.roleArn;
this._recordingGroup.internalValue = config.recordingGroup;
this._recordingMode.internalValue = config.recordingMode;
}
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 name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
resetName() {
this._name = undefined;
}
// 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;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
get recordingGroup() {
return this._recordingGroup;
}
putRecordingGroup(value) {
this._recordingGroup.internalValue = value;
}
resetRecordingGroup() {
this._recordingGroup.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get recordingGroupInput() {
return this._recordingGroup.internalValue;
}
get recordingMode() {
return this._recordingMode;
}
putRecordingMode(value) {
this._recordingMode.internalValue = value;
}
resetRecordingMode() {
this._recordingMode.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get recordingModeInput() {
return this._recordingMode.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
region: cdktf.stringToTerraform(this._region),
role_arn: cdktf.stringToTerraform(this._roleArn),
recording_group: configConfigurationRecorderRecordingGroupToTerraform(this._recordingGroup.internalValue),
recording_mode: configConfigurationRecorderRecordingModeToTerraform(this._recordingMode.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
id: {
value: cdktf.stringToHclTerraform(this._id),
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",
},
role_arn: {
value: cdktf.stringToHclTerraform(this._roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
recording_group: {
value: configConfigurationRecorderRecordingGroupToHclTerraform(this._recordingGroup.internalValue),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigurationRecorderRecordingGroupList",
},
recording_mode: {
value: configConfigurationRecorderRecordingModeToHclTerraform(this._recordingMode.internalValue),
isBlock: true,
type: "list",
storageClassType: "ConfigConfigurationRecorderRecordingModeList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.ConfigConfigurationRecorder = ConfigConfigurationRecorder;
_h = JSII_RTTI_SYMBOL_1;
ConfigConfigurationRecorder[_h] = { fqn: "@cdktf/provider-aws.configConfigurationRecorder.ConfigConfigurationRecorder", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
ConfigConfigurationRecorder.tfResourceType = "aws_config_configuration_recorder";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnLWNvbmZpZ3VyYXRpb24tcmVjb3JkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXVEQSxvS0FRQztBQUdELDBLQWdCQztBQXlGRCxzSkFRQztBQUdELDRKQWdCQztBQTZHRCxvSEFZQztBQUdELDBIQXdDQztBQXlKRCw0SkFVQztBQUdELGtLQTRCQztBQXFHRCxrSEFTQztBQUdELHdIQXNCQzs7QUExcUJELCtCQUErQjtBQThDL0IsU0FBZ0IsNEVBQTRFLENBQUMsTUFBOEY7SUFDekwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsYUFBYSxDQUFDO0tBQ3hGLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsK0VBQStFLENBQUMsTUFBOEY7SUFDNUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztZQUNwRixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsZ0JBQWdCLEVBQUUsWUFBWTtTQUMvQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLGdGQUFpRixTQUFRLEtBQUssQ0FBQyxhQUFhO0lBSXZIOzs7OztNQUtFO0lBQ0YsWUFBbUIsaUJBQTZDLEVBQUUsa0JBQTBCLEVBQUUsa0JBQTBCLEVBQUUsc0JBQStCO1FBQ3ZKLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBVm5GLGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBVzlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxhQUFhLENBQUMsS0FBd0c7UUFDL0gsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDbEMsQ0FBQzthQUNJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsYUFBYTtRQUN0QixPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLEtBQWU7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUNNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztJQUNsQyxDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQTFESCw0S0EyREM7OztBQUVELE1BQWEscUVBQXNFLFNBQVEsS0FBSyxDQUFDLFdBQVc7SUFHMUc7Ozs7TUFJRTtJQUNGLFlBQXNCLGlCQUE2QyxFQUFZLGtCQUEwQixFQUFZLFFBQWlCO1FBQ3BJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQVksdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUV0SSxDQUFDO0lBRUQ7O01BRUU7SUFDSyxHQUFHLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUksZ0ZBQWdGLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JLLENBQUM7O0FBakJILHNKQWtCQzs7O0FBUUQsU0FBZ0IscUVBQXFFLENBQUMsTUFBdUY7SUFDM0ssSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLE9BQU8sQ0FBQztLQUNuRCxDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLHdFQUF3RSxDQUFDLE1BQXVGO0lBQzlLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1osUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxNQUFPLENBQUMsT0FBTyxDQUFDO1lBQ2xELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCO0tBQ0YsQ0FBQztJQUVGLDhCQUE4QjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDNUgsQ0FBQztBQUVELE1BQWEseUVBQTBFLFNBQVEsS0FBSyxDQUFDLGFBQWE7SUFJaEg7Ozs7O01BS0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEIsRUFBRSxrQkFBMEIsRUFBRSxzQkFBK0I7UUFDdkosS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFWbkYsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFXOUIsQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGFBQWEsQ0FBQyxLQUFpRztRQUN4SCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUM1QixDQUFDO2FBQ0ksSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOztBQTFESCw4SkEyREM7OztBQUVELE1BQWEsOERBQStELFNBQVEsS0FBSyxDQUFDLFdBQVc7SUFHbkc7Ozs7TUFJRTtJQUNGLFlBQXNCLGlCQUE2QyxFQUFZLGtCQUEwQixFQUFZLFFBQWlCO1FBQ3BJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQTtRQURsQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTRCO1FBQVksdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFRO1FBQVksYUFBUSxHQUFSLFFBQVEsQ0FBUztJQUV0SSxDQUFDO0lBRUQ7O01BRUU7SUFDSyxHQUFHLENBQUMsS0FBYTtRQUN0QixPQUFPLElBQUkseUVBQXlFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlKLENBQUM7O0FBakJILHdJQWtCQzs7O0FBNEJELFNBQWdCLG9EQUFvRCxDQUFDLE1BQTZHO0lBQ2hMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxhQUFhLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQyxZQUFZLENBQUM7UUFDN0QsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQywwQkFBMEIsQ0FBQztRQUMzRixjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztRQUN2RiwyQkFBMkIsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLDRFQUE0RSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU8sQ0FBQyx3QkFBd0IsQ0FBQztRQUNuSyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLHFFQUFxRSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU8sQ0FBQyxpQkFBaUIsQ0FBQztLQUM3SSxDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLHVEQUF1RCxDQUFDLE1BQTZHO0lBQ25MLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1osYUFBYSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3hELE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxnQkFBZ0IsRUFBRSxTQUFTO1NBQzVCO1FBQ0QsNkJBQTZCLEVBQUU7WUFDN0IsS0FBSyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFPLENBQUMsMEJBQTBCLENBQUM7WUFDdEUsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFNBQVM7U0FDNUI7UUFDRCxjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQztZQUNwRixPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsZ0JBQWdCLEVBQUUsWUFBWTtTQUMvQjtRQUNELDJCQUEyQixFQUFFO1lBQzNCLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLCtFQUErRSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU8sQ0FBQyx3QkFBd0IsQ0FBQztZQUNuSixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSxNQUFNO1lBQ1osZ0JBQWdCLEVBQUUsdUVBQXVFO1NBQzFGO1FBQ0Qsa0JBQWtCLEVBQUU7WUFDbEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsd0VBQXdFLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTyxDQUFDLGlCQUFpQixDQUFDO1lBQ3JJLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixnQkFBZ0IsRUFBRSxnRUFBZ0U7U0FDbkY7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRUQsTUFBYSx3REFBeUQsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUcvRjs7O01BR0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEI7UUFDMUYsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQVBqRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQXVHOUIsaUZBQWlGO1FBQ3pFLDhCQUF5QixHQUFHLElBQUkscUVBQXFFLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBZTFKLHdFQUF3RTtRQUNoRSx1QkFBa0IsR0FBRyxJQUFJLDhEQUE4RCxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQWhIbkksQ0FBQztJQUVELElBQVcsYUFBYTtRQUN0QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sbUJBQW1CLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQywyQkFBMkIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoRSxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxhQUFhLENBQUM7UUFDL0YsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6RCxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUM7UUFDakYsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFD