UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

999 lines 141 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j; Object.defineProperty(exports, "__esModule", { value: true }); exports.SsmPatchBaseline = exports.SsmPatchBaselineSourceList = exports.SsmPatchBaselineSourceOutputReference = exports.ssmPatchBaselineSourceToHclTerraform = exports.ssmPatchBaselineSourceToTerraform = exports.SsmPatchBaselineGlobalFilterList = exports.SsmPatchBaselineGlobalFilterOutputReference = exports.ssmPatchBaselineGlobalFilterToHclTerraform = exports.ssmPatchBaselineGlobalFilterToTerraform = exports.SsmPatchBaselineApprovalRuleList = exports.SsmPatchBaselineApprovalRuleOutputReference = exports.ssmPatchBaselineApprovalRuleToHclTerraform = exports.ssmPatchBaselineApprovalRuleToTerraform = exports.SsmPatchBaselineApprovalRulePatchFilterList = exports.SsmPatchBaselineApprovalRulePatchFilterOutputReference = exports.ssmPatchBaselineApprovalRulePatchFilterToHclTerraform = exports.ssmPatchBaselineApprovalRulePatchFilterToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function ssmPatchBaselineApprovalRulePatchFilterToTerraform(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 { key: cdktf.stringToTerraform(struct.key), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.ssmPatchBaselineApprovalRulePatchFilterToTerraform = ssmPatchBaselineApprovalRulePatchFilterToTerraform; function ssmPatchBaselineApprovalRulePatchFilterToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmPatchBaselineApprovalRulePatchFilterToHclTerraform = ssmPatchBaselineApprovalRulePatchFilterToHclTerraform; class SsmPatchBaselineApprovalRulePatchFilterOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._values = 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._key = value.key; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.SsmPatchBaselineApprovalRulePatchFilterOutputReference = SsmPatchBaselineApprovalRulePatchFilterOutputReference; _a = JSII_RTTI_SYMBOL_1; SsmPatchBaselineApprovalRulePatchFilterOutputReference[_a] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineApprovalRulePatchFilterOutputReference", version: "19.50.0" }; class SsmPatchBaselineApprovalRulePatchFilterList 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 SsmPatchBaselineApprovalRulePatchFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmPatchBaselineApprovalRulePatchFilterList = SsmPatchBaselineApprovalRulePatchFilterList; _b = JSII_RTTI_SYMBOL_1; SsmPatchBaselineApprovalRulePatchFilterList[_b] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineApprovalRulePatchFilterList", version: "19.50.0" }; function ssmPatchBaselineApprovalRuleToTerraform(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 { approve_after_days: cdktf.numberToTerraform(struct.approveAfterDays), approve_until_date: cdktf.stringToTerraform(struct.approveUntilDate), compliance_level: cdktf.stringToTerraform(struct.complianceLevel), enable_non_security: cdktf.booleanToTerraform(struct.enableNonSecurity), patch_filter: cdktf.listMapper(ssmPatchBaselineApprovalRulePatchFilterToTerraform, true)(struct.patchFilter), }; } exports.ssmPatchBaselineApprovalRuleToTerraform = ssmPatchBaselineApprovalRuleToTerraform; function ssmPatchBaselineApprovalRuleToHclTerraform(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 = { approve_after_days: { value: cdktf.numberToHclTerraform(struct.approveAfterDays), isBlock: false, type: "simple", storageClassType: "number", }, approve_until_date: { value: cdktf.stringToHclTerraform(struct.approveUntilDate), isBlock: false, type: "simple", storageClassType: "string", }, compliance_level: { value: cdktf.stringToHclTerraform(struct.complianceLevel), isBlock: false, type: "simple", storageClassType: "string", }, enable_non_security: { value: cdktf.booleanToHclTerraform(struct.enableNonSecurity), isBlock: false, type: "simple", storageClassType: "boolean", }, patch_filter: { value: cdktf.listMapperHcl(ssmPatchBaselineApprovalRulePatchFilterToHclTerraform, true)(struct.patchFilter), isBlock: true, type: "list", storageClassType: "SsmPatchBaselineApprovalRulePatchFilterList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmPatchBaselineApprovalRuleToHclTerraform = ssmPatchBaselineApprovalRuleToHclTerraform; class SsmPatchBaselineApprovalRuleOutputReference 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; // patch_filter - computed: false, optional: false, required: true this._patchFilter = new SsmPatchBaselineApprovalRulePatchFilterList(this, "patch_filter", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._approveAfterDays !== undefined) { hasAnyValues = true; internalValueResult.approveAfterDays = this._approveAfterDays; } if (this._approveUntilDate !== undefined) { hasAnyValues = true; internalValueResult.approveUntilDate = this._approveUntilDate; } if (this._complianceLevel !== undefined) { hasAnyValues = true; internalValueResult.complianceLevel = this._complianceLevel; } if (this._enableNonSecurity !== undefined) { hasAnyValues = true; internalValueResult.enableNonSecurity = this._enableNonSecurity; } if (this._patchFilter?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.patchFilter = this._patchFilter?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._approveAfterDays = undefined; this._approveUntilDate = undefined; this._complianceLevel = undefined; this._enableNonSecurity = undefined; this._patchFilter.internalValue = 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._approveAfterDays = value.approveAfterDays; this._approveUntilDate = value.approveUntilDate; this._complianceLevel = value.complianceLevel; this._enableNonSecurity = value.enableNonSecurity; this._patchFilter.internalValue = value.patchFilter; } } get approveAfterDays() { return this.getNumberAttribute('approve_after_days'); } set approveAfterDays(value) { this._approveAfterDays = value; } resetApproveAfterDays() { this._approveAfterDays = undefined; } // Temporarily expose input value. Use with caution. get approveAfterDaysInput() { return this._approveAfterDays; } get approveUntilDate() { return this.getStringAttribute('approve_until_date'); } set approveUntilDate(value) { this._approveUntilDate = value; } resetApproveUntilDate() { this._approveUntilDate = undefined; } // Temporarily expose input value. Use with caution. get approveUntilDateInput() { return this._approveUntilDate; } get complianceLevel() { return this.getStringAttribute('compliance_level'); } set complianceLevel(value) { this._complianceLevel = value; } resetComplianceLevel() { this._complianceLevel = undefined; } // Temporarily expose input value. Use with caution. get complianceLevelInput() { return this._complianceLevel; } get enableNonSecurity() { return this.getBooleanAttribute('enable_non_security'); } set enableNonSecurity(value) { this._enableNonSecurity = value; } resetEnableNonSecurity() { this._enableNonSecurity = undefined; } // Temporarily expose input value. Use with caution. get enableNonSecurityInput() { return this._enableNonSecurity; } get patchFilter() { return this._patchFilter; } putPatchFilter(value) { this._patchFilter.internalValue = value; } // Temporarily expose input value. Use with caution. get patchFilterInput() { return this._patchFilter.internalValue; } } exports.SsmPatchBaselineApprovalRuleOutputReference = SsmPatchBaselineApprovalRuleOutputReference; _c = JSII_RTTI_SYMBOL_1; SsmPatchBaselineApprovalRuleOutputReference[_c] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineApprovalRuleOutputReference", version: "19.50.0" }; class SsmPatchBaselineApprovalRuleList 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 SsmPatchBaselineApprovalRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmPatchBaselineApprovalRuleList = SsmPatchBaselineApprovalRuleList; _d = JSII_RTTI_SYMBOL_1; SsmPatchBaselineApprovalRuleList[_d] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineApprovalRuleList", version: "19.50.0" }; function ssmPatchBaselineGlobalFilterToTerraform(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 { key: cdktf.stringToTerraform(struct.key), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.ssmPatchBaselineGlobalFilterToTerraform = ssmPatchBaselineGlobalFilterToTerraform; function ssmPatchBaselineGlobalFilterToHclTerraform(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 = { key: { value: cdktf.stringToHclTerraform(struct.key), isBlock: false, type: "simple", storageClassType: "string", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmPatchBaselineGlobalFilterToHclTerraform = ssmPatchBaselineGlobalFilterToHclTerraform; class SsmPatchBaselineGlobalFilterOutputReference 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._key !== undefined) { hasAnyValues = true; internalValueResult.key = this._key; } if (this._values !== undefined) { hasAnyValues = true; internalValueResult.values = this._values; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._key = undefined; this._values = 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._key = value.key; this._values = value.values; } } get key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get values() { return this.getListAttribute('values'); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.SsmPatchBaselineGlobalFilterOutputReference = SsmPatchBaselineGlobalFilterOutputReference; _e = JSII_RTTI_SYMBOL_1; SsmPatchBaselineGlobalFilterOutputReference[_e] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineGlobalFilterOutputReference", version: "19.50.0" }; class SsmPatchBaselineGlobalFilterList 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 SsmPatchBaselineGlobalFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmPatchBaselineGlobalFilterList = SsmPatchBaselineGlobalFilterList; _f = JSII_RTTI_SYMBOL_1; SsmPatchBaselineGlobalFilterList[_f] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineGlobalFilterList", version: "19.50.0" }; function ssmPatchBaselineSourceToTerraform(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 { configuration: cdktf.stringToTerraform(struct.configuration), name: cdktf.stringToTerraform(struct.name), products: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.products), }; } exports.ssmPatchBaselineSourceToTerraform = ssmPatchBaselineSourceToTerraform; function ssmPatchBaselineSourceToHclTerraform(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 = { configuration: { value: cdktf.stringToHclTerraform(struct.configuration), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, products: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.products), isBlock: false, type: "list", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmPatchBaselineSourceToHclTerraform = ssmPatchBaselineSourceToHclTerraform; class SsmPatchBaselineSourceOutputReference 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._configuration !== undefined) { hasAnyValues = true; internalValueResult.configuration = this._configuration; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._products !== undefined) { hasAnyValues = true; internalValueResult.products = this._products; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._configuration = undefined; this._name = undefined; this._products = 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._configuration = value.configuration; this._name = value.name; this._products = value.products; } } get configuration() { return this.getStringAttribute('configuration'); } set configuration(value) { this._configuration = value; } // Temporarily expose input value. Use with caution. get configurationInput() { return this._configuration; } 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 products() { return this.getListAttribute('products'); } set products(value) { this._products = value; } // Temporarily expose input value. Use with caution. get productsInput() { return this._products; } } exports.SsmPatchBaselineSourceOutputReference = SsmPatchBaselineSourceOutputReference; _g = JSII_RTTI_SYMBOL_1; SsmPatchBaselineSourceOutputReference[_g] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineSourceOutputReference", version: "19.50.0" }; class SsmPatchBaselineSourceList 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 SsmPatchBaselineSourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmPatchBaselineSourceList = SsmPatchBaselineSourceList; _h = JSII_RTTI_SYMBOL_1; SsmPatchBaselineSourceList[_h] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaselineSourceList", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssm_patch_baseline aws_ssm_patch_baseline} */ class SsmPatchBaseline extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a SsmPatchBaseline 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 SsmPatchBaseline to import * @param importFromId The id of the existing SsmPatchBaseline that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssm_patch_baseline#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SsmPatchBaseline to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_ssm_patch_baseline", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssm_patch_baseline aws_ssm_patch_baseline} 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 SsmPatchBaselineConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_ssm_patch_baseline', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // approval_rule - computed: false, optional: true, required: false this._approvalRule = new SsmPatchBaselineApprovalRuleList(this, "approval_rule", false); // global_filter - computed: false, optional: true, required: false this._globalFilter = new SsmPatchBaselineGlobalFilterList(this, "global_filter", false); // source - computed: false, optional: true, required: false this._source = new SsmPatchBaselineSourceList(this, "source", false); this._approvedPatches = config.approvedPatches; this._approvedPatchesComplianceLevel = config.approvedPatchesComplianceLevel; this._approvedPatchesEnableNonSecurity = config.approvedPatchesEnableNonSecurity; this._description = config.description; this._id = config.id; this._name = config.name; this._operatingSystem = config.operatingSystem; this._rejectedPatches = config.rejectedPatches; this._rejectedPatchesAction = config.rejectedPatchesAction; this._tags = config.tags; this._tagsAll = config.tagsAll; this._approvalRule.internalValue = config.approvalRule; this._globalFilter.internalValue = config.globalFilter; this._source.internalValue = config.source; } get approvedPatches() { return cdktf.Fn.tolist(this.getListAttribute('approved_patches')); } set approvedPatches(value) { this._approvedPatches = value; } resetApprovedPatches() { this._approvedPatches = undefined; } // Temporarily expose input value. Use with caution. get approvedPatchesInput() { return this._approvedPatches; } get approvedPatchesComplianceLevel() { return this.getStringAttribute('approved_patches_compliance_level'); } set approvedPatchesComplianceLevel(value) { this._approvedPatchesComplianceLevel = value; } resetApprovedPatchesComplianceLevel() { this._approvedPatchesComplianceLevel = undefined; } // Temporarily expose input value. Use with caution. get approvedPatchesComplianceLevelInput() { return this._approvedPatchesComplianceLevel; } get approvedPatchesEnableNonSecurity() { return this.getBooleanAttribute('approved_patches_enable_non_security'); } set approvedPatchesEnableNonSecurity(value) { this._approvedPatchesEnableNonSecurity = value; } resetApprovedPatchesEnableNonSecurity() { this._approvedPatchesEnableNonSecurity = undefined; } // Temporarily expose input value. Use with caution. get approvedPatchesEnableNonSecurityInput() { return this._approvedPatchesEnableNonSecurity; } // 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; } // json - computed: true, optional: false, required: false get json() { return this.getStringAttribute('json'); } 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 operatingSystem() { return this.getStringAttribute('operating_system'); } set operatingSystem(value) { this._operatingSystem = value; } resetOperatingSystem() { this._operatingSystem = undefined; } // Temporarily expose input value. Use with caution. get operatingSystemInput() { return this._operatingSystem; } get rejectedPatches() { return cdktf.Fn.tolist(this.getListAttribute('rejected_patches')); } set rejectedPatches(value) { this._rejectedPatches = value; } resetRejectedPatches() { this._rejectedPatches = undefined; } // Temporarily expose input value. Use with caution. get rejectedPatchesInput() { return this._rejectedPatches; } get rejectedPatchesAction() { return this.getStringAttribute('rejected_patches_action'); } set rejectedPatchesAction(value) { this._rejectedPatchesAction = value; } resetRejectedPatchesAction() { this._rejectedPatchesAction = undefined; } // Temporarily expose input value. Use with caution. get rejectedPatchesActionInput() { return this._rejectedPatchesAction; } 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 approvalRule() { return this._approvalRule; } putApprovalRule(value) { this._approvalRule.internalValue = value; } resetApprovalRule() { this._approvalRule.internalValue = undefined; } // Temporarily expose input value. Use with caution. get approvalRuleInput() { return this._approvalRule.internalValue; } get globalFilter() { return this._globalFilter; } putGlobalFilter(value) { this._globalFilter.internalValue = value; } resetGlobalFilter() { this._globalFilter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get globalFilterInput() { return this._globalFilter.internalValue; } get source() { return this._source; } putSource(value) { this._source.internalValue = value; } resetSource() { this._source.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { approved_patches: cdktf.listMapper(cdktf.stringToTerraform, false)(this._approvedPatches), approved_patches_compliance_level: cdktf.stringToTerraform(this._approvedPatchesComplianceLevel), approved_patches_enable_non_security: cdktf.booleanToTerraform(this._approvedPatchesEnableNonSecurity), description: cdktf.stringToTerraform(this._description), id: cdktf.stringToTerraform(this._id), name: cdktf.stringToTerraform(this._name), operating_system: cdktf.stringToTerraform(this._operatingSystem), rejected_patches: cdktf.listMapper(cdktf.stringToTerraform, false)(this._rejectedPatches), rejected_patches_action: cdktf.stringToTerraform(this._rejectedPatchesAction), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), approval_rule: cdktf.listMapper(ssmPatchBaselineApprovalRuleToTerraform, true)(this._approvalRule.internalValue), global_filter: cdktf.listMapper(ssmPatchBaselineGlobalFilterToTerraform, true)(this._globalFilter.internalValue), source: cdktf.listMapper(ssmPatchBaselineSourceToTerraform, true)(this._source.internalValue), }; } synthesizeHclAttributes() { const attrs = { approved_patches: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._approvedPatches), isBlock: false, type: "set", storageClassType: "stringList", }, approved_patches_compliance_level: { value: cdktf.stringToHclTerraform(this._approvedPatchesComplianceLevel), isBlock: false, type: "simple", storageClassType: "string", }, approved_patches_enable_non_security: { value: cdktf.booleanToHclTerraform(this._approvedPatchesEnableNonSecurity), isBlock: false, type: "simple", storageClassType: "boolean", }, description: { value: cdktf.stringToHclTerraform(this._description), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(this._name), isBlock: false, type: "simple", storageClassType: "string", }, operating_system: { value: cdktf.stringToHclTerraform(this._operatingSystem), isBlock: false, type: "simple", storageClassType: "string", }, rejected_patches: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._rejectedPatches), isBlock: false, type: "set", storageClassType: "stringList", }, rejected_patches_action: { value: cdktf.stringToHclTerraform(this._rejectedPatchesAction), 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", }, approval_rule: { value: cdktf.listMapperHcl(ssmPatchBaselineApprovalRuleToHclTerraform, true)(this._approvalRule.internalValue), isBlock: true, type: "list", storageClassType: "SsmPatchBaselineApprovalRuleList", }, global_filter: { value: cdktf.listMapperHcl(ssmPatchBaselineGlobalFilterToHclTerraform, true)(this._globalFilter.internalValue), isBlock: true, type: "list", storageClassType: "SsmPatchBaselineGlobalFilterList", }, source: { value: cdktf.listMapperHcl(ssmPatchBaselineSourceToHclTerraform, true)(this._source.internalValue), isBlock: true, type: "list", storageClassType: "SsmPatchBaselineSourceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.SsmPatchBaseline = SsmPatchBaseline; _j = JSII_RTTI_SYMBOL_1; SsmPatchBaseline[_j] = { fqn: "@cdktf/provider-aws.ssmPatchBaseline.SsmPatchBaseline", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= SsmPatchBaseline.tfResourceType = "aws_ssm_patch_baseline"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3NtLXBhdGNoLWJhc2VsaW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBa0YvQixTQUFnQixrREFBa0QsQ0FBQyxNQUFvRTtJQUNySSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO0tBQ3pFLENBQUE7QUFDSCxDQUFDO0FBVEQsZ0hBU0M7QUFHRCxTQUFnQixxREFBcUQsQ0FBQyxNQUFvRTtJQUN4SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLEdBQUcsRUFB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