@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,180 lines • 184 kB
JavaScript
"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.SsmincidentsResponsePlanIntegrationPagerdutyList = exports.SsmincidentsResponsePlanIntegrationPagerdutyOutputReference = exports.SsmincidentsResponsePlanIncidentTemplateOutputReference = exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetList = exports.SsmincidentsResponsePlanIncidentTemplateNotificationTargetOutputReference = exports.SsmincidentsResponsePlanActionOutputReference = exports.SsmincidentsResponsePlanActionSsmAutomationList = exports.SsmincidentsResponsePlanActionSsmAutomationOutputReference = exports.SsmincidentsResponsePlanActionSsmAutomationParameterList = exports.SsmincidentsResponsePlanActionSsmAutomationParameterOutputReference = void 0;
exports.ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform = ssmincidentsResponsePlanActionSsmAutomationParameterToTerraform;
exports.ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform = ssmincidentsResponsePlanActionSsmAutomationParameterToHclTerraform;
exports.ssmincidentsResponsePlanActionSsmAutomationToTerraform = ssmincidentsResponsePlanActionSsmAutomationToTerraform;
exports.ssmincidentsResponsePlanActionSsmAutomationToHclTerraform = ssmincidentsResponsePlanActionSsmAutomationToHclTerraform;
exports.ssmincidentsResponsePlanActionToTerraform = ssmincidentsResponsePlanActionToTerraform;
exports.ssmincidentsResponsePlanActionToHclTerraform = ssmincidentsResponsePlanActionToHclTerraform;
exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform = ssmincidentsResponsePlanIncidentTemplateNotificationTargetToTerraform;
exports.ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform = ssmincidentsResponsePlanIncidentTemplateNotificationTargetToHclTerraform;
exports.ssmincidentsResponsePlanIncidentTemplateToTerraform = ssmincidentsResponsePlanIncidentTemplateToTerraform;
exports.ssmincidentsResponsePlanIncidentTemplateToHclTerraform = ssmincidentsResponsePlanIncidentTemplateToHclTerraform;
exports.ssmincidentsResponsePlanIntegrationPagerdutyToTerraform = ssmincidentsResponsePlanIntegrationPagerdutyToTerraform;
exports.ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform = ssmincidentsResponsePlanIntegrationPagerdutyToHclTerraform;
exports.ssmincidentsResponsePlanIntegrationToTerraform = ssmincidentsResponsePlanIntegrationToTerraform;
exports.ssmincidentsResponsePlanIntegrationToHclTerraform = ssmincidentsResponsePlanIntegrationToHclTerraform;
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
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: "21.22.1" };
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),
};
}
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));
}
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: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.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/6.25.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/6.25.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: '6.25.0',
providerVersionConstraint: '~> 6.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// 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._region = config.region;
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 region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
get 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.internalValue = value;
}
resetAction() {
this._action.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get actionInput() {
return this._action.internalValue;
}
get incidentTemplate() {
return this._incidentTemplate;
}
putIncidentTemplate(value) {
this._incidentTemplate.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get incidentTemplateInput() {
return this._incidentTemplate.internalValue;
}
get integration() {
return this.