@cdktf-providers/newrelic 3.75.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/LICENSE +355 -0
  2. package/README.md +19 -0
  3. package/dist/account-management/index.d.ts +64 -0
  4. package/dist/account-management/index.js +131 -0
  5. package/dist/alert-channel/index.d.ts +347 -0
  6. package/dist/alert-channel/index.js +810 -0
  7. package/dist/alert-condition/index.d.ts +267 -0
  8. package/dist/alert-condition/index.js +587 -0
  9. package/dist/alert-muting-rule/index.d.ts +305 -0
  10. package/dist/alert-muting-rule/index.js +731 -0
  11. package/dist/alert-policy/index.d.ts +87 -0
  12. package/dist/alert-policy/index.js +180 -0
  13. package/dist/alert-policy-channel/index.d.ts +110 -0
  14. package/dist/alert-policy-channel/index.js +260 -0
  15. package/dist/api-access-key/index.d.ts +98 -0
  16. package/dist/api-access-key/index.js +230 -0
  17. package/dist/application-settings/index.d.ts +410 -0
  18. package/dist/application-settings/index.js +966 -0
  19. package/dist/browser-application/index.d.ts +101 -0
  20. package/dist/browser-application/index.js +215 -0
  21. package/dist/cloud-aws-govcloud-integrations/index.d.ts +1519 -0
  22. package/dist/cloud-aws-govcloud-integrations/index.js +3846 -0
  23. package/dist/cloud-aws-govcloud-link-account/index.d.ts +86 -0
  24. package/dist/cloud-aws-govcloud-link-account/index.js +177 -0
  25. package/dist/cloud-aws-integrations/index.d.ts +3294 -0
  26. package/dist/cloud-aws-integrations/index.js +8554 -0
  27. package/dist/cloud-aws-link-account/index.d.ts +86 -0
  28. package/dist/cloud-aws-link-account/index.js +177 -0
  29. package/dist/cloud-azure-integrations/index.d.ts +1662 -0
  30. package/dist/cloud-azure-integrations/index.js +4338 -0
  31. package/dist/cloud-azure-link-account/index.d.ts +105 -0
  32. package/dist/cloud-azure-link-account/index.js +214 -0
  33. package/dist/cloud-gcp-integrations/index.d.ts +1045 -0
  34. package/dist/cloud-gcp-integrations/index.js +2742 -0
  35. package/dist/cloud-gcp-link-account/index.d.ts +75 -0
  36. package/dist/cloud-gcp-link-account/index.js +154 -0
  37. package/dist/cloud-oci-link-account/index.d.ts +191 -0
  38. package/dist/cloud-oci-link-account/index.js +392 -0
  39. package/dist/data-newrelic-account/index.d.ts +77 -0
  40. package/dist/data-newrelic-account/index.js +160 -0
  41. package/dist/data-newrelic-alert-channel/index.d.ts +122 -0
  42. package/dist/data-newrelic-alert-channel/index.js +295 -0
  43. package/dist/data-newrelic-alert-policy/index.d.ts +78 -0
  44. package/dist/data-newrelic-alert-policy/index.js +165 -0
  45. package/dist/data-newrelic-application/index.d.ts +56 -0
  46. package/dist/data-newrelic-application/index.js +119 -0
  47. package/dist/data-newrelic-authentication-domain/index.d.ts +43 -0
  48. package/dist/data-newrelic-authentication-domain/index.js +92 -0
  49. package/dist/data-newrelic-cloud-account/index.d.ts +75 -0
  50. package/dist/data-newrelic-cloud-account/index.js +154 -0
  51. package/dist/data-newrelic-entity/index.d.ts +185 -0
  52. package/dist/data-newrelic-entity/index.js +414 -0
  53. package/dist/data-newrelic-group/index.d.ts +54 -0
  54. package/dist/data-newrelic-group/index.js +116 -0
  55. package/dist/data-newrelic-key-transaction/index.d.ts +78 -0
  56. package/dist/data-newrelic-key-transaction/index.js +165 -0
  57. package/dist/data-newrelic-notification-destination/index.d.ts +161 -0
  58. package/dist/data-newrelic-notification-destination/index.js +368 -0
  59. package/dist/data-newrelic-obfuscation-expression/index.d.ts +65 -0
  60. package/dist/data-newrelic-obfuscation-expression/index.js +134 -0
  61. package/dist/data-newrelic-service-level-alert-helper/index.d.ts +107 -0
  62. package/dist/data-newrelic-service-level-alert-helper/index.js +256 -0
  63. package/dist/data-newrelic-synthetics-private-location/index.d.ts +76 -0
  64. package/dist/data-newrelic-synthetics-private-location/index.js +157 -0
  65. package/dist/data-newrelic-synthetics-secure-credential/index.d.ts +67 -0
  66. package/dist/data-newrelic-synthetics-secure-credential/index.js +142 -0
  67. package/dist/data-newrelic-test-grok-pattern/index.d.ts +145 -0
  68. package/dist/data-newrelic-test-grok-pattern/index.js +312 -0
  69. package/dist/data-newrelic-user/index.d.ts +65 -0
  70. package/dist/data-newrelic-user/index.js +138 -0
  71. package/dist/data-partition-rule/index.d.ts +142 -0
  72. package/dist/data-partition-rule/index.js +327 -0
  73. package/dist/entity-tags/index.d.ts +152 -0
  74. package/dist/entity-tags/index.js +367 -0
  75. package/dist/events-to-metrics-rule/index.d.ts +98 -0
  76. package/dist/events-to-metrics-rule/index.js +204 -0
  77. package/dist/group/index.d.ts +75 -0
  78. package/dist/group/index.js +154 -0
  79. package/dist/index.d.ts +67 -0
  80. package/dist/index.js +68 -0
  81. package/dist/infra-alert-condition/index.d.ts +289 -0
  82. package/dist/infra-alert-condition/index.js +691 -0
  83. package/dist/insights-event/index.d.ts +182 -0
  84. package/dist/insights-event/index.js +427 -0
  85. package/dist/key-transaction/index.d.ts +96 -0
  86. package/dist/key-transaction/index.js +199 -0
  87. package/dist/lazy-index.d.ts +0 -0
  88. package/dist/lazy-index.js +68 -0
  89. package/dist/log-parsing-rule/index.d.ts +128 -0
  90. package/dist/log-parsing-rule/index.js +264 -0
  91. package/dist/monitor-downtime/index.d.ts +255 -0
  92. package/dist/monitor-downtime/index.js +603 -0
  93. package/dist/notification-channel/index.d.ts +236 -0
  94. package/dist/notification-channel/index.js +561 -0
  95. package/dist/notification-destination/index.d.ts +402 -0
  96. package/dist/notification-destination/index.js +1039 -0
  97. package/dist/nrql-alert-condition/index.d.ts +892 -0
  98. package/dist/nrql-alert-condition/index.js +2177 -0
  99. package/dist/nrql-drop-rule/index.d.ts +123 -0
  100. package/dist/nrql-drop-rule/index.js +291 -0
  101. package/dist/obfuscation-expression/index.d.ts +86 -0
  102. package/dist/obfuscation-expression/index.js +177 -0
  103. package/dist/obfuscation-rule/index.d.ts +169 -0
  104. package/dist/obfuscation-rule/index.js +372 -0
  105. package/dist/one-dashboard/index-structs/index.d.ts +2 -0
  106. package/dist/one-dashboard/index-structs/index.js +2 -0
  107. package/dist/one-dashboard/index-structs/structs0.d.ts +6996 -0
  108. package/dist/one-dashboard/index-structs/structs0.js +18191 -0
  109. package/dist/one-dashboard/index-structs/structs400.d.ts +3699 -0
  110. package/dist/one-dashboard/index-structs/structs400.js +9611 -0
  111. package/dist/one-dashboard/index.d.ts +112 -0
  112. package/dist/one-dashboard/index.js +232 -0
  113. package/dist/one-dashboard-json/index.d.ts +112 -0
  114. package/dist/one-dashboard-json/index.js +280 -0
  115. package/dist/one-dashboard-raw/index.d.ts +274 -0
  116. package/dist/one-dashboard-raw/index.js +666 -0
  117. package/dist/pipeline-cloud-rule/index.d.ts +86 -0
  118. package/dist/pipeline-cloud-rule/index.js +177 -0
  119. package/dist/provider/index.d.ts +160 -0
  120. package/dist/provider/index.js +378 -0
  121. package/dist/service-level/index.d.ts +501 -0
  122. package/dist/service-level/index.js +1425 -0
  123. package/dist/synthetics-alert-condition/index.d.ts +97 -0
  124. package/dist/synthetics-alert-condition/index.js +201 -0
  125. package/dist/synthetics-broken-links-monitor/index.d.ts +217 -0
  126. package/dist/synthetics-broken-links-monitor/index.js +474 -0
  127. package/dist/synthetics-cert-check-monitor/index.d.ts +222 -0
  128. package/dist/synthetics-cert-check-monitor/index.js +490 -0
  129. package/dist/synthetics-monitor/index.d.ts +404 -0
  130. package/dist/synthetics-monitor/index.js +885 -0
  131. package/dist/synthetics-multilocation-alert-condition/index.d.ts +177 -0
  132. package/dist/synthetics-multilocation-alert-condition/index.js +407 -0
  133. package/dist/synthetics-private-location/index.d.ts +90 -0
  134. package/dist/synthetics-private-location/index.js +193 -0
  135. package/dist/synthetics-script-monitor/index.d.ts +348 -0
  136. package/dist/synthetics-script-monitor/index.js +768 -0
  137. package/dist/synthetics-secure-credential/index.d.ts +132 -0
  138. package/dist/synthetics-secure-credential/index.js +306 -0
  139. package/dist/synthetics-step-monitor/index.d.ts +368 -0
  140. package/dist/synthetics-step-monitor/index.js +834 -0
  141. package/dist/user/index.d.ts +85 -0
  142. package/dist/user/index.js +174 -0
  143. package/dist/workflow/index.d.ts +441 -0
  144. package/dist/workflow/index.js +1066 -0
  145. package/dist/workload/index.d.ts +514 -0
  146. package/dist/workload/index.js +1283 -0
  147. package/package.json +50 -0
