UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,079 lines 170 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.IotIndexingConfiguration = exports.IotIndexingConfigurationThingIndexingConfigurationOutputReference = exports.IotIndexingConfigurationThingIndexingConfigurationManagedFieldList = exports.IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference = exports.IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference = exports.IotIndexingConfigurationThingIndexingConfigurationCustomFieldList = exports.IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference = exports.IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference = exports.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList = exports.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference = exports.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList = exports.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference = void 0; exports.iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToTerraform; exports.iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToHclTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToHclTerraform; exports.iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToTerraform; exports.iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToHclTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToHclTerraform; exports.iotIndexingConfigurationThingGroupIndexingConfigurationToTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationToTerraform; exports.iotIndexingConfigurationThingGroupIndexingConfigurationToHclTerraform = iotIndexingConfigurationThingGroupIndexingConfigurationToHclTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationCustomFieldToTerraform = iotIndexingConfigurationThingIndexingConfigurationCustomFieldToTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationCustomFieldToHclTerraform = iotIndexingConfigurationThingIndexingConfigurationCustomFieldToHclTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationFilterToTerraform = iotIndexingConfigurationThingIndexingConfigurationFilterToTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationFilterToHclTerraform = iotIndexingConfigurationThingIndexingConfigurationFilterToHclTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationManagedFieldToTerraform = iotIndexingConfigurationThingIndexingConfigurationManagedFieldToTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationManagedFieldToHclTerraform = iotIndexingConfigurationThingIndexingConfigurationManagedFieldToHclTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationToTerraform = iotIndexingConfigurationThingIndexingConfigurationToTerraform; exports.iotIndexingConfigurationThingIndexingConfigurationToHclTerraform = iotIndexingConfigurationThingIndexingConfigurationToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), }; } function iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = 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._name = value.name; this._type = value.type; } } 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 type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference = IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference; _a = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference[_a] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference", version: "21.22.1" }; class IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList 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 IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList = IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList; _b = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList[_b] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList", version: "21.22.1" }; function iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), }; } function iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = 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._name = value.name; this._type = value.type; } } 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 type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference = IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference; _c = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference[_c] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference", version: "21.22.1" }; class IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList 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 IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList = IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList; _d = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList[_d] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList", version: "21.22.1" }; function iotIndexingConfigurationThingGroupIndexingConfigurationToTerraform(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 { thing_group_indexing_mode: cdktf.stringToTerraform(struct.thingGroupIndexingMode), custom_field: cdktf.listMapper(iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToTerraform, true)(struct.customField), managed_field: cdktf.listMapper(iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToTerraform, true)(struct.managedField), }; } function iotIndexingConfigurationThingGroupIndexingConfigurationToHclTerraform(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 = { thing_group_indexing_mode: { value: cdktf.stringToHclTerraform(struct.thingGroupIndexingMode), isBlock: false, type: "simple", storageClassType: "string", }, custom_field: { value: cdktf.listMapperHcl(iotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldToHclTerraform, true)(struct.customField), isBlock: true, type: "set", storageClassType: "IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList", }, managed_field: { value: cdktf.listMapperHcl(iotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldToHclTerraform, true)(struct.managedField), isBlock: true, type: "set", storageClassType: "IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference 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_field - computed: false, optional: true, required: false this._customField = new IotIndexingConfigurationThingGroupIndexingConfigurationCustomFieldList(this, "custom_field", true); // managed_field - computed: false, optional: true, required: false this._managedField = new IotIndexingConfigurationThingGroupIndexingConfigurationManagedFieldList(this, "managed_field", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._thingGroupIndexingMode !== undefined) { hasAnyValues = true; internalValueResult.thingGroupIndexingMode = this._thingGroupIndexingMode; } if (this._customField?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.customField = this._customField?.internalValue; } if (this._managedField?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.managedField = this._managedField?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._thingGroupIndexingMode = undefined; this._customField.internalValue = undefined; this._managedField.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._thingGroupIndexingMode = value.thingGroupIndexingMode; this._customField.internalValue = value.customField; this._managedField.internalValue = value.managedField; } } get thingGroupIndexingMode() { return this.getStringAttribute('thing_group_indexing_mode'); } set thingGroupIndexingMode(value) { this._thingGroupIndexingMode = value; } // Temporarily expose input value. Use with caution. get thingGroupIndexingModeInput() { return this._thingGroupIndexingMode; } get customField() { return this._customField; } putCustomField(value) { this._customField.internalValue = value; } resetCustomField() { this._customField.internalValue = undefined; } // Temporarily expose input value. Use with caution. get customFieldInput() { return this._customField.internalValue; } get managedField() { return this._managedField; } putManagedField(value) { this._managedField.internalValue = value; } resetManagedField() { this._managedField.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managedFieldInput() { return this._managedField.internalValue; } } exports.IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference = IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference; _e = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference[_e] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference", version: "21.22.1" }; function iotIndexingConfigurationThingIndexingConfigurationCustomFieldToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), }; } function iotIndexingConfigurationThingIndexingConfigurationCustomFieldToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = 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._name = value.name; this._type = value.type; } } 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 type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference = IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference; _f = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference[_f] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference", version: "21.22.1" }; class IotIndexingConfigurationThingIndexingConfigurationCustomFieldList 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 IotIndexingConfigurationThingIndexingConfigurationCustomFieldOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IotIndexingConfigurationThingIndexingConfigurationCustomFieldList = IotIndexingConfigurationThingIndexingConfigurationCustomFieldList; _g = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationCustomFieldList[_g] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationCustomFieldList", version: "21.22.1" }; function iotIndexingConfigurationThingIndexingConfigurationFilterToTerraform(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 { named_shadow_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.namedShadowNames), }; } function iotIndexingConfigurationThingIndexingConfigurationFilterToHclTerraform(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 = { named_shadow_names: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.namedShadowNames), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference 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._namedShadowNames !== undefined) { hasAnyValues = true; internalValueResult.namedShadowNames = this._namedShadowNames; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._namedShadowNames = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._namedShadowNames = value.namedShadowNames; } } get namedShadowNames() { return cdktf.Fn.tolist(this.getListAttribute('named_shadow_names')); } set namedShadowNames(value) { this._namedShadowNames = value; } resetNamedShadowNames() { this._namedShadowNames = undefined; } // Temporarily expose input value. Use with caution. get namedShadowNamesInput() { return this._namedShadowNames; } } exports.IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference = IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference; _h = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference[_h] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference", version: "21.22.1" }; function iotIndexingConfigurationThingIndexingConfigurationManagedFieldToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), }; } function iotIndexingConfigurationThingIndexingConfigurationManagedFieldToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference 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._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = 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._name = value.name; this._type = value.type; } } 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 type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference = IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference; _j = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference[_j] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference", version: "21.22.1" }; class IotIndexingConfigurationThingIndexingConfigurationManagedFieldList 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 IotIndexingConfigurationThingIndexingConfigurationManagedFieldOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.IotIndexingConfigurationThingIndexingConfigurationManagedFieldList = IotIndexingConfigurationThingIndexingConfigurationManagedFieldList; _k = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationManagedFieldList[_k] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationManagedFieldList", version: "21.22.1" }; function iotIndexingConfigurationThingIndexingConfigurationToTerraform(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 { device_defender_indexing_mode: cdktf.stringToTerraform(struct.deviceDefenderIndexingMode), named_shadow_indexing_mode: cdktf.stringToTerraform(struct.namedShadowIndexingMode), thing_connectivity_indexing_mode: cdktf.stringToTerraform(struct.thingConnectivityIndexingMode), thing_indexing_mode: cdktf.stringToTerraform(struct.thingIndexingMode), custom_field: cdktf.listMapper(iotIndexingConfigurationThingIndexingConfigurationCustomFieldToTerraform, true)(struct.customField), filter: iotIndexingConfigurationThingIndexingConfigurationFilterToTerraform(struct.filter), managed_field: cdktf.listMapper(iotIndexingConfigurationThingIndexingConfigurationManagedFieldToTerraform, true)(struct.managedField), }; } function iotIndexingConfigurationThingIndexingConfigurationToHclTerraform(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 = { device_defender_indexing_mode: { value: cdktf.stringToHclTerraform(struct.deviceDefenderIndexingMode), isBlock: false, type: "simple", storageClassType: "string", }, named_shadow_indexing_mode: { value: cdktf.stringToHclTerraform(struct.namedShadowIndexingMode), isBlock: false, type: "simple", storageClassType: "string", }, thing_connectivity_indexing_mode: { value: cdktf.stringToHclTerraform(struct.thingConnectivityIndexingMode), isBlock: false, type: "simple", storageClassType: "string", }, thing_indexing_mode: { value: cdktf.stringToHclTerraform(struct.thingIndexingMode), isBlock: false, type: "simple", storageClassType: "string", }, custom_field: { value: cdktf.listMapperHcl(iotIndexingConfigurationThingIndexingConfigurationCustomFieldToHclTerraform, true)(struct.customField), isBlock: true, type: "set", storageClassType: "IotIndexingConfigurationThingIndexingConfigurationCustomFieldList", }, filter: { value: iotIndexingConfigurationThingIndexingConfigurationFilterToHclTerraform(struct.filter), isBlock: true, type: "list", storageClassType: "IotIndexingConfigurationThingIndexingConfigurationFilterList", }, managed_field: { value: cdktf.listMapperHcl(iotIndexingConfigurationThingIndexingConfigurationManagedFieldToHclTerraform, true)(struct.managedField), isBlock: true, type: "set", storageClassType: "IotIndexingConfigurationThingIndexingConfigurationManagedFieldList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class IotIndexingConfigurationThingIndexingConfigurationOutputReference 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_field - computed: false, optional: true, required: false this._customField = new IotIndexingConfigurationThingIndexingConfigurationCustomFieldList(this, "custom_field", true); // filter - computed: false, optional: true, required: false this._filter = new IotIndexingConfigurationThingIndexingConfigurationFilterOutputReference(this, "filter"); // managed_field - computed: false, optional: true, required: false this._managedField = new IotIndexingConfigurationThingIndexingConfigurationManagedFieldList(this, "managed_field", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._deviceDefenderIndexingMode !== undefined) { hasAnyValues = true; internalValueResult.deviceDefenderIndexingMode = this._deviceDefenderIndexingMode; } if (this._namedShadowIndexingMode !== undefined) { hasAnyValues = true; internalValueResult.namedShadowIndexingMode = this._namedShadowIndexingMode; } if (this._thingConnectivityIndexingMode !== undefined) { hasAnyValues = true; internalValueResult.thingConnectivityIndexingMode = this._thingConnectivityIndexingMode; } if (this._thingIndexingMode !== undefined) { hasAnyValues = true; internalValueResult.thingIndexingMode = this._thingIndexingMode; } if (this._customField?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.customField = this._customField?.internalValue; } if (this._filter?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.filter = this._filter?.internalValue; } if (this._managedField?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.managedField = this._managedField?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._deviceDefenderIndexingMode = undefined; this._namedShadowIndexingMode = undefined; this._thingConnectivityIndexingMode = undefined; this._thingIndexingMode = undefined; this._customField.internalValue = undefined; this._filter.internalValue = undefined; this._managedField.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._deviceDefenderIndexingMode = value.deviceDefenderIndexingMode; this._namedShadowIndexingMode = value.namedShadowIndexingMode; this._thingConnectivityIndexingMode = value.thingConnectivityIndexingMode; this._thingIndexingMode = value.thingIndexingMode; this._customField.internalValue = value.customField; this._filter.internalValue = value.filter; this._managedField.internalValue = value.managedField; } } get deviceDefenderIndexingMode() { return this.getStringAttribute('device_defender_indexing_mode'); } set deviceDefenderIndexingMode(value) { this._deviceDefenderIndexingMode = value; } resetDeviceDefenderIndexingMode() { this._deviceDefenderIndexingMode = undefined; } // Temporarily expose input value. Use with caution. get deviceDefenderIndexingModeInput() { return this._deviceDefenderIndexingMode; } get namedShadowIndexingMode() { return this.getStringAttribute('named_shadow_indexing_mode'); } set namedShadowIndexingMode(value) { this._namedShadowIndexingMode = value; } resetNamedShadowIndexingMode() { this._namedShadowIndexingMode = undefined; } // Temporarily expose input value. Use with caution. get namedShadowIndexingModeInput() { return this._namedShadowIndexingMode; } get thingConnectivityIndexingMode() { return this.getStringAttribute('thing_connectivity_indexing_mode'); } set thingConnectivityIndexingMode(value) { this._thingConnectivityIndexingMode = value; } resetThingConnectivityIndexingMode() { this._thingConnectivityIndexingMode = undefined; } // Temporarily expose input value. Use with caution. get thingConnectivityIndexingModeInput() { return this._thingConnectivityIndexingMode; } get thingIndexingMode() { return this.getStringAttribute('thing_indexing_mode'); } set thingIndexingMode(value) { this._thingIndexingMode = value; } // Temporarily expose input value. Use with caution. get thingIndexingModeInput() { return this._thingIndexingMode; } get customField() { return this._customField; } putCustomField(value) { this._customField.internalValue = value; } resetCustomField() { this._customField.internalValue = undefined; } // Temporarily expose input value. Use with caution. get customFieldInput() { return this._customField.internalValue; } get filter() { return this._filter; } putFilter(value) { this._filter.internalValue = value; } resetFilter() { this._filter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get filterInput() { return this._filter.internalValue; } get managedField() { return this._managedField; } putManagedField(value) { this._managedField.internalValue = value; } resetManagedField() { this._managedField.internalValue = undefined; } // Temporarily expose input value. Use with caution. get managedFieldInput() { return this._managedField.internalValue; } } exports.IotIndexingConfigurationThingIndexingConfigurationOutputReference = IotIndexingConfigurationThingIndexingConfigurationOutputReference; _l = JSII_RTTI_SYMBOL_1; IotIndexingConfigurationThingIndexingConfigurationOutputReference[_l] = { fqn: "@cdktf/provider-aws.iotIndexingConfiguration.IotIndexingConfigurationThingIndexingConfigurationOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/iot_indexing_configuration aws_iot_indexing_configuration} */ class IotIndexingConfiguration extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a IotIndexingConfiguration 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 IotIndexingConfiguration to import * @param importFromId The id of the existing IotIndexingConfiguration that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/iot_indexing_configuration#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the IotIndexingConfiguration to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_iot_indexing_configuration", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/iot_indexing_configuration aws_iot_indexing_configuration} 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 IotIndexingConfigurationConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_iot_indexing_configuration', 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 }); // thing_group_indexing_configuration - computed: false, optional: true, required: false this._thingGroupIndexingConfiguration = new IotIndexingConfigurationThingGroupIndexingConfigurationOutputReference(this, "thing_group_indexing_configuration"); // thing_indexing_configuration - computed: false, optional: true, required: false this._thingIndexingConfiguration = new IotIndexingConfigurationThingIndexingConfigurationOutputReference(this, "thing_indexing_configuration"); this._id = config.id; this._region = config.region; this._thingGroupIndexingConfiguration.internalValue = config.thingGroupIndexingConfiguration; this._thingIndexingConfiguration.internalValue = config.thingIndexingConfiguration; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } get thingGroupIndexingConfiguration() { return this._thingGroupIndexingConfiguration; } putThingGroupIndexingConfiguration(value) { this._thingGroupIndexingConfiguration.internalValue = value; } resetThingGroupIndexingConfiguration() { this._thingGroupIndexingConfiguration.internalValue = undefined; } // Temporarily expose input value. Use with caution. get thingGroupIndexingConfigurationInput() { return this._thingGroupIndexingConfiguration.internalValue; } get thingIndexingConfiguration() { return