@cdktn/provider-newrelic 14.0.0
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.
- package/.jsii +198156 -0
- package/LICENSE +355 -0
- package/README.md +94 -0
- package/lib/account-management/index.d.ts +122 -0
- package/lib/account-management/index.js +293 -0
- package/lib/alert-channel/index.d.ts +351 -0
- package/lib/alert-channel/index.js +769 -0
- package/lib/alert-compound-condition/index.d.ts +233 -0
- package/lib/alert-compound-condition/index.js +506 -0
- package/lib/alert-condition/index.d.ts +271 -0
- package/lib/alert-condition/index.js +558 -0
- package/lib/alert-muting-rule/index.d.ts +309 -0
- package/lib/alert-muting-rule/index.js +714 -0
- package/lib/alert-policy/index.d.ts +91 -0
- package/lib/alert-policy/index.js +174 -0
- package/lib/alert-policy-channel/index.d.ts +114 -0
- package/lib/alert-policy-channel/index.js +258 -0
- package/lib/api-access-key/index.d.ts +102 -0
- package/lib/api-access-key/index.js +220 -0
- package/lib/application-settings/index.d.ts +414 -0
- package/lib/application-settings/index.js +944 -0
- package/lib/browser-application/index.d.ts +149 -0
- package/lib/browser-application/index.js +341 -0
- package/lib/cloud-aws-eu-sovereign-integrations/index.d.ts +199 -0
- package/lib/cloud-aws-eu-sovereign-integrations/index.js +481 -0
- package/lib/cloud-aws-eu-sovereign-link-account/index.d.ts +90 -0
- package/lib/cloud-aws-eu-sovereign-link-account/index.js +171 -0
- package/lib/cloud-aws-govcloud-integrations/index.d.ts +1523 -0
- package/lib/cloud-aws-govcloud-integrations/index.js +3776 -0
- package/lib/cloud-aws-govcloud-link-account/index.d.ts +90 -0
- package/lib/cloud-aws-govcloud-link-account/index.js +171 -0
- package/lib/cloud-aws-integrations/index.d.ts +3345 -0
- package/lib/cloud-aws-integrations/index.js +8599 -0
- package/lib/cloud-aws-link-account/index.d.ts +90 -0
- package/lib/cloud-aws-link-account/index.js +171 -0
- package/lib/cloud-azure-integrations/index.d.ts +1666 -0
- package/lib/cloud-azure-integrations/index.js +4361 -0
- package/lib/cloud-azure-link-account/index.d.ts +109 -0
- package/lib/cloud-azure-link-account/index.js +204 -0
- package/lib/cloud-gcp-integrations/index.d.ts +1049 -0
- package/lib/cloud-gcp-integrations/index.js +2810 -0
- package/lib/cloud-gcp-link-account/index.d.ts +79 -0
- package/lib/cloud-gcp-link-account/index.js +150 -0
- package/lib/cloud-oci-link-account/index.d.ts +195 -0
- package/lib/cloud-oci-link-account/index.js +366 -0
- package/lib/data-newrelic-account/index.d.ts +82 -0
- package/lib/data-newrelic-account/index.js +160 -0
- package/lib/data-newrelic-alert-channel/index.d.ts +126 -0
- package/lib/data-newrelic-alert-channel/index.js +298 -0
- package/lib/data-newrelic-alert-policy/index.d.ts +82 -0
- package/lib/data-newrelic-alert-policy/index.js +161 -0
- package/lib/data-newrelic-application/index.d.ts +60 -0
- package/lib/data-newrelic-application/index.js +122 -0
- package/lib/data-newrelic-authentication-domain/index.d.ts +47 -0
- package/lib/data-newrelic-authentication-domain/index.js +97 -0
- package/lib/data-newrelic-cloud-account/index.d.ts +79 -0
- package/lib/data-newrelic-cloud-account/index.js +150 -0
- package/lib/data-newrelic-entity/index.d.ts +189 -0
- package/lib/data-newrelic-entity/index.js +401 -0
- package/lib/data-newrelic-group/index.d.ts +58 -0
- package/lib/data-newrelic-group/index.js +116 -0
- package/lib/data-newrelic-key-transaction/index.d.ts +82 -0
- package/lib/data-newrelic-key-transaction/index.js +161 -0
- package/lib/data-newrelic-notification-destination/index.d.ts +165 -0
- package/lib/data-newrelic-notification-destination/index.js +372 -0
- package/lib/data-newrelic-obfuscation-expression/index.d.ts +69 -0
- package/lib/data-newrelic-obfuscation-expression/index.js +132 -0
- package/lib/data-newrelic-service-level-alert-helper/index.d.ts +111 -0
- package/lib/data-newrelic-service-level-alert-helper/index.js +244 -0
- package/lib/data-newrelic-synthetics-private-location/index.d.ts +80 -0
- package/lib/data-newrelic-synthetics-private-location/index.js +153 -0
- package/lib/data-newrelic-synthetics-secure-credential/index.d.ts +71 -0
- package/lib/data-newrelic-synthetics-secure-credential/index.js +140 -0
- package/lib/data-newrelic-test-grok-pattern/index.d.ts +149 -0
- package/lib/data-newrelic-test-grok-pattern/index.js +318 -0
- package/lib/data-newrelic-user/index.d.ts +69 -0
- package/lib/data-newrelic-user/index.js +136 -0
- package/lib/data-partition-rule/index.d.ts +146 -0
- package/lib/data-partition-rule/index.js +319 -0
- package/lib/entity-tags/index.d.ts +156 -0
- package/lib/entity-tags/index.js +368 -0
- package/lib/events-to-metrics-rule/index.d.ts +102 -0
- package/lib/events-to-metrics-rule/index.js +196 -0
- package/lib/group/index.d.ts +79 -0
- package/lib/group/index.js +150 -0
- package/lib/index.d.ts +74 -0
- package/lib/index.js +80 -0
- package/lib/infra-alert-condition/index.d.ts +293 -0
- package/lib/infra-alert-condition/index.js +665 -0
- package/lib/insights-event/index.d.ts +186 -0
- package/lib/insights-event/index.js +425 -0
- package/lib/key-transaction/index.d.ts +100 -0
- package/lib/key-transaction/index.js +191 -0
- package/lib/lazy-index.d.ts +4 -0
- package/lib/lazy-index.js +77 -0
- package/lib/log-parsing-rule/index.d.ts +132 -0
- package/lib/log-parsing-rule/index.js +250 -0
- package/lib/monitor-downtime/index.d.ts +259 -0
- package/lib/monitor-downtime/index.js +594 -0
- package/lib/notification-channel/index.d.ts +240 -0
- package/lib/notification-channel/index.js +546 -0
- package/lib/notification-destination/index.d.ts +406 -0
- package/lib/notification-destination/index.js +1030 -0
- package/lib/nrql-alert-condition/index.d.ts +976 -0
- package/lib/nrql-alert-condition/index.js +2320 -0
- package/lib/nrql-drop-rule/index.d.ts +127 -0
- package/lib/nrql-drop-rule/index.js +287 -0
- package/lib/obfuscation-expression/index.d.ts +90 -0
- package/lib/obfuscation-expression/index.js +171 -0
- package/lib/obfuscation-rule/index.d.ts +173 -0
- package/lib/obfuscation-rule/index.js +361 -0
- package/lib/one-dashboard/index-structs/index.d.ts +6 -0
- package/lib/one-dashboard/index-structs/index.js +23 -0
- package/lib/one-dashboard/index-structs/structs0.d.ts +7000 -0
- package/lib/one-dashboard/index-structs/structs0.js +17966 -0
- package/lib/one-dashboard/index-structs/structs400.d.ts +3703 -0
- package/lib/one-dashboard/index-structs/structs400.js +9484 -0
- package/lib/one-dashboard/index.d.ts +116 -0
- package/lib/one-dashboard/index.js +246 -0
- package/lib/one-dashboard-json/index.d.ts +116 -0
- package/lib/one-dashboard-json/index.js +278 -0
- package/lib/one-dashboard-raw/index.d.ts +278 -0
- package/lib/one-dashboard-raw/index.js +646 -0
- package/lib/pipeline-cloud-rule/index.d.ts +90 -0
- package/lib/pipeline-cloud-rule/index.js +171 -0
- package/lib/provider/index.d.ts +164 -0
- package/lib/provider/index.js +354 -0
- package/lib/service-level/index.d.ts +505 -0
- package/lib/service-level/index.js +1429 -0
- package/lib/synthetics-alert-condition/index.d.ts +101 -0
- package/lib/synthetics-alert-condition/index.js +193 -0
- package/lib/synthetics-broken-links-monitor/index.d.ts +221 -0
- package/lib/synthetics-broken-links-monitor/index.js +455 -0
- package/lib/synthetics-cert-check-monitor/index.d.ts +226 -0
- package/lib/synthetics-cert-check-monitor/index.js +469 -0
- package/lib/synthetics-monitor/index.d.ts +408 -0
- package/lib/synthetics-monitor/index.js +843 -0
- package/lib/synthetics-multilocation-alert-condition/index.d.ts +181 -0
- package/lib/synthetics-multilocation-alert-condition/index.js +403 -0
- package/lib/synthetics-private-location/index.d.ts +94 -0
- package/lib/synthetics-private-location/index.js +187 -0
- package/lib/synthetics-script-monitor/index.d.ts +352 -0
- package/lib/synthetics-script-monitor/index.js +736 -0
- package/lib/synthetics-secure-credential/index.d.ts +136 -0
- package/lib/synthetics-secure-credential/index.js +300 -0
- package/lib/synthetics-step-monitor/index.d.ts +372 -0
- package/lib/synthetics-step-monitor/index.js +809 -0
- package/lib/user/index.d.ts +89 -0
- package/lib/user/index.js +168 -0
- package/lib/workflow/index.d.ts +445 -0
- package/lib/workflow/index.js +1058 -0
- package/lib/workload/index.d.ts +518 -0
- package/lib/workload/index.js +1279 -0
- package/package.json +155 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2021, 2026
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktn from 'cdktn';
|
|
7
|
+
export interface DataNewrelicCloudAccountConfig extends cdktn.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* The ID of the New Relic account.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#account_id DataNewrelicCloudAccount#account_id}
|
|
12
|
+
*/
|
|
13
|
+
readonly accountId?: number;
|
|
14
|
+
/**
|
|
15
|
+
* The cloud provider of the account, e.g. aws, gcp, azure
|
|
16
|
+
*
|
|
17
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#cloud_provider DataNewrelicCloudAccount#cloud_provider}
|
|
18
|
+
*/
|
|
19
|
+
readonly cloudProvider: string;
|
|
20
|
+
/**
|
|
21
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#id DataNewrelicCloudAccount#id}
|
|
22
|
+
*
|
|
23
|
+
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
24
|
+
* 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.
|
|
25
|
+
*/
|
|
26
|
+
readonly id?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The name of the cloud account.
|
|
29
|
+
*
|
|
30
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#name DataNewrelicCloudAccount#name}
|
|
31
|
+
*/
|
|
32
|
+
readonly name: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account newrelic_cloud_account}
|
|
36
|
+
*/
|
|
37
|
+
export declare class DataNewrelicCloudAccount extends cdktn.TerraformDataSource {
|
|
38
|
+
static readonly tfResourceType = "newrelic_cloud_account";
|
|
39
|
+
/**
|
|
40
|
+
* Generates CDKTN code for importing a DataNewrelicCloudAccount resource upon running "cdktn plan <stack-name>"
|
|
41
|
+
* @param scope The scope in which to define this construct
|
|
42
|
+
* @param importToId The construct id used in the generated config for the DataNewrelicCloudAccount to import
|
|
43
|
+
* @param importFromId The id of the existing DataNewrelicCloudAccount that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#import import section} in the documentation of this resource for the id to use
|
|
44
|
+
* @param provider? Optional instance of the provider where the DataNewrelicCloudAccount to import is found
|
|
45
|
+
*/
|
|
46
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
|
|
47
|
+
/**
|
|
48
|
+
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account newrelic_cloud_account} Data Source
|
|
49
|
+
*
|
|
50
|
+
* @param scope The scope in which to define this construct
|
|
51
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
52
|
+
* @param options DataNewrelicCloudAccountConfig
|
|
53
|
+
*/
|
|
54
|
+
constructor(scope: Construct, id: string, config: DataNewrelicCloudAccountConfig);
|
|
55
|
+
private _accountId?;
|
|
56
|
+
get accountId(): number;
|
|
57
|
+
set accountId(value: number);
|
|
58
|
+
resetAccountId(): void;
|
|
59
|
+
get accountIdInput(): number | undefined;
|
|
60
|
+
private _cloudProvider?;
|
|
61
|
+
get cloudProvider(): string;
|
|
62
|
+
set cloudProvider(value: string);
|
|
63
|
+
get cloudProviderInput(): string | undefined;
|
|
64
|
+
private _id?;
|
|
65
|
+
get id(): string;
|
|
66
|
+
set id(value: string);
|
|
67
|
+
resetId(): void;
|
|
68
|
+
get idInput(): string | undefined;
|
|
69
|
+
private _name?;
|
|
70
|
+
get name(): string;
|
|
71
|
+
set name(value: string);
|
|
72
|
+
get nameInput(): string | undefined;
|
|
73
|
+
protected synthesizeAttributes(): {
|
|
74
|
+
[name: string]: any;
|
|
75
|
+
};
|
|
76
|
+
protected synthesizeHclAttributes(): {
|
|
77
|
+
[name: string]: any;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DataNewrelicCloudAccount = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const cdktn = require("cdktn");
|
|
7
|
+
/**
|
|
8
|
+
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account newrelic_cloud_account}
|
|
9
|
+
*/
|
|
10
|
+
class DataNewrelicCloudAccount extends cdktn.TerraformDataSource {
|
|
11
|
+
// ==============
|
|
12
|
+
// STATIC Methods
|
|
13
|
+
// ==============
|
|
14
|
+
/**
|
|
15
|
+
* Generates CDKTN code for importing a DataNewrelicCloudAccount resource upon running "cdktn plan <stack-name>"
|
|
16
|
+
* @param scope The scope in which to define this construct
|
|
17
|
+
* @param importToId The construct id used in the generated config for the DataNewrelicCloudAccount to import
|
|
18
|
+
* @param importFromId The id of the existing DataNewrelicCloudAccount that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account#import import section} in the documentation of this resource for the id to use
|
|
19
|
+
* @param provider? Optional instance of the provider where the DataNewrelicCloudAccount to import is found
|
|
20
|
+
*/
|
|
21
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
22
|
+
return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_cloud_account", importId: importFromId, provider });
|
|
23
|
+
}
|
|
24
|
+
// ===========
|
|
25
|
+
// INITIALIZER
|
|
26
|
+
// ===========
|
|
27
|
+
/**
|
|
28
|
+
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/cloud_account newrelic_cloud_account} Data Source
|
|
29
|
+
*
|
|
30
|
+
* @param scope The scope in which to define this construct
|
|
31
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
32
|
+
* @param options DataNewrelicCloudAccountConfig
|
|
33
|
+
*/
|
|
34
|
+
constructor(scope, id, config) {
|
|
35
|
+
super(scope, id, {
|
|
36
|
+
terraformResourceType: 'newrelic_cloud_account',
|
|
37
|
+
terraformGeneratorMetadata: {
|
|
38
|
+
providerName: 'newrelic',
|
|
39
|
+
providerVersion: '3.80.2',
|
|
40
|
+
providerVersionConstraint: '~> 3.7'
|
|
41
|
+
},
|
|
42
|
+
provider: config.provider,
|
|
43
|
+
dependsOn: config.dependsOn,
|
|
44
|
+
count: config.count,
|
|
45
|
+
lifecycle: config.lifecycle,
|
|
46
|
+
provisioners: config.provisioners,
|
|
47
|
+
connection: config.connection,
|
|
48
|
+
forEach: config.forEach
|
|
49
|
+
});
|
|
50
|
+
this._accountId = config.accountId;
|
|
51
|
+
this._cloudProvider = config.cloudProvider;
|
|
52
|
+
this._id = config.id;
|
|
53
|
+
this._name = config.name;
|
|
54
|
+
}
|
|
55
|
+
get accountId() {
|
|
56
|
+
return this.getNumberAttribute('account_id');
|
|
57
|
+
}
|
|
58
|
+
set accountId(value) {
|
|
59
|
+
this._accountId = value;
|
|
60
|
+
}
|
|
61
|
+
resetAccountId() {
|
|
62
|
+
this._accountId = undefined;
|
|
63
|
+
}
|
|
64
|
+
// Temporarily expose input value. Use with caution.
|
|
65
|
+
get accountIdInput() {
|
|
66
|
+
return this._accountId;
|
|
67
|
+
}
|
|
68
|
+
get cloudProvider() {
|
|
69
|
+
return this.getStringAttribute('cloud_provider');
|
|
70
|
+
}
|
|
71
|
+
set cloudProvider(value) {
|
|
72
|
+
this._cloudProvider = value;
|
|
73
|
+
}
|
|
74
|
+
// Temporarily expose input value. Use with caution.
|
|
75
|
+
get cloudProviderInput() {
|
|
76
|
+
return this._cloudProvider;
|
|
77
|
+
}
|
|
78
|
+
get id() {
|
|
79
|
+
return this.getStringAttribute('id');
|
|
80
|
+
}
|
|
81
|
+
set id(value) {
|
|
82
|
+
this._id = value;
|
|
83
|
+
}
|
|
84
|
+
resetId() {
|
|
85
|
+
this._id = undefined;
|
|
86
|
+
}
|
|
87
|
+
// Temporarily expose input value. Use with caution.
|
|
88
|
+
get idInput() {
|
|
89
|
+
return this._id;
|
|
90
|
+
}
|
|
91
|
+
get name() {
|
|
92
|
+
return this.getStringAttribute('name');
|
|
93
|
+
}
|
|
94
|
+
set name(value) {
|
|
95
|
+
this._name = value;
|
|
96
|
+
}
|
|
97
|
+
// Temporarily expose input value. Use with caution.
|
|
98
|
+
get nameInput() {
|
|
99
|
+
return this._name;
|
|
100
|
+
}
|
|
101
|
+
// =========
|
|
102
|
+
// SYNTHESIS
|
|
103
|
+
// =========
|
|
104
|
+
synthesizeAttributes() {
|
|
105
|
+
return {
|
|
106
|
+
account_id: cdktn.numberToTerraform(this._accountId),
|
|
107
|
+
cloud_provider: cdktn.stringToTerraform(this._cloudProvider),
|
|
108
|
+
id: cdktn.stringToTerraform(this._id),
|
|
109
|
+
name: cdktn.stringToTerraform(this._name),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
synthesizeHclAttributes() {
|
|
113
|
+
const attrs = {
|
|
114
|
+
account_id: {
|
|
115
|
+
value: cdktn.numberToHclTerraform(this._accountId),
|
|
116
|
+
isBlock: false,
|
|
117
|
+
type: "simple",
|
|
118
|
+
storageClassType: "number",
|
|
119
|
+
},
|
|
120
|
+
cloud_provider: {
|
|
121
|
+
value: cdktn.stringToHclTerraform(this._cloudProvider),
|
|
122
|
+
isBlock: false,
|
|
123
|
+
type: "simple",
|
|
124
|
+
storageClassType: "string",
|
|
125
|
+
},
|
|
126
|
+
id: {
|
|
127
|
+
value: cdktn.stringToHclTerraform(this._id),
|
|
128
|
+
isBlock: false,
|
|
129
|
+
type: "simple",
|
|
130
|
+
storageClassType: "string",
|
|
131
|
+
},
|
|
132
|
+
name: {
|
|
133
|
+
value: cdktn.stringToHclTerraform(this._name),
|
|
134
|
+
isBlock: false,
|
|
135
|
+
type: "simple",
|
|
136
|
+
storageClassType: "string",
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
// remove undefined attributes
|
|
140
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.DataNewrelicCloudAccount = DataNewrelicCloudAccount;
|
|
144
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
145
|
+
DataNewrelicCloudAccount[_a] = { fqn: "@cdktn/provider-newrelic.dataNewrelicCloudAccount.DataNewrelicCloudAccount", version: "14.0.0" };
|
|
146
|
+
// =================
|
|
147
|
+
// STATIC PROPERTIES
|
|
148
|
+
// =================
|
|
149
|
+
DataNewrelicCloudAccount.tfResourceType = "newrelic_cloud_account";
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1uZXdyZWxpYy1jbG91ZC1hY2NvdW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBZ0MvQjs7RUFFRTtBQUNGLE1BQWEsd0JBQXlCLFNBQVEsS0FBSyxDQUFDLG1CQUFtQjtJQU9yRSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQjs7Ozs7O01BTUU7SUFDSyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsUUFBa0M7UUFDOUgsT0FBTyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2hKLENBQUM7SUFFTCxjQUFjO0lBQ2QsY0FBYztJQUNkLGNBQWM7SUFFZDs7Ozs7O01BTUU7SUFDRixZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUFzQztRQUNyRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLHFCQUFxQixFQUFFLHdCQUF3QjtZQUMvQywwQkFBMEIsRUFBRTtnQkFDMUIsWUFBWSxFQUFFLFVBQVU7Z0JBQ3hCLGVBQWUsRUFBRSxRQUFRO2dCQUN6Qix5QkFBeUIsRUFBRSxRQUFRO2FBQ3BDO1lBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7WUFDbkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtZQUNqQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBUUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxJQUFXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLEtBQWE7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUlELElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFXLEVBQUUsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFDTSxPQUFPO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDdkIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUVGLG9CQUFvQjtRQUM1QixPQUFPO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3BELGNBQWMsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM1RCxFQUFFLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckMsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFDLENBQUM7SUFDSixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLE1BQU0sS0FBSyxHQUFHO1lBQ1osVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDbEQsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELGNBQWMsRUFBRTtnQkFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQ3RELE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFFBQVE7YUFDM0I7WUFDRCxFQUFFLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMzQyxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDN0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtTQUNGLENBQUM7UUFFRiw4QkFBOEI7UUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUUsQ0FBQyxDQUFBO0lBQzVILENBQUM7O0FBL0pILDREQWdLQzs7O0FBOUpDLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ0csdUNBQWMsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjgwLjIvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWRfYWNjb3VudFxuLy8gZ2VuZXJhdGVkIGZyb20gdGVycmFmb3JtIHJlc291cmNlIHNjaGVtYVxuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGNka3RuIGZyb20gJ2Nka3RuJztcblxuLy8gQ29uZmlndXJhdGlvblxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFOZXdyZWxpY0Nsb3VkQWNjb3VudENvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBUaGUgSUQgb2YgdGhlIE5ldyBSZWxpYyBhY2NvdW50LlxuICAqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy44MC4yL2RvY3MvZGF0YS1zb3VyY2VzL2Nsb3VkX2FjY291bnQjYWNjb3VudF9pZCBEYXRhTmV3cmVsaWNDbG91ZEFjY291bnQjYWNjb3VudF9pZH1cbiAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkPzogbnVtYmVyO1xuICAvKipcbiAgKiBUaGUgY2xvdWQgcHJvdmlkZXIgb2YgdGhlIGFjY291bnQsIGUuZy4gYXdzLCBnY3AsIGF6dXJlXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjgwLjIvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWRfYWNjb3VudCNjbG91ZF9wcm92aWRlciBEYXRhTmV3cmVsaWNDbG91ZEFjY291bnQjY2xvdWRfcHJvdmlkZXJ9XG4gICovXG4gIHJlYWRvbmx5IGNsb3VkUHJvdmlkZXI6IHN0cmluZztcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvbmV3cmVsaWMvbmV3cmVsaWMvMy44MC4yL2RvY3MvZGF0YS1zb3VyY2VzL2Nsb3VkX2FjY291bnQjaWQgRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50I2lkfVxuICAqXG4gICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICogSWYgeW91IGV4cGVyaWVuY2UgcHJvYmxlbXMgc2V0dGluZyB0aGlzIHZhbHVlIGl0IG1pZ2h0IG5vdCBiZSBzZXR0YWJsZS4gUGxlYXNlIHRha2UgYSBsb29rIGF0IHRoZSBwcm92aWRlciBkb2N1bWVudGF0aW9uIHRvIGVuc3VyZSBpdCBzaG91bGQgYmUgc2V0dGFibGUuXG4gICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuICAvKipcbiAgKiBUaGUgbmFtZSBvZiB0aGUgY2xvdWQgYWNjb3VudC5cbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuODAuMi9kb2NzL2RhdGEtc291cmNlcy9jbG91ZF9hY2NvdW50I25hbWUgRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50I25hbWV9XG4gICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4qIFJlcHJlc2VudHMgYSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL25ld3JlbGljL25ld3JlbGljLzMuODAuMi9kb2NzL2RhdGEtc291cmNlcy9jbG91ZF9hY2NvdW50IG5ld3JlbGljX2Nsb3VkX2FjY291bnR9XG4qL1xuZXhwb3J0IGNsYXNzIERhdGFOZXdyZWxpY0Nsb3VkQWNjb3VudCBleHRlbmRzIGNka3RuLlRlcnJhZm9ybURhdGFTb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcIm5ld3JlbGljX2Nsb3VkX2FjY291bnRcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50IHJlc291cmNlIHVwb24gcnVubmluZyBcImNka3RuIHBsYW4gPHN0YWNrLW5hbWU+XCJcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpbXBvcnRUb0lkIFRoZSBjb25zdHJ1Y3QgaWQgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvbmZpZyBmb3IgdGhlIERhdGFOZXdyZWxpY0Nsb3VkQWNjb3VudCB0byBpbXBvcnRcbiAgKiBAcGFyYW0gaW1wb3J0RnJvbUlkIFRoZSBpZCBvZiB0aGUgZXhpc3RpbmcgRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50IHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjgwLjIvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWRfYWNjb3VudCNpbXBvcnQgaW1wb3J0IHNlY3Rpb259IGluIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoaXMgcmVzb3VyY2UgZm9yIHRoZSBpZCB0byB1c2VcbiAgKiBAcGFyYW0gcHJvdmlkZXI/IE9wdGlvbmFsIGluc3RhbmNlIG9mIHRoZSBwcm92aWRlciB3aGVyZSB0aGUgRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50IHRvIGltcG9ydCBpcyBmb3VuZFxuICAqL1xuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlQ29uZmlnRm9ySW1wb3J0KHNjb3BlOiBDb25zdHJ1Y3QsIGltcG9ydFRvSWQ6IHN0cmluZywgaW1wb3J0RnJvbUlkOiBzdHJpbmcsIHByb3ZpZGVyPzogY2RrdG4uVGVycmFmb3JtUHJvdmlkZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBjZGt0bi5JbXBvcnRhYmxlUmVzb3VyY2Uoc2NvcGUsIGltcG9ydFRvSWQsIHsgdGVycmFmb3JtUmVzb3VyY2VUeXBlOiBcIm5ld3JlbGljX2Nsb3VkX2FjY291bnRcIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9uZXdyZWxpYy9uZXdyZWxpYy8zLjgwLjIvZG9jcy9kYXRhLXNvdXJjZXMvY2xvdWRfYWNjb3VudCBuZXdyZWxpY19jbG91ZF9hY2NvdW50fSBEYXRhIFNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBEYXRhTmV3cmVsaWNDbG91ZEFjY291bnRDb25maWdcbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogRGF0YU5ld3JlbGljQ2xvdWRBY2NvdW50Q29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICduZXdyZWxpY19jbG91ZF9hY2NvdW50JyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ25ld3JlbGljJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uOiAnMy44MC4yJyxcbiAgICAgICAgcHJvdmlkZXJWZXJzaW9uQ29uc3RyYWludDogJ34+IDMuNydcbiAgICAgIH0sXG4gICAgICBwcm92aWRlcjogY29uZmlnLnByb3ZpZGVyLFxuICAgICAgZGVwZW5kc09uOiBjb25maWcuZGVwZW5kc09uLFxuICAgICAgY291bnQ6IGNvbmZpZy5jb3VudCxcbiAgICAgIGxpZmVjeWNsZTogY29uZmlnLmxpZmVjeWNsZSxcbiAgICAgIHByb3Zpc2lvbmVyczogY29uZmlnLnByb3Zpc2lvbmVycyxcbiAgICAgIGNvbm5lY3Rpb246IGNvbmZpZy5jb25uZWN0aW9uLFxuICAgICAgZm9yRWFjaDogY29uZmlnLmZvckVhY2hcbiAgICB9KTtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSBjb25maWcuYWNjb3VudElkO1xuICAgIHRoaXMuX2Nsb3VkUHJvdmlkZXIgPSBjb25maWcuY2xvdWRQcm92aWRlcjtcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gIH1cblxuICAvLyA9PT09PT09PT09XG4gIC8vIEFUVFJJQlVURVNcbiAgLy8gPT09PT09PT09PVxuXG4gIC8vIGFjY291bnRfaWQgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfYWNjb3VudElkPzogbnVtYmVyOyBcbiAgcHVibGljIGdldCBhY2NvdW50SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TnVtYmVyQXR0cmlidXRlKCdhY2NvdW50X2lkJyk7XG4gIH1cbiAgcHVibGljIHNldCBhY2NvdW50SWQodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX2FjY291bnRJZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldEFjY291bnRJZCgpIHtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGFjY291bnRJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9hY2NvdW50SWQ7XG4gIH1cblxuICAvLyBjbG91ZF9wcm92aWRlciAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9jbG91ZFByb3ZpZGVyPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBjbG91ZFByb3ZpZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnY2xvdWRfcHJvdmlkZXInKTtcbiAgfVxuICBwdWJsaWMgc2V0IGNsb3VkUHJvdmlkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2Nsb3VkUHJvdmlkZXIgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgY2xvdWRQcm92aWRlcklucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9jbG91ZFByb3ZpZGVyO1xuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9pZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdpZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0SWQoKSB7XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGlkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgLy8gbmFtZSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9uYW1lPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbmFtZScpO1xuICB9XG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBuYW1lSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnRfaWQ6IGNka3RuLm51bWJlclRvVGVycmFmb3JtKHRoaXMuX2FjY291bnRJZCksXG4gICAgICBjbG91ZF9wcm92aWRlcjogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fY2xvdWRQcm92aWRlciksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgbmFtZTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fbmFtZSksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgYXR0cnMgPSB7XG4gICAgICBhY2NvdW50X2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5udW1iZXJUb0hjbFRlcnJhZm9ybSh0aGlzLl9hY2NvdW50SWQpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJudW1iZXJcIixcbiAgICAgIH0sXG4gICAgICBjbG91ZF9wcm92aWRlcjoge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fY2xvdWRQcm92aWRlciksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGlkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX25hbWUpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2021, 2026
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktn from 'cdktn';
|
|
7
|
+
export interface DataNewrelicEntityConfig extends cdktn.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* The New Relic account ID; if specified, constrains the data source to return an entity belonging to the account with this ID, of all matching entities retrieved.
|
|
10
|
+
*
|
|
11
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#account_id DataNewrelicEntity#account_id}
|
|
12
|
+
*/
|
|
13
|
+
readonly accountId?: number;
|
|
14
|
+
/**
|
|
15
|
+
* The entity's domain. Valid values are APM, BROWSER, INFRA, MOBILE, SYNTH, and EXT. If not specified, all domains are searched.
|
|
16
|
+
*
|
|
17
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#domain DataNewrelicEntity#domain}
|
|
18
|
+
*/
|
|
19
|
+
readonly domain?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#entity_tags DataNewrelicEntity#entity_tags}
|
|
22
|
+
*/
|
|
23
|
+
readonly entityTags?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#id DataNewrelicEntity#id}
|
|
26
|
+
*
|
|
27
|
+
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
28
|
+
* 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.
|
|
29
|
+
*/
|
|
30
|
+
readonly id?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Ignore case when searching the entity name.
|
|
33
|
+
*
|
|
34
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#ignore_case DataNewrelicEntity#ignore_case}
|
|
35
|
+
*/
|
|
36
|
+
readonly ignoreCase?: boolean | cdktn.IResolvable;
|
|
37
|
+
/**
|
|
38
|
+
* A boolean attribute which when set to true, does not throw an error if the queried entity is not found.
|
|
39
|
+
*
|
|
40
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#ignore_not_found DataNewrelicEntity#ignore_not_found}
|
|
41
|
+
*/
|
|
42
|
+
readonly ignoreNotFound?: boolean | cdktn.IResolvable;
|
|
43
|
+
/**
|
|
44
|
+
* The name of the entity in New Relic One. The first entity matching this name for the given search parameters will be returned.
|
|
45
|
+
*
|
|
46
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#name DataNewrelicEntity#name}
|
|
47
|
+
*/
|
|
48
|
+
readonly name: string;
|
|
49
|
+
/**
|
|
50
|
+
* The entity's type. Valid values are APPLICATION, DASHBOARD, HOST, MONITOR, SERVICE and WORKLOAD.
|
|
51
|
+
*
|
|
52
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#type DataNewrelicEntity#type}
|
|
53
|
+
*/
|
|
54
|
+
readonly type?: string;
|
|
55
|
+
/**
|
|
56
|
+
* tag block
|
|
57
|
+
*
|
|
58
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#tag DataNewrelicEntity#tag}
|
|
59
|
+
*/
|
|
60
|
+
readonly tag?: DataNewrelicEntityTag[] | cdktn.IResolvable;
|
|
61
|
+
}
|
|
62
|
+
export interface DataNewrelicEntityTag {
|
|
63
|
+
/**
|
|
64
|
+
* The tag key.
|
|
65
|
+
*
|
|
66
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#key DataNewrelicEntity#key}
|
|
67
|
+
*/
|
|
68
|
+
readonly key: string;
|
|
69
|
+
/**
|
|
70
|
+
* The tag value.
|
|
71
|
+
*
|
|
72
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#value DataNewrelicEntity#value}
|
|
73
|
+
*/
|
|
74
|
+
readonly value: string;
|
|
75
|
+
}
|
|
76
|
+
export declare function dataNewrelicEntityTagToTerraform(struct?: DataNewrelicEntityTag | cdktn.IResolvable): any;
|
|
77
|
+
export declare function dataNewrelicEntityTagToHclTerraform(struct?: DataNewrelicEntityTag | cdktn.IResolvable): any;
|
|
78
|
+
export declare class DataNewrelicEntityTagOutputReference extends cdktn.ComplexObject {
|
|
79
|
+
private isEmptyObject;
|
|
80
|
+
private resolvableValue?;
|
|
81
|
+
/**
|
|
82
|
+
* @param terraformResource The parent resource
|
|
83
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
84
|
+
* @param complexObjectIndex the index of this item in the list
|
|
85
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
86
|
+
*/
|
|
87
|
+
constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
88
|
+
get internalValue(): DataNewrelicEntityTag | cdktn.IResolvable | undefined;
|
|
89
|
+
set internalValue(value: DataNewrelicEntityTag | cdktn.IResolvable | undefined);
|
|
90
|
+
private _key?;
|
|
91
|
+
get key(): string;
|
|
92
|
+
set key(value: string);
|
|
93
|
+
get keyInput(): string | undefined;
|
|
94
|
+
private _value?;
|
|
95
|
+
get value(): string;
|
|
96
|
+
set value(value: string);
|
|
97
|
+
get valueInput(): string | undefined;
|
|
98
|
+
}
|
|
99
|
+
export declare class DataNewrelicEntityTagList extends cdktn.ComplexList {
|
|
100
|
+
protected terraformResource: cdktn.IInterpolatingParent;
|
|
101
|
+
protected terraformAttribute: string;
|
|
102
|
+
protected wrapsSet: boolean;
|
|
103
|
+
internalValue?: DataNewrelicEntityTag[] | cdktn.IResolvable;
|
|
104
|
+
/**
|
|
105
|
+
* @param terraformResource The parent resource
|
|
106
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
107
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
108
|
+
*/
|
|
109
|
+
constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
110
|
+
/**
|
|
111
|
+
* @param index the index of the item to return
|
|
112
|
+
*/
|
|
113
|
+
get(index: number): DataNewrelicEntityTagOutputReference;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity newrelic_entity}
|
|
117
|
+
*/
|
|
118
|
+
export declare class DataNewrelicEntity extends cdktn.TerraformDataSource {
|
|
119
|
+
static readonly tfResourceType = "newrelic_entity";
|
|
120
|
+
/**
|
|
121
|
+
* Generates CDKTN code for importing a DataNewrelicEntity resource upon running "cdktn plan <stack-name>"
|
|
122
|
+
* @param scope The scope in which to define this construct
|
|
123
|
+
* @param importToId The construct id used in the generated config for the DataNewrelicEntity to import
|
|
124
|
+
* @param importFromId The id of the existing DataNewrelicEntity that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity#import import section} in the documentation of this resource for the id to use
|
|
125
|
+
* @param provider? Optional instance of the provider where the DataNewrelicEntity to import is found
|
|
126
|
+
*/
|
|
127
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
|
|
128
|
+
/**
|
|
129
|
+
* Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.80.2/docs/data-sources/entity newrelic_entity} Data Source
|
|
130
|
+
*
|
|
131
|
+
* @param scope The scope in which to define this construct
|
|
132
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
133
|
+
* @param options DataNewrelicEntityConfig
|
|
134
|
+
*/
|
|
135
|
+
constructor(scope: Construct, id: string, config: DataNewrelicEntityConfig);
|
|
136
|
+
private _accountId?;
|
|
137
|
+
get accountId(): number;
|
|
138
|
+
set accountId(value: number);
|
|
139
|
+
resetAccountId(): void;
|
|
140
|
+
get accountIdInput(): number | undefined;
|
|
141
|
+
get applicationId(): number;
|
|
142
|
+
private _domain?;
|
|
143
|
+
get domain(): string;
|
|
144
|
+
set domain(value: string);
|
|
145
|
+
resetDomain(): void;
|
|
146
|
+
get domainInput(): string | undefined;
|
|
147
|
+
private _entityTags?;
|
|
148
|
+
get entityTags(): string;
|
|
149
|
+
set entityTags(value: string);
|
|
150
|
+
resetEntityTags(): void;
|
|
151
|
+
get entityTagsInput(): string | undefined;
|
|
152
|
+
get guid(): string;
|
|
153
|
+
private _id?;
|
|
154
|
+
get id(): string;
|
|
155
|
+
set id(value: string);
|
|
156
|
+
resetId(): void;
|
|
157
|
+
get idInput(): string | undefined;
|
|
158
|
+
private _ignoreCase?;
|
|
159
|
+
get ignoreCase(): boolean | cdktn.IResolvable;
|
|
160
|
+
set ignoreCase(value: boolean | cdktn.IResolvable);
|
|
161
|
+
resetIgnoreCase(): void;
|
|
162
|
+
get ignoreCaseInput(): boolean | cdktn.IResolvable | undefined;
|
|
163
|
+
private _ignoreNotFound?;
|
|
164
|
+
get ignoreNotFound(): boolean | cdktn.IResolvable;
|
|
165
|
+
set ignoreNotFound(value: boolean | cdktn.IResolvable);
|
|
166
|
+
resetIgnoreNotFound(): void;
|
|
167
|
+
get ignoreNotFoundInput(): boolean | cdktn.IResolvable | undefined;
|
|
168
|
+
private _name?;
|
|
169
|
+
get name(): string;
|
|
170
|
+
set name(value: string);
|
|
171
|
+
get nameInput(): string | undefined;
|
|
172
|
+
get servingApmApplicationId(): number;
|
|
173
|
+
private _type?;
|
|
174
|
+
get type(): string;
|
|
175
|
+
set type(value: string);
|
|
176
|
+
resetType(): void;
|
|
177
|
+
get typeInput(): string | undefined;
|
|
178
|
+
private _tag;
|
|
179
|
+
get tag(): DataNewrelicEntityTagList;
|
|
180
|
+
putTag(value: DataNewrelicEntityTag[] | cdktn.IResolvable): void;
|
|
181
|
+
resetTag(): void;
|
|
182
|
+
get tagInput(): cdktn.IResolvable | DataNewrelicEntityTag[] | undefined;
|
|
183
|
+
protected synthesizeAttributes(): {
|
|
184
|
+
[name: string]: any;
|
|
185
|
+
};
|
|
186
|
+
protected synthesizeHclAttributes(): {
|
|
187
|
+
[name: string]: any;
|
|
188
|
+
};
|
|
189
|
+
}
|