UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,146 lines 182 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.SsmincidentsResponsePlan = exports.SsmincidentsResponsePlanIntegrationOutputReference = exports.ssmincidentsResponsePlanIntegrationToHclTerraform = exports.ssmincidentsResponsePlanIntegrationToTerraform = exports.SsmincidentsResponsePlanIntegrationPagerdutyList = exports.SsmincidentsResponsePlanIntegrationPagerdutyOutputReference = exports.ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform = exports.ssmincidentsResponsePlanIntegrationPagerdutyToTerraform = exports.SsmincidentsResponsePlanIncidentTemplateOutputReference = exports.ssmincidentsResponsePlanIncidentTemplateToHclTerraform = exports.ssmincidentsResponsePlanIncidentTemplateToTerraform = exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetList = exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference = exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform = exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform = exports.SsmincidentsResponsePlanActionOutputReference = exports.ssmincidentsResponsePlanActionToHclTerraform = exports.ssmincidentsResponsePlanActionToTerraform = exports.SsmincidentsResponsePlanActionSsmAutomationList = exports.SsmincidentsResponsePlanActionSsmAutomationOutputReference = exports.ssmincidentsResponsePlanActionSsmAutomationToHclTerraform = exports.ssmincidentsResponsePlanActionSsmAutomationToTerraform = exports.SsmincidentsResponsePlanActionSsmAutomationParameterList = exports.SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference = exports.ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform = exports.ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform(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), values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values), }; } exports.ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform = ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform; function ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform(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", }, values: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform = ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform; class SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference 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._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._name = 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._name = value.name; this._values = value.values; } } 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 values() { return cdktf.Fn.tolist(this.getListAttribute('values')); } set values(value) { this._values = value; } // Temporarily expose input value. Use with caution. get valuesInput() { return this._values; } } exports.SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference = SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference; _a = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference[_a] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference", version: "19.50.0" }; class SsmincidentsResponsePlanActionSsmAutomationParameterList 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 SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmincidentsResponsePlanActionSsmAutomationParameterList = SsmincidentsResponsePlanActionSsmAutomationParameterList; _b = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanActionSsmAutomationParameterList[_b] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanActionSsmAutomationParameterList", version: "19.50.0" }; function ssmincidentsResponsePlanActionSsmAutomationToTerraform(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 { document_name: cdktf.stringToTerraform(struct.documentName), document_version: cdktf.stringToTerraform(struct.documentVersion), dynamic_parameters: cdktf.hashMapper(cdktf.stringToTerraform)(struct.dynamicParameters), role_arn: cdktf.stringToTerraform(struct.roleArn), target_account: cdktf.stringToTerraform(struct.targetAccount), parameter: cdktf.listMapper(ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform, true)(struct.parameter), }; } exports.ssmincidentsResponsePlanActionSsmAutomationToTerraform = ssmincidentsResponsePlanActionSsmAutomationToTerraform; function ssmincidentsResponsePlanActionSsmAutomationToHclTerraform(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 = { document_name: { value: cdktf.stringToHclTerraform(struct.documentName), isBlock: false, type: "simple", storageClassType: "string", }, document_version: { value: cdktf.stringToHclTerraform(struct.documentVersion), isBlock: false, type: "simple", storageClassType: "string", }, dynamic_parameters: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.dynamicParameters), isBlock: false, type: "map", storageClassType: "stringMap", }, role_arn: { value: cdktf.stringToHclTerraform(struct.roleArn), isBlock: false, type: "simple", storageClassType: "string", }, target_account: { value: cdktf.stringToHclTerraform(struct.targetAccount), isBlock: false, type: "simple", storageClassType: "string", }, parameter: { value: cdktf.listMapperHcl(ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform, true)(struct.parameter), isBlock: true, type: "set", storageClassType: "SsmincidentsResponsePlanActionSsmAutomationParameterList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanActionSsmAutomationToHclTerraform = ssmincidentsResponsePlanActionSsmAutomationToHclTerraform; class SsmincidentsResponsePlanActionSsmAutomationOutputReference 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; // parameter - computed: false, optional: true, required: false this._parameter = new SsmincidentsResponsePlanActionSsmAutomationParameterList(this, "parameter", true); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._documentName !== undefined) { hasAnyValues = true; internalValueResult.documentName = this._documentName; } if (this._documentVersion !== undefined) { hasAnyValues = true; internalValueResult.documentVersion = this._documentVersion; } if (this._dynamicParameters !== undefined) { hasAnyValues = true; internalValueResult.dynamicParameters = this._dynamicParameters; } if (this._roleArn !== undefined) { hasAnyValues = true; internalValueResult.roleArn = this._roleArn; } if (this._targetAccount !== undefined) { hasAnyValues = true; internalValueResult.targetAccount = this._targetAccount; } if (this._parameter?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.parameter = this._parameter?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._documentName = undefined; this._documentVersion = undefined; this._dynamicParameters = undefined; this._roleArn = undefined; this._targetAccount = undefined; this._parameter.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._documentName = value.documentName; this._documentVersion = value.documentVersion; this._dynamicParameters = value.dynamicParameters; this._roleArn = value.roleArn; this._targetAccount = value.targetAccount; this._parameter.internalValue = value.parameter; } } get documentName() { return this.getStringAttribute('document_name'); } set documentName(value) { this._documentName = value; } // Temporarily expose input value. Use with caution. get documentNameInput() { return this._documentName; } get documentVersion() { return this.getStringAttribute('document_version'); } set documentVersion(value) { this._documentVersion = value; } resetDocumentVersion() { this._documentVersion = undefined; } // Temporarily expose input value. Use with caution. get documentVersionInput() { return this._documentVersion; } get dynamicParameters() { return this.getStringMapAttribute('dynamic_parameters'); } set dynamicParameters(value) { this._dynamicParameters = value; } resetDynamicParameters() { this._dynamicParameters = undefined; } // Temporarily expose input value. Use with caution. get dynamicParametersInput() { return this._dynamicParameters; } get roleArn() { return this.getStringAttribute('role_arn'); } set roleArn(value) { this._roleArn = value; } // Temporarily expose input value. Use with caution. get roleArnInput() { return this._roleArn; } get targetAccount() { return this.getStringAttribute('target_account'); } set targetAccount(value) { this._targetAccount = value; } resetTargetAccount() { this._targetAccount = undefined; } // Temporarily expose input value. Use with caution. get targetAccountInput() { return this._targetAccount; } get parameter() { return this._parameter; } putParameter(value) { this._parameter.internalValue = value; } resetParameter() { this._parameter.internalValue = undefined; } // Temporarily expose input value. Use with caution. get parameterInput() { return this._parameter.internalValue; } } exports.SsmincidentsResponsePlanActionSsmAutomationOutputReference = SsmincidentsResponsePlanActionSsmAutomationOutputReference; _c = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanActionSsmAutomationOutputReference[_c] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanActionSsmAutomationOutputReference", version: "19.50.0" }; class SsmincidentsResponsePlanActionSsmAutomationList 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 SsmincidentsResponsePlanActionSsmAutomationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmincidentsResponsePlanActionSsmAutomationList = SsmincidentsResponsePlanActionSsmAutomationList; _d = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanActionSsmAutomationList[_d] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanActionSsmAutomationList", version: "19.50.0" }; function ssmincidentsResponsePlanActionToTerraform(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 { ssm_automation: cdktf.listMapper(ssmincidentsResponsePlanActionSsmAutomationToTerraform, true)(struct.ssmAutomation), }; } exports.ssmincidentsResponsePlanActionToTerraform = ssmincidentsResponsePlanActionToTerraform; function ssmincidentsResponsePlanActionToHclTerraform(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 = { ssm_automation: { value: cdktf.listMapperHcl(ssmincidentsResponsePlanActionSsmAutomationToHclTerraform, true)(struct.ssmAutomation), isBlock: true, type: "list", storageClassType: "SsmincidentsResponsePlanActionSsmAutomationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanActionToHclTerraform = ssmincidentsResponsePlanActionToHclTerraform; class SsmincidentsResponsePlanActionOutputReference 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; // ssm_automation - computed: false, optional: true, required: false this._ssmAutomation = new SsmincidentsResponsePlanActionSsmAutomationList(this, "ssm_automation", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._ssmAutomation?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.ssmAutomation = this._ssmAutomation?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._ssmAutomation.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._ssmAutomation.internalValue = value.ssmAutomation; } } get ssmAutomation() { return this._ssmAutomation; } putSsmAutomation(value) { this._ssmAutomation.internalValue = value; } resetSsmAutomation() { this._ssmAutomation.internalValue = undefined; } // Temporarily expose input value. Use with caution. get ssmAutomationInput() { return this._ssmAutomation.internalValue; } } exports.SsmincidentsResponsePlanActionOutputReference = SsmincidentsResponsePlanActionOutputReference; _e = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanActionOutputReference[_e] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanActionOutputReference", version: "19.50.0" }; function ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform(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 { sns_topic_arn: cdktf.stringToTerraform(struct.snsTopicArn), }; } exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform = ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform; function ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform(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 = { sns_topic_arn: { value: cdktf.stringToHclTerraform(struct.snsTopicArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform = ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform; class SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference 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._snsTopicArn !== undefined) { hasAnyValues = true; internalValueResult.snsTopicArn = this._snsTopicArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._snsTopicArn = 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._snsTopicArn = value.snsTopicArn; } } get snsTopicArn() { return this.getStringAttribute('sns_topic_arn'); } set snsTopicArn(value) { this._snsTopicArn = value; } // Temporarily expose input value. Use with caution. get snsTopicArnInput() { return this._snsTopicArn; } } exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference = SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference; _f = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference[_f] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference", version: "19.50.0" }; class SsmincidentsResponsePlanIncidentTemplateNotificationTargetList 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 SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetList = SsmincidentsResponsePlanIncidentTemplateNotificationTargetList; _g = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIncidentTemplateNotificationTargetList[_g] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIncidentTemplateNotificationTargetList", version: "19.50.0" }; function ssmincidentsResponsePlanIncidentTemplateToTerraform(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 { dedupe_string: cdktf.stringToTerraform(struct.dedupeString), impact: cdktf.numberToTerraform(struct.impact), incident_tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.incidentTags), summary: cdktf.stringToTerraform(struct.summary), title: cdktf.stringToTerraform(struct.title), notification_target: cdktf.listMapper(ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform, true)(struct.notificationTarget), }; } exports.ssmincidentsResponsePlanIncidentTemplateToTerraform = ssmincidentsResponsePlanIncidentTemplateToTerraform; function ssmincidentsResponsePlanIncidentTemplateToHclTerraform(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 = { dedupe_string: { value: cdktf.stringToHclTerraform(struct.dedupeString), isBlock: false, type: "simple", storageClassType: "string", }, impact: { value: cdktf.numberToHclTerraform(struct.impact), isBlock: false, type: "simple", storageClassType: "number", }, incident_tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.incidentTags), isBlock: false, type: "map", storageClassType: "stringMap", }, summary: { value: cdktf.stringToHclTerraform(struct.summary), isBlock: false, type: "simple", storageClassType: "string", }, title: { value: cdktf.stringToHclTerraform(struct.title), isBlock: false, type: "simple", storageClassType: "string", }, notification_target: { value: cdktf.listMapperHcl(ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform, true)(struct.notificationTarget), isBlock: true, type: "set", storageClassType: "SsmincidentsResponsePlanIncidentTemplateNotificationTargetList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanIncidentTemplateToHclTerraform = ssmincidentsResponsePlanIncidentTemplateToHclTerraform; class SsmincidentsResponsePlanIncidentTemplateOutputReference 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; // notification_target - computed: false, optional: true, required: false this._notificationTarget = new SsmincidentsResponsePlanIncidentTemplateNotificationTargetList(this, "notification_target", true); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._dedupeString !== undefined) { hasAnyValues = true; internalValueResult.dedupeString = this._dedupeString; } if (this._impact !== undefined) { hasAnyValues = true; internalValueResult.impact = this._impact; } if (this._incidentTags !== undefined) { hasAnyValues = true; internalValueResult.incidentTags = this._incidentTags; } if (this._summary !== undefined) { hasAnyValues = true; internalValueResult.summary = this._summary; } if (this._title !== undefined) { hasAnyValues = true; internalValueResult.title = this._title; } if (this._notificationTarget?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.notificationTarget = this._notificationTarget?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._dedupeString = undefined; this._impact = undefined; this._incidentTags = undefined; this._summary = undefined; this._title = undefined; this._notificationTarget.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._dedupeString = value.dedupeString; this._impact = value.impact; this._incidentTags = value.incidentTags; this._summary = value.summary; this._title = value.title; this._notificationTarget.internalValue = value.notificationTarget; } } get dedupeString() { return this.getStringAttribute('dedupe_string'); } set dedupeString(value) { this._dedupeString = value; } resetDedupeString() { this._dedupeString = undefined; } // Temporarily expose input value. Use with caution. get dedupeStringInput() { return this._dedupeString; } get impact() { return this.getNumberAttribute('impact'); } set impact(value) { this._impact = value; } // Temporarily expose input value. Use with caution. get impactInput() { return this._impact; } get incidentTags() { return this.getStringMapAttribute('incident_tags'); } set incidentTags(value) { this._incidentTags = value; } resetIncidentTags() { this._incidentTags = undefined; } // Temporarily expose input value. Use with caution. get incidentTagsInput() { return this._incidentTags; } get summary() { return this.getStringAttribute('summary'); } set summary(value) { this._summary = value; } resetSummary() { this._summary = undefined; } // Temporarily expose input value. Use with caution. get summaryInput() { return this._summary; } get title() { return this.getStringAttribute('title'); } set title(value) { this._title = value; } // Temporarily expose input value. Use with caution. get titleInput() { return this._title; } get notificationTarget() { return this._notificationTarget; } putNotificationTarget(value) { this._notificationTarget.internalValue = value; } resetNotificationTarget() { this._notificationTarget.internalValue = undefined; } // Temporarily expose input value. Use with caution. get notificationTargetInput() { return this._notificationTarget.internalValue; } } exports.SsmincidentsResponsePlanIncidentTemplateOutputReference = SsmincidentsResponsePlanIncidentTemplateOutputReference; _h = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIncidentTemplateOutputReference[_h] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIncidentTemplateOutputReference", version: "19.50.0" }; function ssmincidentsResponsePlanIntegrationPagerdutyToTerraform(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), secret_id: cdktf.stringToTerraform(struct.secretId), service_id: cdktf.stringToTerraform(struct.serviceId), }; } exports.ssmincidentsResponsePlanIntegrationPagerdutyToTerraform = ssmincidentsResponsePlanIntegrationPagerdutyToTerraform; function ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform(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", }, secret_id: { value: cdktf.stringToHclTerraform(struct.secretId), isBlock: false, type: "simple", storageClassType: "string", }, service_id: { value: cdktf.stringToHclTerraform(struct.serviceId), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform = ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform; class SsmincidentsResponsePlanIntegrationPagerdutyOutputReference 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._secretId !== undefined) { hasAnyValues = true; internalValueResult.secretId = this._secretId; } if (this._serviceId !== undefined) { hasAnyValues = true; internalValueResult.serviceId = this._serviceId; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._secretId = undefined; this._serviceId = 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._secretId = value.secretId; this._serviceId = value.serviceId; } } 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 secretId() { return this.getStringAttribute('secret_id'); } set secretId(value) { this._secretId = value; } // Temporarily expose input value. Use with caution. get secretIdInput() { return this._secretId; } get serviceId() { return this.getStringAttribute('service_id'); } set serviceId(value) { this._serviceId = value; } // Temporarily expose input value. Use with caution. get serviceIdInput() { return this._serviceId; } } exports.SsmincidentsResponsePlanIntegrationPagerdutyOutputReference = SsmincidentsResponsePlanIntegrationPagerdutyOutputReference; _j = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIntegrationPagerdutyOutputReference[_j] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIntegrationPagerdutyOutputReference", version: "19.50.0" }; class SsmincidentsResponsePlanIntegrationPagerdutyList 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 SsmincidentsResponsePlanIntegrationPagerdutyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SsmincidentsResponsePlanIntegrationPagerdutyList = SsmincidentsResponsePlanIntegrationPagerdutyList; _k = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIntegrationPagerdutyList[_k] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIntegrationPagerdutyList", version: "19.50.0" }; function ssmincidentsResponsePlanIntegrationToTerraform(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 { pagerduty: cdktf.listMapper(ssmincidentsResponsePlanIntegrationPagerdutyToTerraform, true)(struct.pagerduty), }; } exports.ssmincidentsResponsePlanIntegrationToTerraform = ssmincidentsResponsePlanIntegrationToTerraform; function ssmincidentsResponsePlanIntegrationToHclTerraform(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 = { pagerduty: { value: cdktf.listMapperHcl(ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform, true)(struct.pagerduty), isBlock: true, type: "list", storageClassType: "SsmincidentsResponsePlanIntegrationPagerdutyList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.ssmincidentsResponsePlanIntegrationToHclTerraform = ssmincidentsResponsePlanIntegrationToHclTerraform; class SsmincidentsResponsePlanIntegrationOutputReference 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; // pagerduty - computed: false, optional: true, required: false this._pagerduty = new SsmincidentsResponsePlanIntegrationPagerdutyList(this, "pagerduty", false); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._pagerduty?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.pagerduty = this._pagerduty?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._pagerduty.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._pagerduty.internalValue = value.pagerduty; } } get pagerduty() { return this._pagerduty; } putPagerduty(value) { this._pagerduty.internalValue = value; } resetPagerduty() { this._pagerduty.internalValue = undefined; } // Temporarily expose input value. Use with caution. get pagerdutyInput() { return this._pagerduty.internalValue; } } exports.SsmincidentsResponsePlanIntegrationOutputReference = SsmincidentsResponsePlanIntegrationOutputReference; _l = JSII_RTTI_SYMBOL_1; SsmincidentsResponsePlanIntegrationOutputReference[_l] = { fqn: "@cdktf/provider-aws.ssmincidentsResponsePlan.SsmincidentsResponsePlanIntegrationOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssmincidents_response_plan aws_ssmincidents_response_plan} */ class SsmincidentsResponsePlan extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a SsmincidentsResponsePlan 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 SsmincidentsResponsePlan to import * @param importFromId The id of the existing SsmincidentsResponsePlan that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssmincidents_response_plan#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SsmincidentsResponsePlan to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_ssmincidents_response_plan", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/ssmincidents_response_plan aws_ssmincidents_response_plan} 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 SsmincidentsResponsePlanConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_ssmincidents_response_plan', 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 }); // action - computed: false, optional: true, required: false this._action = new SsmincidentsResponsePlanActionOutputReference(this, "action"); // incident_template - computed: false, optional: false, required: true this._incidentTemplate = new SsmincidentsResponsePlanIncidentTemplateOutputReference(this, "incident_template"); // integration - computed: false, optional: true, required: false this._integration = new SsmincidentsResponsePlanIntegrationOutputReference(this, "integration"); this._chatChannel = config.chatChannel; this._displayName = config.displayName; this._engagements = config.engagements; this._id = config.id; this._name = config.name; this._tags = config.tags; this._tagsAll = config.tagsAll; this._action.internalValue = config.action; this._incidentTemplate.internalValue = config.incidentTemplate; this._integration.internalValue = config.integration; } // ========== // ATTRIBUTES // ========== // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } get chatChannel() { return cdktf.Fn.tolist(this.getListAttribute('chat_channel')); } set chatChannel(value) { this._chatChannel = value; } resetChatChannel() { this._chatChannel = undefined; } // Temporarily expose input value. Use with caution. get chatChannelInput() { return this._chatChannel; } get displayName() { return this.getStringAttribute('display_name'); } set displayName(value) { this._displayName = value; } resetDisplayName() { this._displayName = undefined; } // Temporarily expose input value. Use with caution. get displayNameInput() { return this._displayName; } get engagements() { return cdktf.Fn.tolist(this.getListAttribute('engagements')); } set engagements(value) { this._engagements = value; } resetEngagements() { this._engagements = undefined; } // Temporarily expose input value. Use with caution. get engagementsInput() { return this._engagements; } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } 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 action() { return this._action; } putAction(value) { this._action.internalVa