@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,169 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface ObfuscationRuleConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The account id associated with the obfuscation rule.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#account_id ObfuscationRule#account_id}
8
+ */
9
+ readonly accountId?: number;
10
+ /**
11
+ * Description of rule.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#description ObfuscationRule#description}
14
+ */
15
+ readonly description?: string;
16
+ /**
17
+ * Whether the rule should be applied or not to incoming data.
18
+ *
19
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#enabled ObfuscationRule#enabled}
20
+ */
21
+ readonly enabled: boolean | cdktf.IResolvable;
22
+ /**
23
+ * NRQL for determining whether a given log record should have obfuscation actions applied.
24
+ *
25
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#filter ObfuscationRule#filter}
26
+ */
27
+ readonly filter: string;
28
+ /**
29
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#id ObfuscationRule#id}
30
+ *
31
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
32
+ * 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.
33
+ */
34
+ readonly id?: string;
35
+ /**
36
+ * Name of rule.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#name ObfuscationRule#name}
39
+ */
40
+ readonly name: string;
41
+ /**
42
+ * action block
43
+ *
44
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#action ObfuscationRule#action}
45
+ */
46
+ readonly action: ObfuscationRuleAction[] | cdktf.IResolvable;
47
+ }
48
+ export interface ObfuscationRuleAction {
49
+ /**
50
+ * Attribute names for action. An empty list applies the action to all the attributes.
51
+ *
52
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#attribute ObfuscationRule#attribute}
53
+ */
54
+ readonly attribute: string[];
55
+ /**
56
+ * Expression Id for action.
57
+ *
58
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#expression_id ObfuscationRule#expression_id}
59
+ */
60
+ readonly expressionId: string;
61
+ /**
62
+ * Obfuscation method to use.
63
+ *
64
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#method ObfuscationRule#method}
65
+ */
66
+ readonly method: string;
67
+ }
68
+ export declare function obfuscationRuleActionToTerraform(struct?: ObfuscationRuleAction | cdktf.IResolvable): any;
69
+ export declare function obfuscationRuleActionToHclTerraform(struct?: ObfuscationRuleAction | cdktf.IResolvable): any;
70
+ export declare class ObfuscationRuleActionOutputReference extends cdktf.ComplexObject {
71
+ private isEmptyObject;
72
+ private resolvableValue?;
73
+ /**
74
+ * @param terraformResource The parent resource
75
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
76
+ * @param complexObjectIndex the index of this item in the list
77
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
78
+ */
79
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
80
+ get internalValue(): ObfuscationRuleAction | cdktf.IResolvable | undefined;
81
+ set internalValue(value: ObfuscationRuleAction | cdktf.IResolvable | undefined);
82
+ private _attribute?;
83
+ get attribute(): string[];
84
+ set attribute(value: string[]);
85
+ get attributeInput(): string[];
86
+ private _expressionId?;
87
+ get expressionId(): string;
88
+ set expressionId(value: string);
89
+ get expressionIdInput(): string;
90
+ private _method?;
91
+ get method(): string;
92
+ set method(value: string);
93
+ get methodInput(): string;
94
+ }
95
+ export declare class ObfuscationRuleActionList extends cdktf.ComplexList {
96
+ protected terraformResource: cdktf.IInterpolatingParent;
97
+ protected terraformAttribute: string;
98
+ protected wrapsSet: boolean;
99
+ internalValue?: ObfuscationRuleAction[] | cdktf.IResolvable;
100
+ /**
101
+ * @param terraformResource The parent resource
102
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
103
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
104
+ */
105
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
106
+ /**
107
+ * @param index the index of the item to return
108
+ */
109
+ get(index: number): ObfuscationRuleActionOutputReference;
110
+ }
111
+ /**
112
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule newrelic_obfuscation_rule}
113
+ */
114
+ export declare class ObfuscationRule extends cdktf.TerraformResource {
115
+ static readonly tfResourceType = "newrelic_obfuscation_rule";
116
+ /**
117
+ * Generates CDKTF code for importing a ObfuscationRule resource upon running "cdktf plan <stack-name>"
118
+ * @param scope The scope in which to define this construct
119
+ * @param importToId The construct id used in the generated config for the ObfuscationRule to import
120
+ * @param importFromId The id of the existing ObfuscationRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#import import section} in the documentation of this resource for the id to use
121
+ * @param provider? Optional instance of the provider where the ObfuscationRule to import is found
122
+ */
123
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
124
+ /**
125
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule newrelic_obfuscation_rule} Resource
126
+ *
127
+ * @param scope The scope in which to define this construct
128
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
129
+ * @param options ObfuscationRuleConfig
130
+ */
131
+ constructor(scope: Construct, id: string, config: ObfuscationRuleConfig);
132
+ private _accountId?;
133
+ get accountId(): number;
134
+ set accountId(value: number);
135
+ resetAccountId(): void;
136
+ get accountIdInput(): number;
137
+ private _description?;
138
+ get description(): string;
139
+ set description(value: string);
140
+ resetDescription(): void;
141
+ get descriptionInput(): string;
142
+ private _enabled?;
143
+ get enabled(): boolean | cdktf.IResolvable;
144
+ set enabled(value: boolean | cdktf.IResolvable);
145
+ get enabledInput(): any;
146
+ private _filter?;
147
+ get filter(): string;
148
+ set filter(value: string);
149
+ get filterInput(): string;
150
+ private _id?;
151
+ get id(): string;
152
+ set id(value: string);
153
+ resetId(): void;
154
+ get idInput(): string;
155
+ private _name?;
156
+ get name(): string;
157
+ set name(value: string);
158
+ get nameInput(): string;
159
+ private _action;
160
+ get action(): ObfuscationRuleActionList;
161
+ putAction(value: ObfuscationRuleAction[] | cdktf.IResolvable): void;
162
+ get actionInput(): any;
163
+ protected synthesizeAttributes(): {
164
+ [name: string]: any;
165
+ };
166
+ protected synthesizeHclAttributes(): {
167
+ [name: string]: any;
168
+ };
169
+ }
@@ -0,0 +1,372 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function obfuscationRuleActionToTerraform(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
+ attribute: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.attribute),
13
+ expression_id: cdktf.stringToTerraform(struct.expressionId),
14
+ method: cdktf.stringToTerraform(struct.method),
15
+ };
16
+ }
17
+ export function obfuscationRuleActionToHclTerraform(struct) {
18
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
19
+ return struct;
20
+ }
21
+ if (cdktf.isComplexElement(struct)) {
22
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
23
+ }
24
+ const attrs = {
25
+ attribute: {
26
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.attribute),
27
+ isBlock: false,
28
+ type: "set",
29
+ storageClassType: "stringList",
30
+ },
31
+ expression_id: {
32
+ value: cdktf.stringToHclTerraform(struct.expressionId),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "string",
36
+ },
37
+ method: {
38
+ value: cdktf.stringToHclTerraform(struct.method),
39
+ isBlock: false,
40
+ type: "simple",
41
+ storageClassType: "string",
42
+ },
43
+ };
44
+ // remove undefined attributes
45
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
46
+ }
47
+ export class ObfuscationRuleActionOutputReference extends cdktf.ComplexObject {
48
+ isEmptyObject = false;
49
+ resolvableValue;
50
+ /**
51
+ * @param terraformResource The parent resource
52
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
53
+ * @param complexObjectIndex the index of this item in the list
54
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
55
+ */
56
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
57
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
58
+ }
59
+ get internalValue() {
60
+ if (this.resolvableValue) {
61
+ return this.resolvableValue;
62
+ }
63
+ let hasAnyValues = this.isEmptyObject;
64
+ const internalValueResult = {};
65
+ if (this._attribute !== undefined) {
66
+ hasAnyValues = true;
67
+ internalValueResult.attribute = this._attribute;
68
+ }
69
+ if (this._expressionId !== undefined) {
70
+ hasAnyValues = true;
71
+ internalValueResult.expressionId = this._expressionId;
72
+ }
73
+ if (this._method !== undefined) {
74
+ hasAnyValues = true;
75
+ internalValueResult.method = this._method;
76
+ }
77
+ return hasAnyValues ? internalValueResult : undefined;
78
+ }
79
+ set internalValue(value) {
80
+ if (value === undefined) {
81
+ this.isEmptyObject = false;
82
+ this.resolvableValue = undefined;
83
+ this._attribute = undefined;
84
+ this._expressionId = undefined;
85
+ this._method = undefined;
86
+ }
87
+ else if (cdktf.Tokenization.isResolvable(value)) {
88
+ this.isEmptyObject = false;
89
+ this.resolvableValue = value;
90
+ }
91
+ else {
92
+ this.isEmptyObject = Object.keys(value).length === 0;
93
+ this.resolvableValue = undefined;
94
+ this._attribute = value.attribute;
95
+ this._expressionId = value.expressionId;
96
+ this._method = value.method;
97
+ }
98
+ }
99
+ // attribute - computed: false, optional: false, required: true
100
+ _attribute;
101
+ get attribute() {
102
+ return cdktf.Fn.tolist(this.getListAttribute('attribute'));
103
+ }
104
+ set attribute(value) {
105
+ this._attribute = value;
106
+ }
107
+ // Temporarily expose input value. Use with caution.
108
+ get attributeInput() {
109
+ return this._attribute;
110
+ }
111
+ // expression_id - computed: false, optional: false, required: true
112
+ _expressionId;
113
+ get expressionId() {
114
+ return this.getStringAttribute('expression_id');
115
+ }
116
+ set expressionId(value) {
117
+ this._expressionId = value;
118
+ }
119
+ // Temporarily expose input value. Use with caution.
120
+ get expressionIdInput() {
121
+ return this._expressionId;
122
+ }
123
+ // method - computed: false, optional: false, required: true
124
+ _method;
125
+ get method() {
126
+ return this.getStringAttribute('method');
127
+ }
128
+ set method(value) {
129
+ this._method = value;
130
+ }
131
+ // Temporarily expose input value. Use with caution.
132
+ get methodInput() {
133
+ return this._method;
134
+ }
135
+ }
136
+ export class ObfuscationRuleActionList extends cdktf.ComplexList {
137
+ terraformResource;
138
+ terraformAttribute;
139
+ wrapsSet;
140
+ internalValue;
141
+ /**
142
+ * @param terraformResource The parent resource
143
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
144
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
145
+ */
146
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
147
+ super(terraformResource, terraformAttribute, wrapsSet);
148
+ this.terraformResource = terraformResource;
149
+ this.terraformAttribute = terraformAttribute;
150
+ this.wrapsSet = wrapsSet;
151
+ }
152
+ /**
153
+ * @param index the index of the item to return
154
+ */
155
+ get(index) {
156
+ return new ObfuscationRuleActionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
157
+ }
158
+ }
159
+ /**
160
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule newrelic_obfuscation_rule}
161
+ */
162
+ export class ObfuscationRule extends cdktf.TerraformResource {
163
+ // =================
164
+ // STATIC PROPERTIES
165
+ // =================
166
+ static tfResourceType = "newrelic_obfuscation_rule";
167
+ // ==============
168
+ // STATIC Methods
169
+ // ==============
170
+ /**
171
+ * Generates CDKTF code for importing a ObfuscationRule resource upon running "cdktf plan <stack-name>"
172
+ * @param scope The scope in which to define this construct
173
+ * @param importToId The construct id used in the generated config for the ObfuscationRule to import
174
+ * @param importFromId The id of the existing ObfuscationRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule#import import section} in the documentation of this resource for the id to use
175
+ * @param provider? Optional instance of the provider where the ObfuscationRule to import is found
176
+ */
177
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
178
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_obfuscation_rule", importId: importFromId, provider });
179
+ }
180
+ // ===========
181
+ // INITIALIZER
182
+ // ===========
183
+ /**
184
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/obfuscation_rule newrelic_obfuscation_rule} Resource
185
+ *
186
+ * @param scope The scope in which to define this construct
187
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
188
+ * @param options ObfuscationRuleConfig
189
+ */
190
+ constructor(scope, id, config) {
191
+ super(scope, id, {
192
+ terraformResourceType: 'newrelic_obfuscation_rule',
193
+ terraformGeneratorMetadata: {
194
+ providerName: 'newrelic',
195
+ providerVersion: '3.75.4',
196
+ providerVersionConstraint: '3.75.4'
197
+ },
198
+ provider: config.provider,
199
+ dependsOn: config.dependsOn,
200
+ count: config.count,
201
+ lifecycle: config.lifecycle,
202
+ provisioners: config.provisioners,
203
+ connection: config.connection,
204
+ forEach: config.forEach
205
+ });
206
+ this._accountId = config.accountId;
207
+ this._description = config.description;
208
+ this._enabled = config.enabled;
209
+ this._filter = config.filter;
210
+ this._id = config.id;
211
+ this._name = config.name;
212
+ this._action.internalValue = config.action;
213
+ }
214
+ // ==========
215
+ // ATTRIBUTES
216
+ // ==========
217
+ // account_id - computed: true, optional: true, required: false
218
+ _accountId;
219
+ get accountId() {
220
+ return this.getNumberAttribute('account_id');
221
+ }
222
+ set accountId(value) {
223
+ this._accountId = value;
224
+ }
225
+ resetAccountId() {
226
+ this._accountId = undefined;
227
+ }
228
+ // Temporarily expose input value. Use with caution.
229
+ get accountIdInput() {
230
+ return this._accountId;
231
+ }
232
+ // description - computed: false, optional: true, required: false
233
+ _description;
234
+ get description() {
235
+ return this.getStringAttribute('description');
236
+ }
237
+ set description(value) {
238
+ this._description = value;
239
+ }
240
+ resetDescription() {
241
+ this._description = undefined;
242
+ }
243
+ // Temporarily expose input value. Use with caution.
244
+ get descriptionInput() {
245
+ return this._description;
246
+ }
247
+ // enabled - computed: false, optional: false, required: true
248
+ _enabled;
249
+ get enabled() {
250
+ return this.getBooleanAttribute('enabled');
251
+ }
252
+ set enabled(value) {
253
+ this._enabled = value;
254
+ }
255
+ // Temporarily expose input value. Use with caution.
256
+ get enabledInput() {
257
+ return this._enabled;
258
+ }
259
+ // filter - computed: false, optional: false, required: true
260
+ _filter;
261
+ get filter() {
262
+ return this.getStringAttribute('filter');
263
+ }
264
+ set filter(value) {
265
+ this._filter = value;
266
+ }
267
+ // Temporarily expose input value. Use with caution.
268
+ get filterInput() {
269
+ return this._filter;
270
+ }
271
+ // id - computed: true, optional: true, required: false
272
+ _id;
273
+ get id() {
274
+ return this.getStringAttribute('id');
275
+ }
276
+ set id(value) {
277
+ this._id = value;
278
+ }
279
+ resetId() {
280
+ this._id = undefined;
281
+ }
282
+ // Temporarily expose input value. Use with caution.
283
+ get idInput() {
284
+ return this._id;
285
+ }
286
+ // name - computed: false, optional: false, required: true
287
+ _name;
288
+ get name() {
289
+ return this.getStringAttribute('name');
290
+ }
291
+ set name(value) {
292
+ this._name = value;
293
+ }
294
+ // Temporarily expose input value. Use with caution.
295
+ get nameInput() {
296
+ return this._name;
297
+ }
298
+ // action - computed: false, optional: false, required: true
299
+ _action = new ObfuscationRuleActionList(this, "action", true);
300
+ get action() {
301
+ return this._action;
302
+ }
303
+ putAction(value) {
304
+ this._action.internalValue = value;
305
+ }
306
+ // Temporarily expose input value. Use with caution.
307
+ get actionInput() {
308
+ return this._action.internalValue;
309
+ }
310
+ // =========
311
+ // SYNTHESIS
312
+ // =========
313
+ synthesizeAttributes() {
314
+ return {
315
+ account_id: cdktf.numberToTerraform(this._accountId),
316
+ description: cdktf.stringToTerraform(this._description),
317
+ enabled: cdktf.booleanToTerraform(this._enabled),
318
+ filter: cdktf.stringToTerraform(this._filter),
319
+ id: cdktf.stringToTerraform(this._id),
320
+ name: cdktf.stringToTerraform(this._name),
321
+ action: cdktf.listMapper(obfuscationRuleActionToTerraform, true)(this._action.internalValue),
322
+ };
323
+ }
324
+ synthesizeHclAttributes() {
325
+ const attrs = {
326
+ account_id: {
327
+ value: cdktf.numberToHclTerraform(this._accountId),
328
+ isBlock: false,
329
+ type: "simple",
330
+ storageClassType: "number",
331
+ },
332
+ description: {
333
+ value: cdktf.stringToHclTerraform(this._description),
334
+ isBlock: false,
335
+ type: "simple",
336
+ storageClassType: "string",
337
+ },
338
+ enabled: {
339
+ value: cdktf.booleanToHclTerraform(this._enabled),
340
+ isBlock: false,
341
+ type: "simple",
342
+ storageClassType: "boolean",
343
+ },
344
+ filter: {
345
+ value: cdktf.stringToHclTerraform(this._filter),
346
+ isBlock: false,
347
+ type: "simple",
348
+ storageClassType: "string",
349
+ },
350
+ id: {
351
+ value: cdktf.stringToHclTerraform(this._id),
352
+ isBlock: false,
353
+ type: "simple",
354
+ storageClassType: "string",
355
+ },
356
+ name: {
357
+ value: cdktf.stringToHclTerraform(this._name),
358
+ isBlock: false,
359
+ type: "simple",
360
+ storageClassType: "string",
361
+ },
362
+ action: {
363
+ value: cdktf.listMapperHcl(obfuscationRuleActionToHclTerraform, true)(this._action.internalValue),
364
+ isBlock: true,
365
+ type: "set",
366
+ storageClassType: "ObfuscationRuleActionList",
367
+ },
368
+ };
369
+ // remove undefined attributes
370
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
371
+ }
372
+ }
@@ -0,0 +1,2 @@
1
+ export * from './structs0';
2
+ export * from './structs400';
@@ -0,0 +1,2 @@
1
+ export * from './structs0';
2
+ export * from './structs400';