@cdktf/provider-newrelic
Version:
Prebuilt newrelic Provider for Terraform CDK (cdktf)
1,058 lines • 147 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Workflow = exports.WorkflowIssuesFilterOutputReference = exports.WorkflowIssuesFilterPredicateList = exports.WorkflowIssuesFilterPredicateOutputReference = exports.WorkflowEnrichmentsOutputReference = exports.WorkflowEnrichmentsNrqlList = exports.WorkflowEnrichmentsNrqlOutputReference = exports.WorkflowEnrichmentsNrqlConfigurationList = exports.WorkflowEnrichmentsNrqlConfigurationOutputReference = exports.WorkflowDestinationList = exports.WorkflowDestinationOutputReference = void 0;
exports.workflowDestinationToTerraform = workflowDestinationToTerraform;
exports.workflowDestinationToHclTerraform = workflowDestinationToHclTerraform;
exports.workflowEnrichmentsNrqlConfigurationToTerraform = workflowEnrichmentsNrqlConfigurationToTerraform;
exports.workflowEnrichmentsNrqlConfigurationToHclTerraform = workflowEnrichmentsNrqlConfigurationToHclTerraform;
exports.workflowEnrichmentsNrqlToTerraform = workflowEnrichmentsNrqlToTerraform;
exports.workflowEnrichmentsNrqlToHclTerraform = workflowEnrichmentsNrqlToHclTerraform;
exports.workflowEnrichmentsToTerraform = workflowEnrichmentsToTerraform;
exports.workflowEnrichmentsToHclTerraform = workflowEnrichmentsToHclTerraform;
exports.workflowIssuesFilterPredicateToTerraform = workflowIssuesFilterPredicateToTerraform;
exports.workflowIssuesFilterPredicateToHclTerraform = workflowIssuesFilterPredicateToHclTerraform;
exports.workflowIssuesFilterToTerraform = workflowIssuesFilterToTerraform;
exports.workflowIssuesFilterToHclTerraform = workflowIssuesFilterToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function workflowDestinationToTerraform(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 {
channel_id: cdktf.stringToTerraform(struct.channelId),
notification_triggers: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notificationTriggers),
update_original_message: cdktf.booleanToTerraform(struct.updateOriginalMessage),
};
}
function workflowDestinationToHclTerraform(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 = {
channel_id: {
value: cdktf.stringToHclTerraform(struct.channelId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
notification_triggers: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notificationTriggers),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
update_original_message: {
value: cdktf.booleanToHclTerraform(struct.updateOriginalMessage),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowDestinationOutputReference 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._channelId !== undefined) {
hasAnyValues = true;
internalValueResult.channelId = this._channelId;
}
if (this._notificationTriggers !== undefined) {
hasAnyValues = true;
internalValueResult.notificationTriggers = this._notificationTriggers;
}
if (this._updateOriginalMessage !== undefined) {
hasAnyValues = true;
internalValueResult.updateOriginalMessage = this._updateOriginalMessage;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._channelId = undefined;
this._notificationTriggers = undefined;
this._updateOriginalMessage = 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._channelId = value.channelId;
this._notificationTriggers = value.notificationTriggers;
this._updateOriginalMessage = value.updateOriginalMessage;
}
}
get channelId() {
return this.getStringAttribute('channel_id');
}
set channelId(value) {
this._channelId = value;
}
// Temporarily expose input value. Use with caution.
get channelIdInput() {
return this._channelId;
}
// name - computed: true, optional: false, required: false
get name() {
return this.getStringAttribute('name');
}
get notificationTriggers() {
return this.getListAttribute('notification_triggers');
}
set notificationTriggers(value) {
this._notificationTriggers = value;
}
resetNotificationTriggers() {
this._notificationTriggers = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationTriggersInput() {
return this._notificationTriggers;
}
// type - computed: true, optional: false, required: false
get type() {
return this.getStringAttribute('type');
}
get updateOriginalMessage() {
return this.getBooleanAttribute('update_original_message');
}
set updateOriginalMessage(value) {
this._updateOriginalMessage = value;
}
resetUpdateOriginalMessage() {
this._updateOriginalMessage = undefined;
}
// Temporarily expose input value. Use with caution.
get updateOriginalMessageInput() {
return this._updateOriginalMessage;
}
}
exports.WorkflowDestinationOutputReference = WorkflowDestinationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
WorkflowDestinationOutputReference[_a] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowDestinationOutputReference", version: "12.28.0" };
class WorkflowDestinationList 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 WorkflowDestinationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WorkflowDestinationList = WorkflowDestinationList;
_b = JSII_RTTI_SYMBOL_1;
WorkflowDestinationList[_b] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowDestinationList", version: "12.28.0" };
function workflowEnrichmentsNrqlConfigurationToTerraform(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 {
query: cdktf.stringToTerraform(struct.query),
};
}
function workflowEnrichmentsNrqlConfigurationToHclTerraform(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 = {
query: {
value: cdktf.stringToHclTerraform(struct.query),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowEnrichmentsNrqlConfigurationOutputReference 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._query !== undefined) {
hasAnyValues = true;
internalValueResult.query = this._query;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._query = 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._query = value.query;
}
}
get query() {
return this.getStringAttribute('query');
}
set query(value) {
this._query = value;
}
// Temporarily expose input value. Use with caution.
get queryInput() {
return this._query;
}
}
exports.WorkflowEnrichmentsNrqlConfigurationOutputReference = WorkflowEnrichmentsNrqlConfigurationOutputReference;
_c = JSII_RTTI_SYMBOL_1;
WorkflowEnrichmentsNrqlConfigurationOutputReference[_c] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowEnrichmentsNrqlConfigurationOutputReference", version: "12.28.0" };
class WorkflowEnrichmentsNrqlConfigurationList 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 WorkflowEnrichmentsNrqlConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WorkflowEnrichmentsNrqlConfigurationList = WorkflowEnrichmentsNrqlConfigurationList;
_d = JSII_RTTI_SYMBOL_1;
WorkflowEnrichmentsNrqlConfigurationList[_d] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowEnrichmentsNrqlConfigurationList", version: "12.28.0" };
function workflowEnrichmentsNrqlToTerraform(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),
configuration: cdktf.listMapper(workflowEnrichmentsNrqlConfigurationToTerraform, true)(struct.configuration),
};
}
function workflowEnrichmentsNrqlToHclTerraform(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",
},
configuration: {
value: cdktf.listMapperHcl(workflowEnrichmentsNrqlConfigurationToHclTerraform, true)(struct.configuration),
isBlock: true,
type: "list",
storageClassType: "WorkflowEnrichmentsNrqlConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowEnrichmentsNrqlOutputReference 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;
// configuration - computed: false, optional: false, required: true
this._configuration = new WorkflowEnrichmentsNrqlConfigurationList(this, "configuration", 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._configuration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.configuration = this._configuration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._name = undefined;
this._configuration.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._name = value.name;
this._configuration.internalValue = value.configuration;
}
}
// account_id - computed: true, optional: false, required: false
get accountId() {
return this.getNumberAttribute('account_id');
}
// enrichment_id - computed: true, optional: false, required: false
get enrichmentId() {
return this.getStringAttribute('enrichment_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;
}
// type - computed: true, optional: false, required: false
get type() {
return this.getStringAttribute('type');
}
get configuration() {
return this._configuration;
}
putConfiguration(value) {
this._configuration.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get configurationInput() {
return this._configuration.internalValue;
}
}
exports.WorkflowEnrichmentsNrqlOutputReference = WorkflowEnrichmentsNrqlOutputReference;
_e = JSII_RTTI_SYMBOL_1;
WorkflowEnrichmentsNrqlOutputReference[_e] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowEnrichmentsNrqlOutputReference", version: "12.28.0" };
class WorkflowEnrichmentsNrqlList 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 WorkflowEnrichmentsNrqlOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WorkflowEnrichmentsNrqlList = WorkflowEnrichmentsNrqlList;
_f = JSII_RTTI_SYMBOL_1;
WorkflowEnrichmentsNrqlList[_f] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowEnrichmentsNrqlList", version: "12.28.0" };
function workflowEnrichmentsToTerraform(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 {
nrql: cdktf.listMapper(workflowEnrichmentsNrqlToTerraform, true)(struct.nrql),
};
}
function workflowEnrichmentsToHclTerraform(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 = {
nrql: {
value: cdktf.listMapperHcl(workflowEnrichmentsNrqlToHclTerraform, true)(struct.nrql),
isBlock: true,
type: "list",
storageClassType: "WorkflowEnrichmentsNrqlList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowEnrichmentsOutputReference 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;
// nrql - computed: false, optional: false, required: true
this._nrql = new WorkflowEnrichmentsNrqlList(this, "nrql", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._nrql?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.nrql = this._nrql?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._nrql.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._nrql.internalValue = value.nrql;
}
}
get nrql() {
return this._nrql;
}
putNrql(value) {
this._nrql.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get nrqlInput() {
return this._nrql.internalValue;
}
}
exports.WorkflowEnrichmentsOutputReference = WorkflowEnrichmentsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
WorkflowEnrichmentsOutputReference[_g] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowEnrichmentsOutputReference", version: "12.28.0" };
function workflowIssuesFilterPredicateToTerraform(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),
operator: cdktf.stringToTerraform(struct.operator),
values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values),
};
}
function workflowIssuesFilterPredicateToHclTerraform(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",
},
operator: {
value: cdktf.stringToHclTerraform(struct.operator),
isBlock: false,
type: "simple",
storageClassType: "string",
},
values: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowIssuesFilterPredicateOutputReference 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._attribute !== undefined) {
hasAnyValues = true;
internalValueResult.attribute = this._attribute;
}
if (this._operator !== undefined) {
hasAnyValues = true;
internalValueResult.operator = this._operator;
}
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._attribute = undefined;
this._operator = 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._attribute = value.attribute;
this._operator = value.operator;
this._values = value.values;
}
}
get attribute() {
return this.getStringAttribute('attribute');
}
set attribute(value) {
this._attribute = value;
}
// Temporarily expose input value. Use with caution.
get attributeInput() {
return this._attribute;
}
get operator() {
return this.getStringAttribute('operator');
}
set operator(value) {
this._operator = value;
}
// Temporarily expose input value. Use with caution.
get operatorInput() {
return this._operator;
}
get values() {
return this.getListAttribute('values');
}
set values(value) {
this._values = value;
}
// Temporarily expose input value. Use with caution.
get valuesInput() {
return this._values;
}
}
exports.WorkflowIssuesFilterPredicateOutputReference = WorkflowIssuesFilterPredicateOutputReference;
_h = JSII_RTTI_SYMBOL_1;
WorkflowIssuesFilterPredicateOutputReference[_h] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowIssuesFilterPredicateOutputReference", version: "12.28.0" };
class WorkflowIssuesFilterPredicateList 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 WorkflowIssuesFilterPredicateOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.WorkflowIssuesFilterPredicateList = WorkflowIssuesFilterPredicateList;
_j = JSII_RTTI_SYMBOL_1;
WorkflowIssuesFilterPredicateList[_j] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowIssuesFilterPredicateList", version: "12.28.0" };
function workflowIssuesFilterToTerraform(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),
type: cdktf.stringToTerraform(struct.type),
predicate: cdktf.listMapper(workflowIssuesFilterPredicateToTerraform, true)(struct.predicate),
};
}
function workflowIssuesFilterToHclTerraform(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",
},
type: {
value: cdktf.stringToHclTerraform(struct.type),
isBlock: false,
type: "simple",
storageClassType: "string",
},
predicate: {
value: cdktf.listMapperHcl(workflowIssuesFilterPredicateToHclTerraform, true)(struct.predicate),
isBlock: true,
type: "list",
storageClassType: "WorkflowIssuesFilterPredicateList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class WorkflowIssuesFilterOutputReference 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;
// predicate - computed: false, optional: true, required: false
this._predicate = new WorkflowIssuesFilterPredicateList(this, "predicate", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
if (this._predicate?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.predicate = this._predicate?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._name = undefined;
this._type = undefined;
this._predicate.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._name = value.name;
this._type = value.type;
this._predicate.internalValue = value.predicate;
}
}
// filter_id - computed: true, optional: false, required: false
get filterId() {
return this.getStringAttribute('filter_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 type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
get predicate() {
return this._predicate;
}
putPredicate(value) {
this._predicate.internalValue = value;
}
resetPredicate() {
this._predicate.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get predicateInput() {
return this._predicate.internalValue;
}
}
exports.WorkflowIssuesFilterOutputReference = WorkflowIssuesFilterOutputReference;
_k = JSII_RTTI_SYMBOL_1;
WorkflowIssuesFilterOutputReference[_k] = { fqn: "@cdktf/provider-newrelic.workflow.WorkflowIssuesFilterOutputReference", version: "12.28.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/workflow newrelic_workflow}
*/
class Workflow extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a Workflow 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 Workflow to import
* @param importFromId The id of the existing Workflow that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/workflow#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the Workflow to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_workflow", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.59.0/docs/resources/workflow newrelic_workflow} 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 WorkflowConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'newrelic_workflow',
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
});
// destination - computed: false, optional: false, required: true
this._destination = new WorkflowDestinationList(this, "destination", true);
// enrichments - computed: false, optional: true, required: false
this._enrichments = new WorkflowEnrichmentsOutputReference(this, "enrichments");
// issues_filter - computed: false, optional: false, required: true
this._issuesFilter = new WorkflowIssuesFilterOutputReference(this, "issues_filter");
this._accountId = config.accountId;
this._destinationsEnabled = config.destinationsEnabled;
this._enabled = config.enabled;
this._enrichmentsEnabled = config.enrichmentsEnabled;
this._id = config.id;
this._mutingRulesHandling = config.mutingRulesHandling;
this._name = config.name;
this._destination.internalValue = config.destination;
this._enrichments.internalValue = config.enrichments;
this._issuesFilter.internalValue = config.issuesFilter;
}
get accountId() {
return this.getNumberAttribute('account_id');
}
set accountId(value) {
this._accountId = value;
}
resetAccountId() {
this._accountId = undefined;
}
// Temporarily expose input value. Use with caution.
get accountIdInput() {
return this._accountId;
}
get destinationsEnabled() {
return this.getBooleanAttribute('destinations_enabled');
}
set destinationsEnabled(value) {
this._destinationsEnabled = value;
}
resetDestinationsEnabled() {
this._destinationsEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get destinationsEnabledInput() {
return this._destinationsEnabled;
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get enrichmentsEnabled() {
return this.getBooleanAttribute('enrichments_enabled');
}
set enrichmentsEnabled(value) {
this._enrichmentsEnabled = value;
}
resetEnrichmentsEnabled() {
this._enrichmentsEnabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enrichmentsEnabledInput() {
return this._enrichmentsEnabled;
}
// guid - computed: true, optional: false, required: false
get guid() {
return this.getStringAttribute('guid');
}
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;
}
// last_run - computed: true, optional: false, required: false
get lastRun() {
return this.getStringAttribute('last_run');
}
get mutingRulesHandling() {
return this.getStringAttribute('muting_rules_handling');
}
set mutingRulesHandling(value) {
this._mutingRulesHandling = value;
}
// Temporarily expose input value. Use with caution.
get mutingRulesHandlingInput() {
return this._mutingRulesHandling;
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
// workflow_id - computed: true, optional: false, required: false
get workflowId() {
return this.getStringAttribute('workflow_id');
}
get destination() {
return this._destination;
}
putDestination(value) {
this._destination.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get destinationInput() {
return this._destination.internalValue;
}
get enrichments() {
return this._enrichments;
}
putEnrichments(value) {
this._enrichments.internalValue = value;
}
resetEnrichments() {
this._enrichments.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get enrichmentsInput() {
return this._enrichments.internalValue;
}
get issuesFilter() {
return this._issuesFilter;
}
putIssuesFilter(value) {
this._issuesFilter.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get issuesFilterInput() {
return this._issuesFilter.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
account_id: cdktf.numberToTerraform(this._accountId),
destinations_enabled: cdktf.booleanToTerraform(this._destinationsEnabled),
enabled: cdktf.booleanToTerraform(this._enabled),
enrichments_enabled: cdktf.booleanToTerraform(this._enrichmentsEnabled),
id: cdktf.stringToTerraform(this._id),
muting_rules_handling: cdktf.stringToTerraform(this._mutingRulesHandling),
name: cdktf.stringToTerraform(this._name),
destination: cdktf.listMapper(workflowDestinationToTerraform, true)(this._destination.internalValue),
enrichments: workflowEnrichmentsToTerraform(this._enrichments.internalValue),
issues_filter: workflowIssuesFilterToTerraform(this._issuesFilter.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
account_id: {
value: cdktf.numberToHclTerraform(this._accountId),
isBlock: false,
type: "simple",
storageClassType: "number",
},
destinations_enabled: {
value: cdktf.booleanToHclTerraform(this._destinationsEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enabled: {
value: cdktf.booleanToHclTerraform(this._enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
enrichments_enabled: {
value: cdktf.booleanToHclTerraform(this._enrichmentsEnabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
muting_rules_handling: {
value: cdktf.stringToHclTerraform(this._mutingRulesHandling),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
destination: {
value: cdktf.listMapperHcl(workflowDestinationToHclTerraform, true)(this._destination.internalValue),
isBlock: true,
type: "set",
storageClassType: "WorkflowDestinationList",
},
enrichments: {
value: workflowEnrichmentsToHclTerraform(this._enrichments.internalValue),
isBlock: true,
type: "set",
storageClassType: "WorkflowEnrichmentsList",
},
issues_filter: {
value: workflowIssuesFilterToHclTerraform(this._issuesFilter.internalValue),
isBlock: true,
type: "set",
storageClassType: "WorkflowIssuesFilterList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.Workflow = Workflow;
_l = JSII_RTTI_SYMBOL_1;
Workflow[_l] = { fqn: "@cdktf/provider-newrelic.workflow.Workflow", version: "12.28.0" };
// =================
// STATIC PROPERTIES
// =================
Workflow.tfResourceType = "newrelic_workflow";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd29ya2Zsb3cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWlHQSx3RUFVQztBQUdELDhFQTRCQztBQThJRCwwR0FRQztBQUdELGdIQWdCQztBQThGRCxnRkFTQztBQUdELHNGQXNCQztBQTBIRCx3RUFRQztBQUdELDhFQWdCQztBQW9FRCw0RkFVQztBQUdELGtHQTRCQztBQTBJRCwwRUFVQztBQUdELGdGQTRCQzs7QUEvMUJELCtCQUErQjtBQXdGL0IsU0FBZ0IsOEJBQThCLENBQUMsTUFBZ0Q7SUFDN0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFVBQVUsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFNBQVMsQ0FBQztRQUN0RCxxQkFBcUIsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsb0JBQW9CLENBQUM7UUFDckcsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU8sQ0FBQyxxQkFBcUIsQ0FBQztLQUNqRixDQUFBO0FBQ0gsQ0FBQztBQUdELFNBQWdCLGlDQUFpQyxDQUFDLE1BQWdEO0lBQ2hHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFD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