@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,138 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/data-sources/user
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ /**
5
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/data-sources/user newrelic_user}
6
+ */
7
+ export class DataNewrelicUser extends cdktf.TerraformDataSource {
8
+ // =================
9
+ // STATIC PROPERTIES
10
+ // =================
11
+ static tfResourceType = "newrelic_user";
12
+ // ==============
13
+ // STATIC Methods
14
+ // ==============
15
+ /**
16
+ * Generates CDKTF code for importing a DataNewrelicUser resource upon running "cdktf plan <stack-name>"
17
+ * @param scope The scope in which to define this construct
18
+ * @param importToId The construct id used in the generated config for the DataNewrelicUser to import
19
+ * @param importFromId The id of the existing DataNewrelicUser that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/data-sources/user#import import section} in the documentation of this resource for the id to use
20
+ * @param provider? Optional instance of the provider where the DataNewrelicUser to import is found
21
+ */
22
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
23
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_user", importId: importFromId, provider });
24
+ }
25
+ // ===========
26
+ // INITIALIZER
27
+ // ===========
28
+ /**
29
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/data-sources/user newrelic_user} Data Source
30
+ *
31
+ * @param scope The scope in which to define this construct
32
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
33
+ * @param options DataNewrelicUserConfig
34
+ */
35
+ constructor(scope, id, config) {
36
+ super(scope, id, {
37
+ terraformResourceType: 'newrelic_user',
38
+ terraformGeneratorMetadata: {
39
+ providerName: 'newrelic',
40
+ providerVersion: '3.75.4',
41
+ providerVersionConstraint: '3.75.4'
42
+ },
43
+ provider: config.provider,
44
+ dependsOn: config.dependsOn,
45
+ count: config.count,
46
+ lifecycle: config.lifecycle,
47
+ provisioners: config.provisioners,
48
+ connection: config.connection,
49
+ forEach: config.forEach
50
+ });
51
+ this._authenticationDomainId = config.authenticationDomainId;
52
+ this._emailId = config.emailId;
53
+ this._name = config.name;
54
+ }
55
+ // ==========
56
+ // ATTRIBUTES
57
+ // ==========
58
+ // authentication_domain_id - computed: false, optional: false, required: true
59
+ _authenticationDomainId;
60
+ get authenticationDomainId() {
61
+ return this.getStringAttribute('authentication_domain_id');
62
+ }
63
+ set authenticationDomainId(value) {
64
+ this._authenticationDomainId = value;
65
+ }
66
+ // Temporarily expose input value. Use with caution.
67
+ get authenticationDomainIdInput() {
68
+ return this._authenticationDomainId;
69
+ }
70
+ // email_id - computed: true, optional: true, required: false
71
+ _emailId;
72
+ get emailId() {
73
+ return this.getStringAttribute('email_id');
74
+ }
75
+ set emailId(value) {
76
+ this._emailId = value;
77
+ }
78
+ resetEmailId() {
79
+ this._emailId = undefined;
80
+ }
81
+ // Temporarily expose input value. Use with caution.
82
+ get emailIdInput() {
83
+ return this._emailId;
84
+ }
85
+ // id - computed: true, optional: false, required: false
86
+ get id() {
87
+ return this.getStringAttribute('id');
88
+ }
89
+ // name - computed: true, optional: true, required: false
90
+ _name;
91
+ get name() {
92
+ return this.getStringAttribute('name');
93
+ }
94
+ set name(value) {
95
+ this._name = value;
96
+ }
97
+ resetName() {
98
+ this._name = undefined;
99
+ }
100
+ // Temporarily expose input value. Use with caution.
101
+ get nameInput() {
102
+ return this._name;
103
+ }
104
+ // =========
105
+ // SYNTHESIS
106
+ // =========
107
+ synthesizeAttributes() {
108
+ return {
109
+ authentication_domain_id: cdktf.stringToTerraform(this._authenticationDomainId),
110
+ email_id: cdktf.stringToTerraform(this._emailId),
111
+ name: cdktf.stringToTerraform(this._name),
112
+ };
113
+ }
114
+ synthesizeHclAttributes() {
115
+ const attrs = {
116
+ authentication_domain_id: {
117
+ value: cdktf.stringToHclTerraform(this._authenticationDomainId),
118
+ isBlock: false,
119
+ type: "simple",
120
+ storageClassType: "string",
121
+ },
122
+ email_id: {
123
+ value: cdktf.stringToHclTerraform(this._emailId),
124
+ isBlock: false,
125
+ type: "simple",
126
+ storageClassType: "string",
127
+ },
128
+ name: {
129
+ value: cdktf.stringToHclTerraform(this._name),
130
+ isBlock: false,
131
+ type: "simple",
132
+ storageClassType: "string",
133
+ },
134
+ };
135
+ // remove undefined attributes
136
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
137
+ }
138
+ }
@@ -0,0 +1,142 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface DataPartitionRuleConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * The account id associated with the data partition rule.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#account_id DataPartitionRule#account_id}
8
+ */
9
+ readonly accountId?: number;
10
+ /**
11
+ * The description of the data partition rule.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#description DataPartitionRule#description}
14
+ */
15
+ readonly description?: string;
16
+ /**
17
+ * Whether or not this data partition rule is enabled.
18
+ *
19
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#enabled DataPartitionRule#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/data_partition_rule#id DataPartitionRule#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 NRQL to match events for this data partition rule. Logs matching this criteria will be routed to the specified data partition.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#nrql DataPartitionRule#nrql}
33
+ */
34
+ readonly nrql: string;
35
+ /**
36
+ * The retention policy of the data partition data.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#retention_policy DataPartitionRule#retention_policy}
39
+ */
40
+ readonly retentionPolicy: string;
41
+ /**
42
+ * The name of the data partition where logs will be allocated once the rule is enabled.
43
+ *
44
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#target_data_partition DataPartitionRule#target_data_partition}
45
+ */
46
+ readonly targetDataPartition: string;
47
+ /**
48
+ * timeouts block
49
+ *
50
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#timeouts DataPartitionRule#timeouts}
51
+ */
52
+ readonly timeouts?: DataPartitionRuleTimeouts;
53
+ }
54
+ export interface DataPartitionRuleTimeouts {
55
+ /**
56
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#create DataPartitionRule#create}
57
+ */
58
+ readonly create?: string;
59
+ }
60
+ export declare function dataPartitionRuleTimeoutsToTerraform(struct?: DataPartitionRuleTimeouts | cdktf.IResolvable): any;
61
+ export declare function dataPartitionRuleTimeoutsToHclTerraform(struct?: DataPartitionRuleTimeouts | cdktf.IResolvable): any;
62
+ export declare class DataPartitionRuleTimeoutsOutputReference extends cdktf.ComplexObject {
63
+ private isEmptyObject;
64
+ private resolvableValue?;
65
+ /**
66
+ * @param terraformResource The parent resource
67
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
68
+ */
69
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
70
+ get internalValue(): DataPartitionRuleTimeouts | cdktf.IResolvable | undefined;
71
+ set internalValue(value: DataPartitionRuleTimeouts | cdktf.IResolvable | undefined);
72
+ private _create?;
73
+ get create(): string;
74
+ set create(value: string);
75
+ resetCreate(): void;
76
+ get createInput(): string;
77
+ }
78
+ /**
79
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule newrelic_data_partition_rule}
80
+ */
81
+ export declare class DataPartitionRule extends cdktf.TerraformResource {
82
+ static readonly tfResourceType = "newrelic_data_partition_rule";
83
+ /**
84
+ * Generates CDKTF code for importing a DataPartitionRule resource upon running "cdktf plan <stack-name>"
85
+ * @param scope The scope in which to define this construct
86
+ * @param importToId The construct id used in the generated config for the DataPartitionRule to import
87
+ * @param importFromId The id of the existing DataPartitionRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#import import section} in the documentation of this resource for the id to use
88
+ * @param provider? Optional instance of the provider where the DataPartitionRule to import is found
89
+ */
90
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
91
+ /**
92
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule newrelic_data_partition_rule} Resource
93
+ *
94
+ * @param scope The scope in which to define this construct
95
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
96
+ * @param options DataPartitionRuleConfig
97
+ */
98
+ constructor(scope: Construct, id: string, config: DataPartitionRuleConfig);
99
+ private _accountId?;
100
+ get accountId(): number;
101
+ set accountId(value: number);
102
+ resetAccountId(): void;
103
+ get accountIdInput(): number;
104
+ get deleted(): any;
105
+ private _description?;
106
+ get description(): string;
107
+ set description(value: string);
108
+ resetDescription(): void;
109
+ get descriptionInput(): string;
110
+ private _enabled?;
111
+ get enabled(): boolean | cdktf.IResolvable;
112
+ set enabled(value: boolean | cdktf.IResolvable);
113
+ get enabledInput(): any;
114
+ private _id?;
115
+ get id(): string;
116
+ set id(value: string);
117
+ resetId(): void;
118
+ get idInput(): string;
119
+ private _nrql?;
120
+ get nrql(): string;
121
+ set nrql(value: string);
122
+ get nrqlInput(): string;
123
+ private _retentionPolicy?;
124
+ get retentionPolicy(): string;
125
+ set retentionPolicy(value: string);
126
+ get retentionPolicyInput(): string;
127
+ private _targetDataPartition?;
128
+ get targetDataPartition(): string;
129
+ set targetDataPartition(value: string);
130
+ get targetDataPartitionInput(): string;
131
+ private _timeouts;
132
+ get timeouts(): DataPartitionRuleTimeoutsOutputReference;
133
+ putTimeouts(value: DataPartitionRuleTimeouts): void;
134
+ resetTimeouts(): void;
135
+ get timeoutsInput(): any;
136
+ protected synthesizeAttributes(): {
137
+ [name: string]: any;
138
+ };
139
+ protected synthesizeHclAttributes(): {
140
+ [name: string]: any;
141
+ };
142
+ }
@@ -0,0 +1,327 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dataPartitionRuleTimeoutsToTerraform(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
+ create: cdktf.stringToTerraform(struct.create),
13
+ };
14
+ }
15
+ export function dataPartitionRuleTimeoutsToHclTerraform(struct) {
16
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
17
+ return struct;
18
+ }
19
+ if (cdktf.isComplexElement(struct)) {
20
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
21
+ }
22
+ const attrs = {
23
+ create: {
24
+ value: cdktf.stringToHclTerraform(struct.create),
25
+ isBlock: false,
26
+ type: "simple",
27
+ storageClassType: "string",
28
+ },
29
+ };
30
+ // remove undefined attributes
31
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
32
+ }
33
+ export class DataPartitionRuleTimeoutsOutputReference extends cdktf.ComplexObject {
34
+ isEmptyObject = false;
35
+ resolvableValue;
36
+ /**
37
+ * @param terraformResource The parent resource
38
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
39
+ */
40
+ constructor(terraformResource, terraformAttribute) {
41
+ super(terraformResource, terraformAttribute, false);
42
+ }
43
+ get internalValue() {
44
+ if (this.resolvableValue) {
45
+ return this.resolvableValue;
46
+ }
47
+ let hasAnyValues = this.isEmptyObject;
48
+ const internalValueResult = {};
49
+ if (this._create !== undefined) {
50
+ hasAnyValues = true;
51
+ internalValueResult.create = this._create;
52
+ }
53
+ return hasAnyValues ? internalValueResult : undefined;
54
+ }
55
+ set internalValue(value) {
56
+ if (value === undefined) {
57
+ this.isEmptyObject = false;
58
+ this.resolvableValue = undefined;
59
+ this._create = undefined;
60
+ }
61
+ else if (cdktf.Tokenization.isResolvable(value)) {
62
+ this.isEmptyObject = false;
63
+ this.resolvableValue = value;
64
+ }
65
+ else {
66
+ this.isEmptyObject = Object.keys(value).length === 0;
67
+ this.resolvableValue = undefined;
68
+ this._create = value.create;
69
+ }
70
+ }
71
+ // create - computed: false, optional: true, required: false
72
+ _create;
73
+ get create() {
74
+ return this.getStringAttribute('create');
75
+ }
76
+ set create(value) {
77
+ this._create = value;
78
+ }
79
+ resetCreate() {
80
+ this._create = undefined;
81
+ }
82
+ // Temporarily expose input value. Use with caution.
83
+ get createInput() {
84
+ return this._create;
85
+ }
86
+ }
87
+ /**
88
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule newrelic_data_partition_rule}
89
+ */
90
+ export class DataPartitionRule extends cdktf.TerraformResource {
91
+ // =================
92
+ // STATIC PROPERTIES
93
+ // =================
94
+ static tfResourceType = "newrelic_data_partition_rule";
95
+ // ==============
96
+ // STATIC Methods
97
+ // ==============
98
+ /**
99
+ * Generates CDKTF code for importing a DataPartitionRule resource upon running "cdktf plan <stack-name>"
100
+ * @param scope The scope in which to define this construct
101
+ * @param importToId The construct id used in the generated config for the DataPartitionRule to import
102
+ * @param importFromId The id of the existing DataPartitionRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule#import import section} in the documentation of this resource for the id to use
103
+ * @param provider? Optional instance of the provider where the DataPartitionRule to import is found
104
+ */
105
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
106
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_data_partition_rule", importId: importFromId, provider });
107
+ }
108
+ // ===========
109
+ // INITIALIZER
110
+ // ===========
111
+ /**
112
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/data_partition_rule newrelic_data_partition_rule} Resource
113
+ *
114
+ * @param scope The scope in which to define this construct
115
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
116
+ * @param options DataPartitionRuleConfig
117
+ */
118
+ constructor(scope, id, config) {
119
+ super(scope, id, {
120
+ terraformResourceType: 'newrelic_data_partition_rule',
121
+ terraformGeneratorMetadata: {
122
+ providerName: 'newrelic',
123
+ providerVersion: '3.75.4',
124
+ providerVersionConstraint: '3.75.4'
125
+ },
126
+ provider: config.provider,
127
+ dependsOn: config.dependsOn,
128
+ count: config.count,
129
+ lifecycle: config.lifecycle,
130
+ provisioners: config.provisioners,
131
+ connection: config.connection,
132
+ forEach: config.forEach
133
+ });
134
+ this._accountId = config.accountId;
135
+ this._description = config.description;
136
+ this._enabled = config.enabled;
137
+ this._id = config.id;
138
+ this._nrql = config.nrql;
139
+ this._retentionPolicy = config.retentionPolicy;
140
+ this._targetDataPartition = config.targetDataPartition;
141
+ this._timeouts.internalValue = config.timeouts;
142
+ }
143
+ // ==========
144
+ // ATTRIBUTES
145
+ // ==========
146
+ // account_id - computed: true, optional: true, required: false
147
+ _accountId;
148
+ get accountId() {
149
+ return this.getNumberAttribute('account_id');
150
+ }
151
+ set accountId(value) {
152
+ this._accountId = value;
153
+ }
154
+ resetAccountId() {
155
+ this._accountId = undefined;
156
+ }
157
+ // Temporarily expose input value. Use with caution.
158
+ get accountIdInput() {
159
+ return this._accountId;
160
+ }
161
+ // deleted - computed: true, optional: false, required: false
162
+ get deleted() {
163
+ return this.getBooleanAttribute('deleted');
164
+ }
165
+ // description - computed: false, optional: true, required: false
166
+ _description;
167
+ get description() {
168
+ return this.getStringAttribute('description');
169
+ }
170
+ set description(value) {
171
+ this._description = value;
172
+ }
173
+ resetDescription() {
174
+ this._description = undefined;
175
+ }
176
+ // Temporarily expose input value. Use with caution.
177
+ get descriptionInput() {
178
+ return this._description;
179
+ }
180
+ // enabled - computed: false, optional: false, required: true
181
+ _enabled;
182
+ get enabled() {
183
+ return this.getBooleanAttribute('enabled');
184
+ }
185
+ set enabled(value) {
186
+ this._enabled = value;
187
+ }
188
+ // Temporarily expose input value. Use with caution.
189
+ get enabledInput() {
190
+ return this._enabled;
191
+ }
192
+ // id - computed: true, optional: true, required: false
193
+ _id;
194
+ get id() {
195
+ return this.getStringAttribute('id');
196
+ }
197
+ set id(value) {
198
+ this._id = value;
199
+ }
200
+ resetId() {
201
+ this._id = undefined;
202
+ }
203
+ // Temporarily expose input value. Use with caution.
204
+ get idInput() {
205
+ return this._id;
206
+ }
207
+ // nrql - computed: false, optional: false, required: true
208
+ _nrql;
209
+ get nrql() {
210
+ return this.getStringAttribute('nrql');
211
+ }
212
+ set nrql(value) {
213
+ this._nrql = value;
214
+ }
215
+ // Temporarily expose input value. Use with caution.
216
+ get nrqlInput() {
217
+ return this._nrql;
218
+ }
219
+ // retention_policy - computed: false, optional: false, required: true
220
+ _retentionPolicy;
221
+ get retentionPolicy() {
222
+ return this.getStringAttribute('retention_policy');
223
+ }
224
+ set retentionPolicy(value) {
225
+ this._retentionPolicy = value;
226
+ }
227
+ // Temporarily expose input value. Use with caution.
228
+ get retentionPolicyInput() {
229
+ return this._retentionPolicy;
230
+ }
231
+ // target_data_partition - computed: false, optional: false, required: true
232
+ _targetDataPartition;
233
+ get targetDataPartition() {
234
+ return this.getStringAttribute('target_data_partition');
235
+ }
236
+ set targetDataPartition(value) {
237
+ this._targetDataPartition = value;
238
+ }
239
+ // Temporarily expose input value. Use with caution.
240
+ get targetDataPartitionInput() {
241
+ return this._targetDataPartition;
242
+ }
243
+ // timeouts - computed: false, optional: true, required: false
244
+ _timeouts = new DataPartitionRuleTimeoutsOutputReference(this, "timeouts");
245
+ get timeouts() {
246
+ return this._timeouts;
247
+ }
248
+ putTimeouts(value) {
249
+ this._timeouts.internalValue = value;
250
+ }
251
+ resetTimeouts() {
252
+ this._timeouts.internalValue = undefined;
253
+ }
254
+ // Temporarily expose input value. Use with caution.
255
+ get timeoutsInput() {
256
+ return this._timeouts.internalValue;
257
+ }
258
+ // =========
259
+ // SYNTHESIS
260
+ // =========
261
+ synthesizeAttributes() {
262
+ return {
263
+ account_id: cdktf.numberToTerraform(this._accountId),
264
+ description: cdktf.stringToTerraform(this._description),
265
+ enabled: cdktf.booleanToTerraform(this._enabled),
266
+ id: cdktf.stringToTerraform(this._id),
267
+ nrql: cdktf.stringToTerraform(this._nrql),
268
+ retention_policy: cdktf.stringToTerraform(this._retentionPolicy),
269
+ target_data_partition: cdktf.stringToTerraform(this._targetDataPartition),
270
+ timeouts: dataPartitionRuleTimeoutsToTerraform(this._timeouts.internalValue),
271
+ };
272
+ }
273
+ synthesizeHclAttributes() {
274
+ const attrs = {
275
+ account_id: {
276
+ value: cdktf.numberToHclTerraform(this._accountId),
277
+ isBlock: false,
278
+ type: "simple",
279
+ storageClassType: "number",
280
+ },
281
+ description: {
282
+ value: cdktf.stringToHclTerraform(this._description),
283
+ isBlock: false,
284
+ type: "simple",
285
+ storageClassType: "string",
286
+ },
287
+ enabled: {
288
+ value: cdktf.booleanToHclTerraform(this._enabled),
289
+ isBlock: false,
290
+ type: "simple",
291
+ storageClassType: "boolean",
292
+ },
293
+ id: {
294
+ value: cdktf.stringToHclTerraform(this._id),
295
+ isBlock: false,
296
+ type: "simple",
297
+ storageClassType: "string",
298
+ },
299
+ nrql: {
300
+ value: cdktf.stringToHclTerraform(this._nrql),
301
+ isBlock: false,
302
+ type: "simple",
303
+ storageClassType: "string",
304
+ },
305
+ retention_policy: {
306
+ value: cdktf.stringToHclTerraform(this._retentionPolicy),
307
+ isBlock: false,
308
+ type: "simple",
309
+ storageClassType: "string",
310
+ },
311
+ target_data_partition: {
312
+ value: cdktf.stringToHclTerraform(this._targetDataPartition),
313
+ isBlock: false,
314
+ type: "simple",
315
+ storageClassType: "string",
316
+ },
317
+ timeouts: {
318
+ value: dataPartitionRuleTimeoutsToHclTerraform(this._timeouts.internalValue),
319
+ isBlock: true,
320
+ type: "struct",
321
+ storageClassType: "DataPartitionRuleTimeouts",
322
+ },
323
+ };
324
+ // remove undefined attributes
325
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
326
+ }
327
+ }