@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
999 lines • 141 kB
JavaScript
"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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