UNPKG

@cdktf/provider-newrelic

Version:

Prebuilt newrelic Provider for Terraform CDK (cdktf)

1,281 lines • 190 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l; Object.defineProperty(exports, "__esModule", { value: true }); exports.ServiceLevel = exports.ServiceLevelObjectiveOutputReference = exports.ServiceLevelObjectiveTimeWindowOutputReference = exports.ServiceLevelObjectiveTimeWindowRollingOutputReference = exports.ServiceLevelEventsOutputReference = exports.ServiceLevelEventsValidEventsOutputReference = exports.ServiceLevelEventsValidEventsSelectOutputReference = exports.ServiceLevelEventsGoodEventsOutputReference = exports.ServiceLevelEventsGoodEventsSelectOutputReference = exports.ServiceLevelEventsBadEventsOutputReference = exports.ServiceLevelEventsBadEventsSelectOutputReference = void 0; exports.serviceLevelEventsBadEventsSelectToTerraform = serviceLevelEventsBadEventsSelectToTerraform; exports.serviceLevelEventsBadEventsSelectToHclTerraform = serviceLevelEventsBadEventsSelectToHclTerraform; exports.serviceLevelEventsBadEventsToTerraform = serviceLevelEventsBadEventsToTerraform; exports.serviceLevelEventsBadEventsToHclTerraform = serviceLevelEventsBadEventsToHclTerraform; exports.serviceLevelEventsGoodEventsSelectToTerraform = serviceLevelEventsGoodEventsSelectToTerraform; exports.serviceLevelEventsGoodEventsSelectToHclTerraform = serviceLevelEventsGoodEventsSelectToHclTerraform; exports.serviceLevelEventsGoodEventsToTerraform = serviceLevelEventsGoodEventsToTerraform; exports.serviceLevelEventsGoodEventsToHclTerraform = serviceLevelEventsGoodEventsToHclTerraform; exports.serviceLevelEventsValidEventsSelectToTerraform = serviceLevelEventsValidEventsSelectToTerraform; exports.serviceLevelEventsValidEventsSelectToHclTerraform = serviceLevelEventsValidEventsSelectToHclTerraform; exports.serviceLevelEventsValidEventsToTerraform = serviceLevelEventsValidEventsToTerraform; exports.serviceLevelEventsValidEventsToHclTerraform = serviceLevelEventsValidEventsToHclTerraform; exports.serviceLevelEventsToTerraform = serviceLevelEventsToTerraform; exports.serviceLevelEventsToHclTerraform = serviceLevelEventsToHclTerraform; exports.serviceLevelObjectiveTimeWindowRollingToTerraform = serviceLevelObjectiveTimeWindowRollingToTerraform; exports.serviceLevelObjectiveTimeWindowRollingToHclTerraform = serviceLevelObjectiveTimeWindowRollingToHclTerraform; exports.serviceLevelObjectiveTimeWindowToTerraform = serviceLevelObjectiveTimeWindowToTerraform; exports.serviceLevelObjectiveTimeWindowToHclTerraform = serviceLevelObjectiveTimeWindowToHclTerraform; exports.serviceLevelObjectiveToTerraform = serviceLevelObjectiveToTerraform; exports.serviceLevelObjectiveToHclTerraform = serviceLevelObjectiveToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function serviceLevelEventsBadEventsSelectToTerraform(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 { attribute: cdktf.stringToTerraform(struct.attribute), function: cdktf.stringToTerraform(struct.function), threshold: cdktf.numberToTerraform(struct.threshold), }; } function serviceLevelEventsBadEventsSelectToHclTerraform(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 = { attribute: { value: cdktf.stringToHclTerraform(struct.attribute), isBlock: false, type: "simple", storageClassType: "string", }, function: { value: cdktf.stringToHclTerraform(struct.function), isBlock: false, type: "simple", storageClassType: "string", }, threshold: { value: cdktf.numberToHclTerraform(struct.threshold), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsBadEventsSelectOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._attribute !== undefined) { hasAnyValues = true; internalValueResult.attribute = this._attribute; } if (this._function !== undefined) { hasAnyValues = true; internalValueResult.function = this._function; } if (this._threshold !== undefined) { hasAnyValues = true; internalValueResult.threshold = this._threshold; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._attribute = undefined; this._function = undefined; this._threshold = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._attribute = value.attribute; this._function = value.function; this._threshold = value.threshold; } } get attribute() { return this.getStringAttribute('attribute'); } set attribute(value) { this._attribute = value; } resetAttribute() { this._attribute = undefined; } // Temporarily expose input value. Use with caution. get attributeInput() { return this._attribute; } get function() { return this.getStringAttribute('function'); } set function(value) { this._function = value; } // Temporarily expose input value. Use with caution. get functionInput() { return this._function; } get threshold() { return this.getNumberAttribute('threshold'); } set threshold(value) { this._threshold = value; } resetThreshold() { this._threshold = undefined; } // Temporarily expose input value. Use with caution. get thresholdInput() { return this._threshold; } } exports.ServiceLevelEventsBadEventsSelectOutputReference = ServiceLevelEventsBadEventsSelectOutputReference; _a = JSII_RTTI_SYMBOL_1; ServiceLevelEventsBadEventsSelectOutputReference[_a] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsBadEventsSelectOutputReference", version: "12.28.0" }; function serviceLevelEventsBadEventsToTerraform(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 { from: cdktf.stringToTerraform(struct.from), where: cdktf.stringToTerraform(struct.where), select: serviceLevelEventsBadEventsSelectToTerraform(struct.select), }; } function serviceLevelEventsBadEventsToHclTerraform(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 = { from: { value: cdktf.stringToHclTerraform(struct.from), isBlock: false, type: "simple", storageClassType: "string", }, where: { value: cdktf.stringToHclTerraform(struct.where), isBlock: false, type: "simple", storageClassType: "string", }, select: { value: serviceLevelEventsBadEventsSelectToHclTerraform(struct.select), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsBadEventsSelectList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsBadEventsOutputReference 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; // select - computed: false, optional: true, required: false this._select = new ServiceLevelEventsBadEventsSelectOutputReference(this, "select"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._from !== undefined) { hasAnyValues = true; internalValueResult.from = this._from; } if (this._where !== undefined) { hasAnyValues = true; internalValueResult.where = this._where; } if (this._select?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.select = this._select?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._from = undefined; this._where = undefined; this._select.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._from = value.from; this._where = value.where; this._select.internalValue = value.select; } } get from() { return this.getStringAttribute('from'); } set from(value) { this._from = value; } // Temporarily expose input value. Use with caution. get fromInput() { return this._from; } get where() { return this.getStringAttribute('where'); } set where(value) { this._where = value; } resetWhere() { this._where = undefined; } // Temporarily expose input value. Use with caution. get whereInput() { return this._where; } get select() { return this._select; } putSelect(value) { this._select.internalValue = value; } resetSelect() { this._select.internalValue = undefined; } // Temporarily expose input value. Use with caution. get selectInput() { return this._select.internalValue; } } exports.ServiceLevelEventsBadEventsOutputReference = ServiceLevelEventsBadEventsOutputReference; _b = JSII_RTTI_SYMBOL_1; ServiceLevelEventsBadEventsOutputReference[_b] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsBadEventsOutputReference", version: "12.28.0" }; function serviceLevelEventsGoodEventsSelectToTerraform(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 { attribute: cdktf.stringToTerraform(struct.attribute), function: cdktf.stringToTerraform(struct.function), threshold: cdktf.numberToTerraform(struct.threshold), }; } function serviceLevelEventsGoodEventsSelectToHclTerraform(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 = { attribute: { value: cdktf.stringToHclTerraform(struct.attribute), isBlock: false, type: "simple", storageClassType: "string", }, function: { value: cdktf.stringToHclTerraform(struct.function), isBlock: false, type: "simple", storageClassType: "string", }, threshold: { value: cdktf.numberToHclTerraform(struct.threshold), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsGoodEventsSelectOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._attribute !== undefined) { hasAnyValues = true; internalValueResult.attribute = this._attribute; } if (this._function !== undefined) { hasAnyValues = true; internalValueResult.function = this._function; } if (this._threshold !== undefined) { hasAnyValues = true; internalValueResult.threshold = this._threshold; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._attribute = undefined; this._function = undefined; this._threshold = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._attribute = value.attribute; this._function = value.function; this._threshold = value.threshold; } } get attribute() { return this.getStringAttribute('attribute'); } set attribute(value) { this._attribute = value; } resetAttribute() { this._attribute = undefined; } // Temporarily expose input value. Use with caution. get attributeInput() { return this._attribute; } get function() { return this.getStringAttribute('function'); } set function(value) { this._function = value; } // Temporarily expose input value. Use with caution. get functionInput() { return this._function; } get threshold() { return this.getNumberAttribute('threshold'); } set threshold(value) { this._threshold = value; } resetThreshold() { this._threshold = undefined; } // Temporarily expose input value. Use with caution. get thresholdInput() { return this._threshold; } } exports.ServiceLevelEventsGoodEventsSelectOutputReference = ServiceLevelEventsGoodEventsSelectOutputReference; _c = JSII_RTTI_SYMBOL_1; ServiceLevelEventsGoodEventsSelectOutputReference[_c] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsGoodEventsSelectOutputReference", version: "12.28.0" }; function serviceLevelEventsGoodEventsToTerraform(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 { from: cdktf.stringToTerraform(struct.from), where: cdktf.stringToTerraform(struct.where), select: serviceLevelEventsGoodEventsSelectToTerraform(struct.select), }; } function serviceLevelEventsGoodEventsToHclTerraform(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 = { from: { value: cdktf.stringToHclTerraform(struct.from), isBlock: false, type: "simple", storageClassType: "string", }, where: { value: cdktf.stringToHclTerraform(struct.where), isBlock: false, type: "simple", storageClassType: "string", }, select: { value: serviceLevelEventsGoodEventsSelectToHclTerraform(struct.select), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsGoodEventsSelectList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsGoodEventsOutputReference 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; // select - computed: false, optional: true, required: false this._select = new ServiceLevelEventsGoodEventsSelectOutputReference(this, "select"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._from !== undefined) { hasAnyValues = true; internalValueResult.from = this._from; } if (this._where !== undefined) { hasAnyValues = true; internalValueResult.where = this._where; } if (this._select?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.select = this._select?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._from = undefined; this._where = undefined; this._select.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._from = value.from; this._where = value.where; this._select.internalValue = value.select; } } get from() { return this.getStringAttribute('from'); } set from(value) { this._from = value; } // Temporarily expose input value. Use with caution. get fromInput() { return this._from; } get where() { return this.getStringAttribute('where'); } set where(value) { this._where = value; } resetWhere() { this._where = undefined; } // Temporarily expose input value. Use with caution. get whereInput() { return this._where; } get select() { return this._select; } putSelect(value) { this._select.internalValue = value; } resetSelect() { this._select.internalValue = undefined; } // Temporarily expose input value. Use with caution. get selectInput() { return this._select.internalValue; } } exports.ServiceLevelEventsGoodEventsOutputReference = ServiceLevelEventsGoodEventsOutputReference; _d = JSII_RTTI_SYMBOL_1; ServiceLevelEventsGoodEventsOutputReference[_d] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsGoodEventsOutputReference", version: "12.28.0" }; function serviceLevelEventsValidEventsSelectToTerraform(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 { attribute: cdktf.stringToTerraform(struct.attribute), function: cdktf.stringToTerraform(struct.function), threshold: cdktf.numberToTerraform(struct.threshold), }; } function serviceLevelEventsValidEventsSelectToHclTerraform(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 = { attribute: { value: cdktf.stringToHclTerraform(struct.attribute), isBlock: false, type: "simple", storageClassType: "string", }, function: { value: cdktf.stringToHclTerraform(struct.function), isBlock: false, type: "simple", storageClassType: "string", }, threshold: { value: cdktf.numberToHclTerraform(struct.threshold), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsValidEventsSelectOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._attribute !== undefined) { hasAnyValues = true; internalValueResult.attribute = this._attribute; } if (this._function !== undefined) { hasAnyValues = true; internalValueResult.function = this._function; } if (this._threshold !== undefined) { hasAnyValues = true; internalValueResult.threshold = this._threshold; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._attribute = undefined; this._function = undefined; this._threshold = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._attribute = value.attribute; this._function = value.function; this._threshold = value.threshold; } } get attribute() { return this.getStringAttribute('attribute'); } set attribute(value) { this._attribute = value; } resetAttribute() { this._attribute = undefined; } // Temporarily expose input value. Use with caution. get attributeInput() { return this._attribute; } get function() { return this.getStringAttribute('function'); } set function(value) { this._function = value; } // Temporarily expose input value. Use with caution. get functionInput() { return this._function; } get threshold() { return this.getNumberAttribute('threshold'); } set threshold(value) { this._threshold = value; } resetThreshold() { this._threshold = undefined; } // Temporarily expose input value. Use with caution. get thresholdInput() { return this._threshold; } } exports.ServiceLevelEventsValidEventsSelectOutputReference = ServiceLevelEventsValidEventsSelectOutputReference; _e = JSII_RTTI_SYMBOL_1; ServiceLevelEventsValidEventsSelectOutputReference[_e] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsValidEventsSelectOutputReference", version: "12.28.0" }; function serviceLevelEventsValidEventsToTerraform(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 { from: cdktf.stringToTerraform(struct.from), where: cdktf.stringToTerraform(struct.where), select: serviceLevelEventsValidEventsSelectToTerraform(struct.select), }; } function serviceLevelEventsValidEventsToHclTerraform(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 = { from: { value: cdktf.stringToHclTerraform(struct.from), isBlock: false, type: "simple", storageClassType: "string", }, where: { value: cdktf.stringToHclTerraform(struct.where), isBlock: false, type: "simple", storageClassType: "string", }, select: { value: serviceLevelEventsValidEventsSelectToHclTerraform(struct.select), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsValidEventsSelectList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsValidEventsOutputReference 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; // select - computed: false, optional: true, required: false this._select = new ServiceLevelEventsValidEventsSelectOutputReference(this, "select"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._from !== undefined) { hasAnyValues = true; internalValueResult.from = this._from; } if (this._where !== undefined) { hasAnyValues = true; internalValueResult.where = this._where; } if (this._select?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.select = this._select?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._from = undefined; this._where = undefined; this._select.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._from = value.from; this._where = value.where; this._select.internalValue = value.select; } } get from() { return this.getStringAttribute('from'); } set from(value) { this._from = value; } // Temporarily expose input value. Use with caution. get fromInput() { return this._from; } get where() { return this.getStringAttribute('where'); } set where(value) { this._where = value; } resetWhere() { this._where = undefined; } // Temporarily expose input value. Use with caution. get whereInput() { return this._where; } get select() { return this._select; } putSelect(value) { this._select.internalValue = value; } resetSelect() { this._select.internalValue = undefined; } // Temporarily expose input value. Use with caution. get selectInput() { return this._select.internalValue; } } exports.ServiceLevelEventsValidEventsOutputReference = ServiceLevelEventsValidEventsOutputReference; _f = JSII_RTTI_SYMBOL_1; ServiceLevelEventsValidEventsOutputReference[_f] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsValidEventsOutputReference", version: "12.28.0" }; function serviceLevelEventsToTerraform(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 { account_id: cdktf.numberToTerraform(struct.accountId), bad_events: serviceLevelEventsBadEventsToTerraform(struct.badEvents), good_events: serviceLevelEventsGoodEventsToTerraform(struct.goodEvents), valid_events: serviceLevelEventsValidEventsToTerraform(struct.validEvents), }; } function serviceLevelEventsToHclTerraform(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 = { account_id: { value: cdktf.numberToHclTerraform(struct.accountId), isBlock: false, type: "simple", storageClassType: "number", }, bad_events: { value: serviceLevelEventsBadEventsToHclTerraform(struct.badEvents), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsBadEventsList", }, good_events: { value: serviceLevelEventsGoodEventsToHclTerraform(struct.goodEvents), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsGoodEventsList", }, valid_events: { value: serviceLevelEventsValidEventsToHclTerraform(struct.validEvents), isBlock: true, type: "list", storageClassType: "ServiceLevelEventsValidEventsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelEventsOutputReference 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; // bad_events - computed: false, optional: true, required: false this._badEvents = new ServiceLevelEventsBadEventsOutputReference(this, "bad_events"); // good_events - computed: false, optional: true, required: false this._goodEvents = new ServiceLevelEventsGoodEventsOutputReference(this, "good_events"); // valid_events - computed: false, optional: false, required: true this._validEvents = new ServiceLevelEventsValidEventsOutputReference(this, "valid_events"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._accountId !== undefined) { hasAnyValues = true; internalValueResult.accountId = this._accountId; } if (this._badEvents?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.badEvents = this._badEvents?.internalValue; } if (this._goodEvents?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.goodEvents = this._goodEvents?.internalValue; } if (this._validEvents?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.validEvents = this._validEvents?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._accountId = undefined; this._badEvents.internalValue = undefined; this._goodEvents.internalValue = undefined; this._validEvents.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._accountId = value.accountId; this._badEvents.internalValue = value.badEvents; this._goodEvents.internalValue = value.goodEvents; this._validEvents.internalValue = value.validEvents; } } get accountId() { return this.getNumberAttribute('account_id'); } set accountId(value) { this._accountId = value; } // Temporarily expose input value. Use with caution. get accountIdInput() { return this._accountId; } get badEvents() { return this._badEvents; } putBadEvents(value) { this._badEvents.internalValue = value; } resetBadEvents() { this._badEvents.internalValue = undefined; } // Temporarily expose input value. Use with caution. get badEventsInput() { return this._badEvents.internalValue; } get goodEvents() { return this._goodEvents; } putGoodEvents(value) { this._goodEvents.internalValue = value; } resetGoodEvents() { this._goodEvents.internalValue = undefined; } // Temporarily expose input value. Use with caution. get goodEventsInput() { return this._goodEvents.internalValue; } get validEvents() { return this._validEvents; } putValidEvents(value) { this._validEvents.internalValue = value; } // Temporarily expose input value. Use with caution. get validEventsInput() { return this._validEvents.internalValue; } } exports.ServiceLevelEventsOutputReference = ServiceLevelEventsOutputReference; _g = JSII_RTTI_SYMBOL_1; ServiceLevelEventsOutputReference[_g] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelEventsOutputReference", version: "12.28.0" }; function serviceLevelObjectiveTimeWindowRollingToTerraform(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 { count: cdktf.numberToTerraform(struct.count), unit: cdktf.stringToTerraform(struct.unit), }; } function serviceLevelObjectiveTimeWindowRollingToHclTerraform(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 = { count: { value: cdktf.numberToHclTerraform(struct.count), isBlock: false, type: "simple", storageClassType: "number", }, unit: { value: cdktf.stringToHclTerraform(struct.unit), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelObjectiveTimeWindowRollingOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._count !== undefined) { hasAnyValues = true; internalValueResult.count = this._count; } if (this._unit !== undefined) { hasAnyValues = true; internalValueResult.unit = this._unit; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._count = undefined; this._unit = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._count = value.count; this._unit = value.unit; } } get count() { return this.getNumberAttribute('count'); } set count(value) { this._count = value; } // Temporarily expose input value. Use with caution. get countInput() { return this._count; } get unit() { return this.getStringAttribute('unit'); } set unit(value) { this._unit = value; } // Temporarily expose input value. Use with caution. get unitInput() { return this._unit; } } exports.ServiceLevelObjectiveTimeWindowRollingOutputReference = ServiceLevelObjectiveTimeWindowRollingOutputReference; _h = JSII_RTTI_SYMBOL_1; ServiceLevelObjectiveTimeWindowRollingOutputReference[_h] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelObjectiveTimeWindowRollingOutputReference", version: "12.28.0" }; function serviceLevelObjectiveTimeWindowToTerraform(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 { rolling: serviceLevelObjectiveTimeWindowRollingToTerraform(struct.rolling), }; } function serviceLevelObjectiveTimeWindowToHclTerraform(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 = { rolling: { value: serviceLevelObjectiveTimeWindowRollingToHclTerraform(struct.rolling), isBlock: true, type: "list", storageClassType: "ServiceLevelObjectiveTimeWindowRollingList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelObjectiveTimeWindowOutputReference 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; // rolling - computed: false, optional: false, required: true this._rolling = new ServiceLevelObjectiveTimeWindowRollingOutputReference(this, "rolling"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._rolling?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.rolling = this._rolling?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._rolling.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._rolling.internalValue = value.rolling; } } get rolling() { return this._rolling; } putRolling(value) { this._rolling.internalValue = value; } // Temporarily expose input value. Use with caution. get rollingInput() { return this._rolling.internalValue; } } exports.ServiceLevelObjectiveTimeWindowOutputReference = ServiceLevelObjectiveTimeWindowOutputReference; _j = JSII_RTTI_SYMBOL_1; ServiceLevelObjectiveTimeWindowOutputReference[_j] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelObjectiveTimeWindowOutputReference", version: "12.28.0" }; function serviceLevelObjectiveToTerraform(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 { description: cdktf.stringToTerraform(struct.description), name: cdktf.stringToTerraform(struct.name), target: cdktf.numberToTerraform(struct.target), time_window: serviceLevelObjectiveTimeWindowToTerraform(struct.timeWindow), }; } function serviceLevelObjectiveToHclTerraform(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 = { description: { value: cdktf.stringToHclTerraform(struct.description), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, target: { value: cdktf.numberToHclTerraform(struct.target), isBlock: false, type: "simple", storageClassType: "number", }, time_window: { value: serviceLevelObjectiveTimeWindowToHclTerraform(struct.timeWindow), isBlock: true, type: "list", storageClassType: "ServiceLevelObjectiveTimeWindowList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class ServiceLevelObjectiveOutputReference 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; // time_window - computed: false, optional: false, required: true this._timeWindow = new ServiceLevelObjectiveTimeWindowOutputReference(this, "time_window"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._description !== undefined) { hasAnyValues = true; internalValueResult.description = this._description; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._target !== undefined) { hasAnyValues = true; internalValueResult.target = this._target; } if (this._timeWindow?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.timeWindow = this._timeWindow?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._description = undefined; this._name = undefined; this._target = undefined; this._timeWindow.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._description = value.description; this._name = value.name; this._target = value.target; this._timeWindow.internalValue = value.timeWindow; } } 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 name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get target() { return this.getNumberAttribute('target'); } set target(value) { this._target = value; } // Temporarily expose input value. Use with caution. get targetInput() { return this._target; } get timeWindow() { return this._timeWindow; } putTimeWindow(value) { this._timeWindow.internalValue = value; } // Temporarily expose input value. Use with caution. get timeWindowInput() { return this._timeWindow.internalValue; } } exports.ServiceLevelObjectiveOutputReference = ServiceLevelObjectiveOutputReference; _k = JSII_RTTI_SYMBOL_1; ServiceLevelObjectiveOutputReference[_k] = { fqn: "@cdktf/provider-newrelic.serviceLevel.ServiceLevelObjectiveOutputReference", version: "12.28.0" }; /** * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/service_level newrelic_service_level} */ class ServiceLevel extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a ServiceLevel 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 ServiceLevel to import * @param importFromId The id of the existing ServiceLevel that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/service_level#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ServiceLevel to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_service_level", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/service_level newrelic_service_level} 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 ServiceLevelConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'newrelic_service_level', terraformGeneratorMetadata: { providerName: 'newrelic', providerVersion: '3.59.0', providerVersionConstraint: '~> 3.7' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // events - co