@@ -0,0 +1,152 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface EntityTagsConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The guid of the entity to tag.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#guid EntityTags#guid}
8
+ */
9
+ readonly guid: string;
10
+ /**
11
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#id EntityTags#id}
12
+ *
13
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
14
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
15
+ */
16
+ readonly id?: string;
17
+ /**
18
+ * tag block
19
+ *
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#tag EntityTags#tag}
21
+ */
22
+ readonly tag: EntityTagsTag[] | cdktf.IResolvable;
23
+ /**
24
+ * timeouts block
25
+ *
26
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#timeouts EntityTags#timeouts}
27
+ */
28
+ readonly timeouts?: EntityTagsTimeouts;
29
+ }
30
+ export interface EntityTagsTag {
31
+ /**
32
+ * The tag key.
33
+ *
34
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#key EntityTags#key}
35
+ */
36
+ readonly key: string;
37
+ /**
38
+ * The tag values.
39
+ *
40
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#values EntityTags#values}
41
+ */
42
+ readonly values: string[];
43
+ }
44
+ export declare function entityTagsTagToTerraform(struct?: EntityTagsTag | cdktf.IResolvable): any;
45
+ export declare function entityTagsTagToHclTerraform(struct?: EntityTagsTag | cdktf.IResolvable): any;
46
+ export declare class EntityTagsTagOutputReference extends cdktf.ComplexObject {
47
+ private isEmptyObject;
48
+ private resolvableValue?;
49
+ /**
50
+ * @param terraformResource The parent resource
51
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
52
+ * @param complexObjectIndex the index of this item in the list
53
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
54
+ */
55
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
56
+ get internalValue(): EntityTagsTag | cdktf.IResolvable | undefined;
57
+ set internalValue(value: EntityTagsTag | cdktf.IResolvable | undefined);
58
+ private _key?;
59
+ get key(): string;
60
+ set key(value: string);
61
+ get keyInput(): string;
62
+ private _values?;
63
+ get values(): string[];
64
+ set values(value: string[]);
65
+ get valuesInput(): string[];
66
+ }
67
+ export declare class EntityTagsTagList extends cdktf.ComplexList {
68
+ protected terraformResource: cdktf.IInterpolatingParent;
69
+ protected terraformAttribute: string;
70
+ protected wrapsSet: boolean;
71
+ internalValue?: EntityTagsTag[] | cdktf.IResolvable;
72
+ /**
73
+ * @param terraformResource The parent resource
74
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
75
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
76
+ */
77
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
78
+ /**
79
+ * @param index the index of the item to return
80
+ */
81
+ get(index: number): EntityTagsTagOutputReference;
82
+ }
83
+ export interface EntityTagsTimeouts {
84
+ /**
85
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#create EntityTags#create}
86
+ */
87
+ readonly create?: string;
88
+ }
89
+ export declare function entityTagsTimeoutsToTerraform(struct?: EntityTagsTimeouts | cdktf.IResolvable): any;
90
+ export declare function entityTagsTimeoutsToHclTerraform(struct?: EntityTagsTimeouts | cdktf.IResolvable): any;
91
+ export declare class EntityTagsTimeoutsOutputReference extends cdktf.ComplexObject {
92
+ private isEmptyObject;
93
+ private resolvableValue?;
94
+ /**
95
+ * @param terraformResource The parent resource
96
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
97
+ */
98
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
99
+ get internalValue(): EntityTagsTimeouts | cdktf.IResolvable | undefined;
100
+ set internalValue(value: EntityTagsTimeouts | cdktf.IResolvable | undefined);
101
+ private _create?;
102
+ get create(): string;
103
+ set create(value: string);
104
+ resetCreate(): void;
105
+ get createInput(): string;
106
+ }
107
+ /**
108
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags newrelic_entity_tags}
109
+ */
110
+ export declare class EntityTags extends cdktf.TerraformResource {
111
+ static readonly tfResourceType = "newrelic_entity_tags";
112
+ /**
113
+ * Generates CDKTF code for importing a EntityTags resource upon running "cdktf plan <stack-name>"
114
+ * @param scope The scope in which to define this construct
115
+ * @param importToId The construct id used in the generated config for the EntityTags to import
116
+ * @param importFromId The id of the existing EntityTags that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#import import section} in the documentation of this resource for the id to use
117
+ * @param provider? Optional instance of the provider where the EntityTags to import is found
118
+ */
119
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
120
+ /**
121
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags newrelic_entity_tags} Resource
122
+ *
123
+ * @param scope The scope in which to define this construct
124
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
125
+ * @param options EntityTagsConfig
126
+ */
127
+ constructor(scope: Construct, id: string, config: EntityTagsConfig);
128
+ private _guid?;
129
+ get guid(): string;
130
+ set guid(value: string);
131
+ get guidInput(): string;
132
+ private _id?;
133
+ get id(): string;
134
+ set id(value: string);
135
+ resetId(): void;
136
+ get idInput(): string;
137
+ private _tag;
138
+ get tag(): EntityTagsTagList;
139
+ putTag(value: EntityTagsTag[] | cdktf.IResolvable): void;
140
+ get tagInput(): any;
141
+ private _timeouts;
142
+ get timeouts(): EntityTagsTimeoutsOutputReference;
143
+ putTimeouts(value: EntityTagsTimeouts): void;
144
+ resetTimeouts(): void;
145
+ get timeoutsInput(): any;
146
+ protected synthesizeAttributes(): {
147
+ [name: string]: any;
148
+ };
149
+ protected synthesizeHclAttributes(): {
150
+ [name: string]: any;
151
+ };
152
+ }
@@ -0,0 +1,367 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function entityTagsTagToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ key: cdktf.stringToTerraform(struct.key),
13
+ values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values),
14
+ };
15
+ }
16
+ export function entityTagsTagToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ key: {
25
+ value: cdktf.stringToHclTerraform(struct.key),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ values: {
31
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values),
32
+ isBlock: false,
33
+ type: "set",
34
+ storageClassType: "stringList",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class EntityTagsTagOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ * @param complexObjectIndex the index of this item in the list
47
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
48
+ */
49
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
50
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
51
+ }
52
+ get internalValue() {
53
+ if (this.resolvableValue) {
54
+ return this.resolvableValue;
55
+ }
56
+ let hasAnyValues = this.isEmptyObject;
57
+ const internalValueResult = {};
58
+ if (this._key !== undefined) {
59
+ hasAnyValues = true;
60
+ internalValueResult.key = this._key;
61
+ }
62
+ if (this._values !== undefined) {
63
+ hasAnyValues = true;
64
+ internalValueResult.values = this._values;
65
+ }
66
+ return hasAnyValues ? internalValueResult : undefined;
67
+ }
68
+ set internalValue(value) {
69
+ if (value === undefined) {
70
+ this.isEmptyObject = false;
71
+ this.resolvableValue = undefined;
72
+ this._key = undefined;
73
+ this._values = undefined;
74
+ }
75
+ else if (cdktf.Tokenization.isResolvable(value)) {
76
+ this.isEmptyObject = false;
77
+ this.resolvableValue = value;
78
+ }
79
+ else {
80
+ this.isEmptyObject = Object.keys(value).length === 0;
81
+ this.resolvableValue = undefined;
82
+ this._key = value.key;
83
+ this._values = value.values;
84
+ }
85
+ }
86
+ // key - computed: false, optional: false, required: true
87
+ _key;
88
+ get key() {
89
+ return this.getStringAttribute('key');
90
+ }
91
+ set key(value) {
92
+ this._key = value;
93
+ }
94
+ // Temporarily expose input value. Use with caution.
95
+ get keyInput() {
96
+ return this._key;
97
+ }
98
+ // values - computed: false, optional: false, required: true
99
+ _values;
100
+ get values() {
101
+ return cdktf.Fn.tolist(this.getListAttribute('values'));
102
+ }
103
+ set values(value) {
104
+ this._values = value;
105
+ }
106
+ // Temporarily expose input value. Use with caution.
107
+ get valuesInput() {
108
+ return this._values;
109
+ }
110
+ }
111
+ export class EntityTagsTagList extends cdktf.ComplexList {
112
+ terraformResource;
113
+ terraformAttribute;
114
+ wrapsSet;
115
+ internalValue;
116
+ /**
117
+ * @param terraformResource The parent resource
118
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
119
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
120
+ */
121
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
122
+ super(terraformResource, terraformAttribute, wrapsSet);
123
+ this.terraformResource = terraformResource;
124
+ this.terraformAttribute = terraformAttribute;
125
+ this.wrapsSet = wrapsSet;
126
+ }
127
+ /**
128
+ * @param index the index of the item to return
129
+ */
130
+ get(index) {
131
+ return new EntityTagsTagOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
132
+ }
133
+ }
134
+ export function entityTagsTimeoutsToTerraform(struct) {
135
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
136
+ return struct;
137
+ }
138
+ if (cdktf.isComplexElement(struct)) {
139
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
140
+ }
141
+ return {
142
+ create: cdktf.stringToTerraform(struct.create),
143
+ };
144
+ }
145
+ export function entityTagsTimeoutsToHclTerraform(struct) {
146
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
147
+ return struct;
148
+ }
149
+ if (cdktf.isComplexElement(struct)) {
150
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
151
+ }
152
+ const attrs = {
153
+ create: {
154
+ value: cdktf.stringToHclTerraform(struct.create),
155
+ isBlock: false,
156
+ type: "simple",
157
+ storageClassType: "string",
158
+ },
159
+ };
160
+ // remove undefined attributes
161
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
162
+ }
163
+ export class EntityTagsTimeoutsOutputReference extends cdktf.ComplexObject {
164
+ isEmptyObject = false;
165
+ resolvableValue;
166
+ /**
167
+ * @param terraformResource The parent resource
168
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
169
+ */
170
+ constructor(terraformResource, terraformAttribute) {
171
+ super(terraformResource, terraformAttribute, false);
172
+ }
173
+ get internalValue() {
174
+ if (this.resolvableValue) {
175
+ return this.resolvableValue;
176
+ }
177
+ let hasAnyValues = this.isEmptyObject;
178
+ const internalValueResult = {};
179
+ if (this._create !== undefined) {
180
+ hasAnyValues = true;
181
+ internalValueResult.create = this._create;
182
+ }
183
+ return hasAnyValues ? internalValueResult : undefined;
184
+ }
185
+ set internalValue(value) {
186
+ if (value === undefined) {
187
+ this.isEmptyObject = false;
188
+ this.resolvableValue = undefined;
189
+ this._create = undefined;
190
+ }
191
+ else if (cdktf.Tokenization.isResolvable(value)) {
192
+ this.isEmptyObject = false;
193
+ this.resolvableValue = value;
194
+ }
195
+ else {
196
+ this.isEmptyObject = Object.keys(value).length === 0;
197
+ this.resolvableValue = undefined;
198
+ this._create = value.create;
199
+ }
200
+ }
201
+ // create - computed: false, optional: true, required: false
202
+ _create;
203
+ get create() {
204
+ return this.getStringAttribute('create');
205
+ }
206
+ set create(value) {
207
+ this._create = value;
208
+ }
209
+ resetCreate() {
210
+ this._create = undefined;
211
+ }
212
+ // Temporarily expose input value. Use with caution.
213
+ get createInput() {
214
+ return this._create;
215
+ }
216
+ }
217
+ /**
218
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags newrelic_entity_tags}
219
+ */
220
+ export class EntityTags extends cdktf.TerraformResource {
221
+ // =================
222
+ // STATIC PROPERTIES
223
+ // =================
224
+ static tfResourceType = "newrelic_entity_tags";
225
+ // ==============
226
+ // STATIC Methods
227
+ // ==============
228
+ /**
229
+ * Generates CDKTF code for importing a EntityTags resource upon running "cdktf plan <stack-name>"
230
+ * @param scope The scope in which to define this construct
231
+ * @param importToId The construct id used in the generated config for the EntityTags to import
232
+ * @param importFromId The id of the existing EntityTags that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags#import import section} in the documentation of this resource for the id to use
233
+ * @param provider? Optional instance of the provider where the EntityTags to import is found
234
+ */
235
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
236
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_entity_tags", importId: importFromId, provider });
237
+ }
238
+ // ===========
239
+ // INITIALIZER
240
+ // ===========
241
+ /**
242
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/entity_tags newrelic_entity_tags} Resource
243
+ *
244
+ * @param scope The scope in which to define this construct
245
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
246
+ * @param options EntityTagsConfig
247
+ */
248
+ constructor(scope, id, config) {
249
+ super(scope, id, {
250
+ terraformResourceType: 'newrelic_entity_tags',
251
+ terraformGeneratorMetadata: {
252
+ providerName: 'newrelic',
253
+ providerVersion: '3.75.4',
254
+ providerVersionConstraint: '3.75.4'
255
+ },
256
+ provider: config.provider,
257
+ dependsOn: config.dependsOn,
258
+ count: config.count,
259
+ lifecycle: config.lifecycle,
260
+ provisioners: config.provisioners,
261
+ connection: config.connection,
262
+ forEach: config.forEach
263
+ });
264
+ this._guid = config.guid;
265
+ this._id = config.id;
266
+ this._tag.internalValue = config.tag;
267
+ this._timeouts.internalValue = config.timeouts;
268
+ }
269
+ // ==========
270
+ // ATTRIBUTES
271
+ // ==========
272
+ // guid - computed: false, optional: false, required: true
273
+ _guid;
274
+ get guid() {
275
+ return this.getStringAttribute('guid');
276
+ }
277
+ set guid(value) {
278
+ this._guid = value;
279
+ }
280
+ // Temporarily expose input value. Use with caution.
281
+ get guidInput() {
282
+ return this._guid;
283
+ }
284
+ // id - computed: true, optional: true, required: false
285
+ _id;
286
+ get id() {
287
+ return this.getStringAttribute('id');
288
+ }
289
+ set id(value) {
290
+ this._id = value;
291
+ }
292
+ resetId() {
293
+ this._id = undefined;
294
+ }
295
+ // Temporarily expose input value. Use with caution.
296
+ get idInput() {
297
+ return this._id;
298
+ }
299
+ // tag - computed: false, optional: false, required: true
300
+ _tag = new EntityTagsTagList(this, "tag", true);
301
+ get tag() {
302
+ return this._tag;
303
+ }
304
+ putTag(value) {
305
+ this._tag.internalValue = value;
306
+ }
307
+ // Temporarily expose input value. Use with caution.
308
+ get tagInput() {
309
+ return this._tag.internalValue;
310
+ }
311
+ // timeouts - computed: false, optional: true, required: false
312
+ _timeouts = new EntityTagsTimeoutsOutputReference(this, "timeouts");
313
+ get timeouts() {
314
+ return this._timeouts;
315
+ }
316
+ putTimeouts(value) {
317
+ this._timeouts.internalValue = value;
318
+ }
319
+ resetTimeouts() {
320
+ this._timeouts.internalValue = undefined;
321
+ }
322
+ // Temporarily expose input value. Use with caution.
323
+ get timeoutsInput() {
324
+ return this._timeouts.internalValue;
325
+ }
326
+ // =========
327
+ // SYNTHESIS
328
+ // =========
329
+ synthesizeAttributes() {
330
+ return {
331
+ guid: cdktf.stringToTerraform(this._guid),
332
+ id: cdktf.stringToTerraform(this._id),
333
+ tag: cdktf.listMapper(entityTagsTagToTerraform, true)(this._tag.internalValue),
334
+ timeouts: entityTagsTimeoutsToTerraform(this._timeouts.internalValue),
335
+ };
336
+ }
337
+ synthesizeHclAttributes() {
338
+ const attrs = {
339
+ guid: {
340
+ value: cdktf.stringToHclTerraform(this._guid),
341
+ isBlock: false,
342
+ type: "simple",
343
+ storageClassType: "string",
344
+ },
345
+ id: {
346
+ value: cdktf.stringToHclTerraform(this._id),
347
+ isBlock: false,
348
+ type: "simple",
349
+ storageClassType: "string",
350
+ },
351
+ tag: {
352
+ value: cdktf.listMapperHcl(entityTagsTagToHclTerraform, true)(this._tag.internalValue),
353
+ isBlock: true,
354
+ type: "set",
355
+ storageClassType: "EntityTagsTagList",
356
+ },
357
+ timeouts: {
358
+ value: entityTagsTimeoutsToHclTerraform(this._timeouts.internalValue),
359
+ isBlock: true,
360
+ type: "struct",
361
+ storageClassType: "EntityTagsTimeouts",
362
+ },
363
+ };
364
+ // remove undefined attributes
365
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
366
+ }
367
+ }
@@ -0,0 +1,98 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface EventsToMetricsRuleConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * Account with the event and where the metrics will be put.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#account_id EventsToMetricsRule#account_id}
8
+ */
9
+ readonly accountId?: number;
10
+ /**
11
+ * Provides additional information about the rule.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#description EventsToMetricsRule#description}
14
+ */
15
+ readonly description?: string;
16
+ /**
17
+ * True means this rule is enabled. False means the rule is currently not creating metrics.
18
+ *
19
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#enabled EventsToMetricsRule#enabled}
20
+ */
21
+ readonly enabled?: boolean | cdktf.IResolvable;
22
+ /**
23
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#id EventsToMetricsRule#id}
24
+ *
25
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
26
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
27
+ */
28
+ readonly id?: string;
29
+ /**
30
+ * The name of the rule. This must be unique within an account.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#name EventsToMetricsRule#name}
33
+ */
34
+ readonly name: string;
35
+ /**
36
+ * Explains how to create metrics from events.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#nrql EventsToMetricsRule#nrql}
39
+ */
40
+ readonly nrql: string;
41
+ }
42
+ /**
43
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule newrelic_events_to_metrics_rule}
44
+ */
45
+ export declare class EventsToMetricsRule extends cdktf.TerraformResource {
46
+ static readonly tfResourceType = "newrelic_events_to_metrics_rule";
47
+ /**
48
+ * Generates CDKTF code for importing a EventsToMetricsRule resource upon running "cdktf plan <stack-name>"
49
+ * @param scope The scope in which to define this construct
50
+ * @param importToId The construct id used in the generated config for the EventsToMetricsRule to import
51
+ * @param importFromId The id of the existing EventsToMetricsRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule#import import section} in the documentation of this resource for the id to use
52
+ * @param provider? Optional instance of the provider where the EventsToMetricsRule to import is found
53
+ */
54
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
55
+ /**
56
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/events_to_metrics_rule newrelic_events_to_metrics_rule} Resource
57
+ *
58
+ * @param scope The scope in which to define this construct
59
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
60
+ * @param options EventsToMetricsRuleConfig
61
+ */
62
+ constructor(scope: Construct, id: string, config: EventsToMetricsRuleConfig);
63
+ private _accountId?;
64
+ get accountId(): number;
65
+ set accountId(value: number);
66
+ resetAccountId(): void;
67
+ get accountIdInput(): number;
68
+ private _description?;
69
+ get description(): string;
70
+ set description(value: string);
71
+ resetDescription(): void;
72
+ get descriptionInput(): string;
73
+ private _enabled?;
74
+ get enabled(): boolean | cdktf.IResolvable;
75
+ set enabled(value: boolean | cdktf.IResolvable);
76
+ resetEnabled(): void;
77
+ get enabledInput(): any;
78
+ private _id?;
79
+ get id(): string;
80
+ set id(value: string);
81
+ resetId(): void;
82
+ get idInput(): string;
83
+ private _name?;
84
+ get name(): string;
85
+ set name(value: string);
86
+ get nameInput(): string;
87
+ private _nrql?;
88
+ get nrql(): string;
89
+ set nrql(value: string);
90
+ get nrqlInput(): string;
91
+ get ruleId(): any;
92
+ protected synthesizeAttributes(): {
93
+ [name: string]: any;
94
+ };
95
+ protected synthesizeHclAttributes(): {
96
+ [name: string]: any;
97
+ };
98
+ }