@cdktn/provider-pagerduty 15.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.
Files changed (182) hide show
  1. package/.jsii +110408 -0
  2. package/LICENSE +355 -0
  3. package/README.md +94 -0
  4. package/lib/addon/index.d.ts +53 -0
  5. package/lib/addon/index.js +115 -0
  6. package/lib/alert-grouping-setting/index.d.ts +144 -0
  7. package/lib/alert-grouping-setting/index.js +366 -0
  8. package/lib/automation-actions-action/index.d.ts +232 -0
  9. package/lib/automation-actions-action/index.js +560 -0
  10. package/lib/automation-actions-action-service-association/index.d.ts +64 -0
  11. package/lib/automation-actions-action-service-association/index.js +129 -0
  12. package/lib/automation-actions-action-team-association/index.d.ts +64 -0
  13. package/lib/automation-actions-action-team-association/index.js +129 -0
  14. package/lib/automation-actions-runner/index.d.ts +102 -0
  15. package/lib/automation-actions-runner/index.js +224 -0
  16. package/lib/automation-actions-runner-team-association/index.d.ts +64 -0
  17. package/lib/automation-actions-runner-team-association/index.js +129 -0
  18. package/lib/business-service/index.d.ts +84 -0
  19. package/lib/business-service/index.js +190 -0
  20. package/lib/business-service-subscriber/index.d.ts +72 -0
  21. package/lib/business-service-subscriber/index.js +147 -0
  22. package/lib/data-pagerduty-alert-grouping-setting/index.d.ts +70 -0
  23. package/lib/data-pagerduty-alert-grouping-setting/index.js +190 -0
  24. package/lib/data-pagerduty-automation-actions-action/index.d.ts +186 -0
  25. package/lib/data-pagerduty-automation-actions-action/index.js +425 -0
  26. package/lib/data-pagerduty-automation-actions-runner/index.d.ts +78 -0
  27. package/lib/data-pagerduty-automation-actions-runner/index.js +172 -0
  28. package/lib/data-pagerduty-business-service/index.d.ts +46 -0
  29. package/lib/data-pagerduty-business-service/index.js +101 -0
  30. package/lib/data-pagerduty-escalation-policy/index.d.ts +47 -0
  31. package/lib/data-pagerduty-escalation-policy/index.js +105 -0
  32. package/lib/data-pagerduty-event-orchestration/index.d.ts +137 -0
  33. package/lib/data-pagerduty-event-orchestration/index.js +306 -0
  34. package/lib/data-pagerduty-event-orchestration-global-cache-variable/index.d.ts +138 -0
  35. package/lib/data-pagerduty-event-orchestration-global-cache-variable/index.js +315 -0
  36. package/lib/data-pagerduty-event-orchestration-integration/index.d.ts +100 -0
  37. package/lib/data-pagerduty-event-orchestration-integration/index.js +216 -0
  38. package/lib/data-pagerduty-event-orchestration-service-cache-variable/index.d.ts +138 -0
  39. package/lib/data-pagerduty-event-orchestration-service-cache-variable/index.js +315 -0
  40. package/lib/data-pagerduty-event-orchestrations/index.d.ts +161 -0
  41. package/lib/data-pagerduty-event-orchestrations/index.js +366 -0
  42. package/lib/data-pagerduty-extension-schema/index.d.ts +46 -0
  43. package/lib/data-pagerduty-extension-schema/index.js +101 -0
  44. package/lib/data-pagerduty-incident-custom-field/index.d.ts +60 -0
  45. package/lib/data-pagerduty-incident-custom-field/index.js +130 -0
  46. package/lib/data-pagerduty-incident-type/index.d.ts +50 -0
  47. package/lib/data-pagerduty-incident-type/index.js +117 -0
  48. package/lib/data-pagerduty-incident-type-custom-field/index.d.ts +115 -0
  49. package/lib/data-pagerduty-incident-type-custom-field/index.js +295 -0
  50. package/lib/data-pagerduty-incident-workflow/index.d.ts +57 -0
  51. package/lib/data-pagerduty-incident-workflow/index.js +118 -0
  52. package/lib/data-pagerduty-jira-cloud-account-mapping/index.d.ts +46 -0
  53. package/lib/data-pagerduty-jira-cloud-account-mapping/index.js +101 -0
  54. package/lib/data-pagerduty-license/index.d.ts +74 -0
  55. package/lib/data-pagerduty-license/index.js +170 -0
  56. package/lib/data-pagerduty-licenses/index.d.ts +92 -0
  57. package/lib/data-pagerduty-licenses/index.js +213 -0
  58. package/lib/data-pagerduty-priority/index.d.ts +48 -0
  59. package/lib/data-pagerduty-priority/index.js +101 -0
  60. package/lib/data-pagerduty-ruleset/index.d.ts +57 -0
  61. package/lib/data-pagerduty-ruleset/index.js +115 -0
  62. package/lib/data-pagerduty-schedule/index.d.ts +45 -0
  63. package/lib/data-pagerduty-schedule/index.js +97 -0
  64. package/lib/data-pagerduty-service/index.d.ts +86 -0
  65. package/lib/data-pagerduty-service/index.js +205 -0
  66. package/lib/data-pagerduty-service-custom-field/index.d.ts +92 -0
  67. package/lib/data-pagerduty-service-custom-field/index.js +221 -0
  68. package/lib/data-pagerduty-service-custom-field-value/index.d.ts +88 -0
  69. package/lib/data-pagerduty-service-custom-field-value/index.js +205 -0
  70. package/lib/data-pagerduty-service-integration/index.d.ts +56 -0
  71. package/lib/data-pagerduty-service-integration/index.js +119 -0
  72. package/lib/data-pagerduty-standards/index.d.ts +154 -0
  73. package/lib/data-pagerduty-standards/index.js +361 -0
  74. package/lib/data-pagerduty-standards-resource-scores/index.d.ts +112 -0
  75. package/lib/data-pagerduty-standards-resource-scores/index.js +268 -0
  76. package/lib/data-pagerduty-standards-resources-scores/index.d.ts +144 -0
  77. package/lib/data-pagerduty-standards-resources-scores/index.js +352 -0
  78. package/lib/data-pagerduty-tag/index.d.ts +47 -0
  79. package/lib/data-pagerduty-tag/index.js +97 -0
  80. package/lib/data-pagerduty-team/index.d.ts +77 -0
  81. package/lib/data-pagerduty-team/index.js +157 -0
  82. package/lib/data-pagerduty-team-members/index.d.ts +95 -0
  83. package/lib/data-pagerduty-team-members/index.js +203 -0
  84. package/lib/data-pagerduty-teams/index.d.ts +96 -0
  85. package/lib/data-pagerduty-teams/index.js +206 -0
  86. package/lib/data-pagerduty-user/index.d.ts +50 -0
  87. package/lib/data-pagerduty-user/index.js +117 -0
  88. package/lib/data-pagerduty-user-contact-method/index.d.ts +82 -0
  89. package/lib/data-pagerduty-user-contact-method/index.js +174 -0
  90. package/lib/data-pagerduty-users/index.d.ts +87 -0
  91. package/lib/data-pagerduty-users/index.js +208 -0
  92. package/lib/data-pagerduty-vendor/index.d.ts +46 -0
  93. package/lib/data-pagerduty-vendor/index.js +101 -0
  94. package/lib/enablement/index.d.ts +70 -0
  95. package/lib/enablement/index.js +151 -0
  96. package/lib/escalation-policy/index.d.ts +232 -0
  97. package/lib/escalation-policy/index.js +565 -0
  98. package/lib/event-orchestration/index.d.ts +156 -0
  99. package/lib/event-orchestration/index.js +352 -0
  100. package/lib/event-orchestration-global/index.d.ts +1253 -0
  101. package/lib/event-orchestration-global/index.js +3350 -0
  102. package/lib/event-orchestration-global-cache-variable/index.d.ts +182 -0
  103. package/lib/event-orchestration-global-cache-variable/index.js +459 -0
  104. package/lib/event-orchestration-integration/index.d.ts +88 -0
  105. package/lib/event-orchestration-integration/index.js +196 -0
  106. package/lib/event-orchestration-router/index.d.ts +363 -0
  107. package/lib/event-orchestration-router/index.js +954 -0
  108. package/lib/event-orchestration-service/index.d.ts +1328 -0
  109. package/lib/event-orchestration-service/index.js +3573 -0
  110. package/lib/event-orchestration-service-cache-variable/index.d.ts +182 -0
  111. package/lib/event-orchestration-service-cache-variable/index.js +459 -0
  112. package/lib/event-orchestration-unrouted/index.d.ts +653 -0
  113. package/lib/event-orchestration-unrouted/index.js +1722 -0
  114. package/lib/event-rule/index.d.ts +74 -0
  115. package/lib/event-rule/index.js +154 -0
  116. package/lib/extension/index.d.ts +91 -0
  117. package/lib/extension/index.js +204 -0
  118. package/lib/extension-servicenow/index.d.ts +138 -0
  119. package/lib/extension-servicenow/index.js +308 -0
  120. package/lib/incident-custom-field/index.d.ts +98 -0
  121. package/lib/incident-custom-field/index.js +207 -0
  122. package/lib/incident-custom-field-option/index.d.ts +72 -0
  123. package/lib/incident-custom-field-option/index.js +147 -0
  124. package/lib/incident-type/index.d.ts +80 -0
  125. package/lib/incident-type/index.js +176 -0
  126. package/lib/incident-type-custom-field/index.d.ts +117 -0
  127. package/lib/incident-type-custom-field/index.js +265 -0
  128. package/lib/incident-workflow/index.d.ts +378 -0
  129. package/lib/incident-workflow/index.js +943 -0
  130. package/lib/incident-workflow-trigger/index.d.ts +133 -0
  131. package/lib/incident-workflow-trigger/index.js +314 -0
  132. package/lib/index.d.ts +91 -0
  133. package/lib/index.js +97 -0
  134. package/lib/jira-cloud-account-mapping-rule/index.d.ts +559 -0
  135. package/lib/jira-cloud-account-mapping-rule/index.js +1578 -0
  136. package/lib/lazy-index.d.ts +4 -0
  137. package/lib/lazy-index.js +94 -0
  138. package/lib/maintenance-window/index.d.ts +81 -0
  139. package/lib/maintenance-window/index.js +168 -0
  140. package/lib/provider/index.d.ts +128 -0
  141. package/lib/provider/index.js +279 -0
  142. package/lib/response-play/index.d.ts +426 -0
  143. package/lib/response-play/index.js +1009 -0
  144. package/lib/ruleset/index.d.ts +94 -0
  145. package/lib/ruleset/index.js +215 -0
  146. package/lib/ruleset-rule/index.d.ts +1026 -0
  147. package/lib/ruleset-rule/index.js +2670 -0
  148. package/lib/schedule/index.d.ts +299 -0
  149. package/lib/schedule/index.js +740 -0
  150. package/lib/service/index.d.ts +592 -0
  151. package/lib/service/index.js +1608 -0
  152. package/lib/service-custom-field/index.d.ts +174 -0
  153. package/lib/service-custom-field/index.js +379 -0
  154. package/lib/service-custom-field-value/index.d.ts +117 -0
  155. package/lib/service-custom-field-value/index.js +269 -0
  156. package/lib/service-dependency/index.d.ts +216 -0
  157. package/lib/service-dependency/index.js +525 -0
  158. package/lib/service-event-rule/index.d.ts +964 -0
  159. package/lib/service-event-rule/index.js +2512 -0
  160. package/lib/service-integration/index.d.ts +546 -0
  161. package/lib/service-integration/index.js +1404 -0
  162. package/lib/slack-connection/index.d.ts +159 -0
  163. package/lib/slack-connection/index.js +369 -0
  164. package/lib/tag/index.d.ts +47 -0
  165. package/lib/tag/index.js +105 -0
  166. package/lib/tag-assignment/index.d.ts +61 -0
  167. package/lib/tag-assignment/index.js +130 -0
  168. package/lib/team/index.d.ts +73 -0
  169. package/lib/team/index.js +161 -0
  170. package/lib/team-membership/index.d.ts +62 -0
  171. package/lib/team-membership/index.js +136 -0
  172. package/lib/user/index.d.ts +130 -0
  173. package/lib/user/index.js +291 -0
  174. package/lib/user-contact-method/index.d.ts +98 -0
  175. package/lib/user-contact-method/index.js +219 -0
  176. package/lib/user-handoff-notification-rule/index.d.ts +131 -0
  177. package/lib/user-handoff-notification-rule/index.js +285 -0
  178. package/lib/user-notification-rule/index.d.ts +105 -0
  179. package/lib/user-notification-rule/index.js +258 -0
  180. package/lib/webhook-subscription/index.d.ts +276 -0
  181. package/lib/webhook-subscription/index.js +664 -0
  182. package/package.json +155 -0
@@ -0,0 +1,137 @@
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 DataPagerdutyEventOrchestrationConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration#id DataPagerdutyEventOrchestration#id}
10
+ *
11
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
12
+ * 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.
13
+ */
14
+ readonly id?: string;
15
+ /**
16
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration#name DataPagerdutyEventOrchestration#name}
17
+ */
18
+ readonly name: string;
19
+ /**
20
+ * integration block
21
+ *
22
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration#integration DataPagerdutyEventOrchestration#integration}
23
+ */
24
+ readonly integration?: DataPagerdutyEventOrchestrationIntegration[] | cdktn.IResolvable;
25
+ }
26
+ export interface DataPagerdutyEventOrchestrationIntegrationParameters {
27
+ }
28
+ export declare function dataPagerdutyEventOrchestrationIntegrationParametersToTerraform(struct?: DataPagerdutyEventOrchestrationIntegrationParameters): any;
29
+ export declare function dataPagerdutyEventOrchestrationIntegrationParametersToHclTerraform(struct?: DataPagerdutyEventOrchestrationIntegrationParameters): any;
30
+ export declare class DataPagerdutyEventOrchestrationIntegrationParametersOutputReference extends cdktn.ComplexObject {
31
+ private isEmptyObject;
32
+ /**
33
+ * @param terraformResource The parent resource
34
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
35
+ * @param complexObjectIndex the index of this item in the list
36
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
37
+ */
38
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
39
+ get internalValue(): DataPagerdutyEventOrchestrationIntegrationParameters | undefined;
40
+ set internalValue(value: DataPagerdutyEventOrchestrationIntegrationParameters | undefined);
41
+ get routingKey(): string;
42
+ get type(): string;
43
+ }
44
+ export declare class DataPagerdutyEventOrchestrationIntegrationParametersList extends cdktn.ComplexList {
45
+ protected terraformResource: cdktn.IInterpolatingParent;
46
+ protected terraformAttribute: string;
47
+ protected wrapsSet: boolean;
48
+ /**
49
+ * @param terraformResource The parent resource
50
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
51
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
52
+ */
53
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
54
+ /**
55
+ * @param index the index of the item to return
56
+ */
57
+ get(index: number): DataPagerdutyEventOrchestrationIntegrationParametersOutputReference;
58
+ }
59
+ export interface DataPagerdutyEventOrchestrationIntegration {
60
+ }
61
+ export declare function dataPagerdutyEventOrchestrationIntegrationToTerraform(struct?: DataPagerdutyEventOrchestrationIntegration | cdktn.IResolvable): any;
62
+ export declare function dataPagerdutyEventOrchestrationIntegrationToHclTerraform(struct?: DataPagerdutyEventOrchestrationIntegration | cdktn.IResolvable): any;
63
+ export declare class DataPagerdutyEventOrchestrationIntegrationOutputReference extends cdktn.ComplexObject {
64
+ private isEmptyObject;
65
+ private resolvableValue?;
66
+ /**
67
+ * @param terraformResource The parent resource
68
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
69
+ * @param complexObjectIndex the index of this item in the list
70
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
71
+ */
72
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
73
+ get internalValue(): DataPagerdutyEventOrchestrationIntegration | cdktn.IResolvable | undefined;
74
+ set internalValue(value: DataPagerdutyEventOrchestrationIntegration | cdktn.IResolvable | undefined);
75
+ get id(): string;
76
+ get label(): string;
77
+ private _parameters;
78
+ get parameters(): DataPagerdutyEventOrchestrationIntegrationParametersList;
79
+ }
80
+ export declare class DataPagerdutyEventOrchestrationIntegrationList extends cdktn.ComplexList {
81
+ protected terraformResource: cdktn.IInterpolatingParent;
82
+ protected terraformAttribute: string;
83
+ protected wrapsSet: boolean;
84
+ internalValue?: DataPagerdutyEventOrchestrationIntegration[] | cdktn.IResolvable;
85
+ /**
86
+ * @param terraformResource The parent resource
87
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
88
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
89
+ */
90
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
91
+ /**
92
+ * @param index the index of the item to return
93
+ */
94
+ get(index: number): DataPagerdutyEventOrchestrationIntegrationOutputReference;
95
+ }
96
+ /**
97
+ * Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration pagerduty_event_orchestration}
98
+ */
99
+ export declare class DataPagerdutyEventOrchestration extends cdktn.TerraformDataSource {
100
+ static readonly tfResourceType = "pagerduty_event_orchestration";
101
+ /**
102
+ * Generates CDKTN code for importing a DataPagerdutyEventOrchestration resource upon running "cdktn plan <stack-name>"
103
+ * @param scope The scope in which to define this construct
104
+ * @param importToId The construct id used in the generated config for the DataPagerdutyEventOrchestration to import
105
+ * @param importFromId The id of the existing DataPagerdutyEventOrchestration that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration#import import section} in the documentation of this resource for the id to use
106
+ * @param provider? Optional instance of the provider where the DataPagerdutyEventOrchestration to import is found
107
+ */
108
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
109
+ /**
110
+ * Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration pagerduty_event_orchestration} Data Source
111
+ *
112
+ * @param scope The scope in which to define this construct
113
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
114
+ * @param options DataPagerdutyEventOrchestrationConfig
115
+ */
116
+ constructor(scope: Construct, id: string, config: DataPagerdutyEventOrchestrationConfig);
117
+ private _id?;
118
+ get id(): string;
119
+ set id(value: string);
120
+ resetId(): void;
121
+ get idInput(): string | undefined;
122
+ private _name?;
123
+ get name(): string;
124
+ set name(value: string);
125
+ get nameInput(): string | undefined;
126
+ private _integration;
127
+ get integration(): DataPagerdutyEventOrchestrationIntegrationList;
128
+ putIntegration(value: DataPagerdutyEventOrchestrationIntegration[] | cdktn.IResolvable): void;
129
+ resetIntegration(): void;
130
+ get integrationInput(): cdktn.IResolvable | DataPagerdutyEventOrchestrationIntegration[] | undefined;
131
+ protected synthesizeAttributes(): {
132
+ [name: string]: any;
133
+ };
134
+ protected synthesizeHclAttributes(): {
135
+ [name: string]: any;
136
+ };
137
+ }
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ var _a, _b, _c, _d, _e;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DataPagerdutyEventOrchestration = exports.DataPagerdutyEventOrchestrationIntegrationList = exports.DataPagerdutyEventOrchestrationIntegrationOutputReference = exports.DataPagerdutyEventOrchestrationIntegrationParametersList = exports.DataPagerdutyEventOrchestrationIntegrationParametersOutputReference = void 0;
5
+ exports.dataPagerdutyEventOrchestrationIntegrationParametersToTerraform = dataPagerdutyEventOrchestrationIntegrationParametersToTerraform;
6
+ exports.dataPagerdutyEventOrchestrationIntegrationParametersToHclTerraform = dataPagerdutyEventOrchestrationIntegrationParametersToHclTerraform;
7
+ exports.dataPagerdutyEventOrchestrationIntegrationToTerraform = dataPagerdutyEventOrchestrationIntegrationToTerraform;
8
+ exports.dataPagerdutyEventOrchestrationIntegrationToHclTerraform = dataPagerdutyEventOrchestrationIntegrationToHclTerraform;
9
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
10
+ const cdktn = require("cdktn");
11
+ function dataPagerdutyEventOrchestrationIntegrationParametersToTerraform(struct) {
12
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
13
+ return struct;
14
+ }
15
+ if (cdktn.isComplexElement(struct)) {
16
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
17
+ }
18
+ return {};
19
+ }
20
+ function dataPagerdutyEventOrchestrationIntegrationParametersToHclTerraform(struct) {
21
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
22
+ return struct;
23
+ }
24
+ if (cdktn.isComplexElement(struct)) {
25
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
26
+ }
27
+ const attrs = {};
28
+ return attrs;
29
+ }
30
+ class DataPagerdutyEventOrchestrationIntegrationParametersOutputReference extends cdktn.ComplexObject {
31
+ /**
32
+ * @param terraformResource The parent resource
33
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
34
+ * @param complexObjectIndex the index of this item in the list
35
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
36
+ */
37
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
38
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
39
+ this.isEmptyObject = false;
40
+ }
41
+ get internalValue() {
42
+ let hasAnyValues = this.isEmptyObject;
43
+ const internalValueResult = {};
44
+ return hasAnyValues ? internalValueResult : undefined;
45
+ }
46
+ set internalValue(value) {
47
+ if (value === undefined) {
48
+ this.isEmptyObject = false;
49
+ }
50
+ else {
51
+ this.isEmptyObject = Object.keys(value).length === 0;
52
+ }
53
+ }
54
+ // routing_key - computed: true, optional: false, required: false
55
+ get routingKey() {
56
+ return this.getStringAttribute('routing_key');
57
+ }
58
+ // type - computed: true, optional: false, required: false
59
+ get type() {
60
+ return this.getStringAttribute('type');
61
+ }
62
+ }
63
+ exports.DataPagerdutyEventOrchestrationIntegrationParametersOutputReference = DataPagerdutyEventOrchestrationIntegrationParametersOutputReference;
64
+ _a = JSII_RTTI_SYMBOL_1;
65
+ DataPagerdutyEventOrchestrationIntegrationParametersOutputReference[_a] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyEventOrchestration.DataPagerdutyEventOrchestrationIntegrationParametersOutputReference", version: "15.0.0" };
66
+ class DataPagerdutyEventOrchestrationIntegrationParametersList extends cdktn.ComplexList {
67
+ /**
68
+ * @param terraformResource The parent resource
69
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
70
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
71
+ */
72
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
73
+ super(terraformResource, terraformAttribute, wrapsSet);
74
+ this.terraformResource = terraformResource;
75
+ this.terraformAttribute = terraformAttribute;
76
+ this.wrapsSet = wrapsSet;
77
+ }
78
+ /**
79
+ * @param index the index of the item to return
80
+ */
81
+ get(index) {
82
+ return new DataPagerdutyEventOrchestrationIntegrationParametersOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
83
+ }
84
+ }
85
+ exports.DataPagerdutyEventOrchestrationIntegrationParametersList = DataPagerdutyEventOrchestrationIntegrationParametersList;
86
+ _b = JSII_RTTI_SYMBOL_1;
87
+ DataPagerdutyEventOrchestrationIntegrationParametersList[_b] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyEventOrchestration.DataPagerdutyEventOrchestrationIntegrationParametersList", version: "15.0.0" };
88
+ function dataPagerdutyEventOrchestrationIntegrationToTerraform(struct) {
89
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
90
+ return struct;
91
+ }
92
+ if (cdktn.isComplexElement(struct)) {
93
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
94
+ }
95
+ return {};
96
+ }
97
+ function dataPagerdutyEventOrchestrationIntegrationToHclTerraform(struct) {
98
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
99
+ return struct;
100
+ }
101
+ if (cdktn.isComplexElement(struct)) {
102
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
103
+ }
104
+ const attrs = {};
105
+ return attrs;
106
+ }
107
+ class DataPagerdutyEventOrchestrationIntegrationOutputReference extends cdktn.ComplexObject {
108
+ /**
109
+ * @param terraformResource The parent resource
110
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
111
+ * @param complexObjectIndex the index of this item in the list
112
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
113
+ */
114
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
115
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
116
+ this.isEmptyObject = false;
117
+ // parameters - computed: true, optional: false, required: false
118
+ this._parameters = new DataPagerdutyEventOrchestrationIntegrationParametersList(this, "parameters", false);
119
+ }
120
+ get internalValue() {
121
+ if (this.resolvableValue) {
122
+ return this.resolvableValue;
123
+ }
124
+ let hasAnyValues = this.isEmptyObject;
125
+ const internalValueResult = {};
126
+ return hasAnyValues ? internalValueResult : undefined;
127
+ }
128
+ set internalValue(value) {
129
+ if (value === undefined) {
130
+ this.isEmptyObject = false;
131
+ this.resolvableValue = undefined;
132
+ }
133
+ else if (cdktn.Tokenization.isResolvable(value)) {
134
+ this.isEmptyObject = false;
135
+ this.resolvableValue = value;
136
+ }
137
+ else {
138
+ this.isEmptyObject = Object.keys(value).length === 0;
139
+ this.resolvableValue = undefined;
140
+ }
141
+ }
142
+ // id - computed: true, optional: false, required: false
143
+ get id() {
144
+ return this.getStringAttribute('id');
145
+ }
146
+ // label - computed: true, optional: false, required: false
147
+ get label() {
148
+ return this.getStringAttribute('label');
149
+ }
150
+ get parameters() {
151
+ return this._parameters;
152
+ }
153
+ }
154
+ exports.DataPagerdutyEventOrchestrationIntegrationOutputReference = DataPagerdutyEventOrchestrationIntegrationOutputReference;
155
+ _c = JSII_RTTI_SYMBOL_1;
156
+ DataPagerdutyEventOrchestrationIntegrationOutputReference[_c] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyEventOrchestration.DataPagerdutyEventOrchestrationIntegrationOutputReference", version: "15.0.0" };
157
+ class DataPagerdutyEventOrchestrationIntegrationList extends cdktn.ComplexList {
158
+ /**
159
+ * @param terraformResource The parent resource
160
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
161
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
162
+ */
163
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
164
+ super(terraformResource, terraformAttribute, wrapsSet);
165
+ this.terraformResource = terraformResource;
166
+ this.terraformAttribute = terraformAttribute;
167
+ this.wrapsSet = wrapsSet;
168
+ }
169
+ /**
170
+ * @param index the index of the item to return
171
+ */
172
+ get(index) {
173
+ return new DataPagerdutyEventOrchestrationIntegrationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
174
+ }
175
+ }
176
+ exports.DataPagerdutyEventOrchestrationIntegrationList = DataPagerdutyEventOrchestrationIntegrationList;
177
+ _d = JSII_RTTI_SYMBOL_1;
178
+ DataPagerdutyEventOrchestrationIntegrationList[_d] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyEventOrchestration.DataPagerdutyEventOrchestrationIntegrationList", version: "15.0.0" };
179
+ /**
180
+ * Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration pagerduty_event_orchestration}
181
+ */
182
+ class DataPagerdutyEventOrchestration extends cdktn.TerraformDataSource {
183
+ // ==============
184
+ // STATIC Methods
185
+ // ==============
186
+ /**
187
+ * Generates CDKTN code for importing a DataPagerdutyEventOrchestration resource upon running "cdktn plan <stack-name>"
188
+ * @param scope The scope in which to define this construct
189
+ * @param importToId The construct id used in the generated config for the DataPagerdutyEventOrchestration to import
190
+ * @param importFromId The id of the existing DataPagerdutyEventOrchestration that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration#import import section} in the documentation of this resource for the id to use
191
+ * @param provider? Optional instance of the provider where the DataPagerdutyEventOrchestration to import is found
192
+ */
193
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
194
+ return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "pagerduty_event_orchestration", importId: importFromId, provider });
195
+ }
196
+ // ===========
197
+ // INITIALIZER
198
+ // ===========
199
+ /**
200
+ * Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration pagerduty_event_orchestration} Data Source
201
+ *
202
+ * @param scope The scope in which to define this construct
203
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
204
+ * @param options DataPagerdutyEventOrchestrationConfig
205
+ */
206
+ constructor(scope, id, config) {
207
+ super(scope, id, {
208
+ terraformResourceType: 'pagerduty_event_orchestration',
209
+ terraformGeneratorMetadata: {
210
+ providerName: 'pagerduty',
211
+ providerVersion: '3.31.0',
212
+ providerVersionConstraint: '~> 3.0'
213
+ },
214
+ provider: config.provider,
215
+ dependsOn: config.dependsOn,
216
+ count: config.count,
217
+ lifecycle: config.lifecycle,
218
+ provisioners: config.provisioners,
219
+ connection: config.connection,
220
+ forEach: config.forEach
221
+ });
222
+ // integration - computed: false, optional: true, required: false
223
+ this._integration = new DataPagerdutyEventOrchestrationIntegrationList(this, "integration", false);
224
+ this._id = config.id;
225
+ this._name = config.name;
226
+ this._integration.internalValue = config.integration;
227
+ }
228
+ get id() {
229
+ return this.getStringAttribute('id');
230
+ }
231
+ set id(value) {
232
+ this._id = value;
233
+ }
234
+ resetId() {
235
+ this._id = undefined;
236
+ }
237
+ // Temporarily expose input value. Use with caution.
238
+ get idInput() {
239
+ return this._id;
240
+ }
241
+ get name() {
242
+ return this.getStringAttribute('name');
243
+ }
244
+ set name(value) {
245
+ this._name = value;
246
+ }
247
+ // Temporarily expose input value. Use with caution.
248
+ get nameInput() {
249
+ return this._name;
250
+ }
251
+ get integration() {
252
+ return this._integration;
253
+ }
254
+ putIntegration(value) {
255
+ this._integration.internalValue = value;
256
+ }
257
+ resetIntegration() {
258
+ this._integration.internalValue = undefined;
259
+ }
260
+ // Temporarily expose input value. Use with caution.
261
+ get integrationInput() {
262
+ return this._integration.internalValue;
263
+ }
264
+ // =========
265
+ // SYNTHESIS
266
+ // =========
267
+ synthesizeAttributes() {
268
+ return {
269
+ id: cdktn.stringToTerraform(this._id),
270
+ name: cdktn.stringToTerraform(this._name),
271
+ integration: cdktn.listMapper(dataPagerdutyEventOrchestrationIntegrationToTerraform, true)(this._integration.internalValue),
272
+ };
273
+ }
274
+ synthesizeHclAttributes() {
275
+ const attrs = {
276
+ id: {
277
+ value: cdktn.stringToHclTerraform(this._id),
278
+ isBlock: false,
279
+ type: "simple",
280
+ storageClassType: "string",
281
+ },
282
+ name: {
283
+ value: cdktn.stringToHclTerraform(this._name),
284
+ isBlock: false,
285
+ type: "simple",
286
+ storageClassType: "string",
287
+ },
288
+ integration: {
289
+ value: cdktn.listMapperHcl(dataPagerdutyEventOrchestrationIntegrationToHclTerraform, true)(this._integration.internalValue),
290
+ isBlock: true,
291
+ type: "list",
292
+ storageClassType: "DataPagerdutyEventOrchestrationIntegrationList",
293
+ },
294
+ };
295
+ // remove undefined attributes
296
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
297
+ }
298
+ }
299
+ exports.DataPagerdutyEventOrchestration = DataPagerdutyEventOrchestration;
300
+ _e = JSII_RTTI_SYMBOL_1;
301
+ DataPagerdutyEventOrchestration[_e] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyEventOrchestration.DataPagerdutyEventOrchestration", version: "15.0.0" };
302
+ // =================
303
+ // STATIC PROPERTIES
304
+ // =================
305
+ DataPagerdutyEventOrchestration.tfResourceType = "pagerduty_event_orchestration";
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1wYWdlcmR1dHktZXZlbnQtb3JjaGVzdHJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBbUNBLDBJQU9DO0FBR0QsZ0pBUUM7QUE4REQsc0hBT0M7QUFHRCw0SEFRQzs7QUE1SEQsK0JBQStCO0FBMEIvQixTQUFnQiwrREFBK0QsQ0FBQyxNQUE2RDtJQUMzSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQixrRUFBa0UsQ0FBQyxNQUE2RDtJQUM5SSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxFQUNiLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFhLG1FQUFvRSxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBRzFHOzs7OztNQUtFO0lBQ0YsWUFBbUIsaUJBQTZDLEVB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cC4gMjAyMSwgMjAyNlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG4vLyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvcGFnZXJkdXR5L3BhZ2VyZHV0eS8zLjMxLjAvZG9jcy9kYXRhLXNvdXJjZXMvZXZlbnRfb3JjaGVzdHJhdGlvblxuLy8gZ2VuZXJhdGVkIGZyb20gdGVycmFmb3JtIHJlc291cmNlIHNjaGVtYVxuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGNka3RuIGZyb20gJ2Nka3RuJztcblxuLy8gQ29uZmlndXJhdGlvblxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25Db25maWcgZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1NZXRhQXJndW1lbnRzIHtcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvcGFnZXJkdXR5L3BhZ2VyZHV0eS8zLjMxLjAvZG9jcy9kYXRhLXNvdXJjZXMvZXZlbnRfb3JjaGVzdHJhdGlvbiNpZCBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uI2lkfVxuICAqXG4gICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICogSWYgeW91IGV4cGVyaWVuY2UgcHJvYmxlbXMgc2V0dGluZyB0aGlzIHZhbHVlIGl0IG1pZ2h0IG5vdCBiZSBzZXR0YWJsZS4gUGxlYXNlIHRha2UgYSBsb29rIGF0IHRoZSBwcm92aWRlciBkb2N1bWVudGF0aW9uIHRvIGVuc3VyZSBpdCBzaG91bGQgYmUgc2V0dGFibGUuXG4gICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9ldmVudF9vcmNoZXN0cmF0aW9uI25hbWUgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbiNuYW1lfVxuICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAqIGludGVncmF0aW9uIGJsb2NrXG4gICpcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9ldmVudF9vcmNoZXN0cmF0aW9uI2ludGVncmF0aW9uIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb24jaW50ZWdyYXRpb259XG4gICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uPzogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uW10gfCBjZGt0bi5JUmVzb2x2YWJsZTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVycyB7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25QYXJhbWV0ZXJzVG9UZXJyYWZvcm0oc3RydWN0PzogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVycyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25QYXJhbWV0ZXJzVG9IY2xUZXJyYWZvcm0oc3RydWN0PzogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVycyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgY29uc3QgYXR0cnMgPSB7XG4gIH07XG4gIHJldHVybiBhdHRycztcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvblBhcmFtZXRlcnNPdXRwdXRSZWZlcmVuY2UgZXh0ZW5kcyBjZGt0bi5Db21wbGV4T2JqZWN0IHtcbiAgcHJpdmF0ZSBpc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJbmRleCB0aGUgaW5kZXggb2YgdGhpcyBpdGVtIGluIHRoZSBsaXN0XG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBjb21wbGV4T2JqZWN0SW5kZXg6IG51bWJlciwgY29tcGxleE9iamVjdElzRnJvbVNldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQsIGNvbXBsZXhPYmplY3RJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVycyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGhhc0FueVZhbHVlcyA9IHRoaXMuaXNFbXB0eU9iamVjdDtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlUmVzdWx0OiBhbnkgPSB7fTtcbiAgICByZXR1cm4gaGFzQW55VmFsdWVzID8gaW50ZXJuYWxWYWx1ZVJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW50ZXJuYWxWYWx1ZSh2YWx1ZTogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVycyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBmYWxzZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJvdXRpbmdfa2V5IC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgcm91dGluZ0tleSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3JvdXRpbmdfa2V5Jyk7XG4gIH1cblxuICAvLyB0eXBlIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3R5cGUnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVyc0xpc3QgZXh0ZW5kcyBjZGt0bi5Db21wbGV4TGlzdCB7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIHdyYXBzU2V0IHdoZXRoZXIgdGhlIGxpc3QgaXMgd3JhcHBpbmcgYSBzZXQgKHdpbGwgYWRkIHRvbGlzdCgpIHRvIGJlIGFibGUgdG8gYWNjZXNzIGFuIGl0ZW0gdmlhIGFuIGluZGV4KVxuICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdGVycmFmb3JtUmVzb3VyY2U6IGNka3RuLklJbnRlcnBvbGF0aW5nUGFyZW50LCBwcm90ZWN0ZWQgdGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcsIHByb3RlY3RlZCB3cmFwc1NldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIHdyYXBzU2V0KVxuICB9XG5cbiAgLyoqXG4gICogQHBhcmFtIGluZGV4IHRoZSBpbmRleCBvZiB0aGUgaXRlbSB0byByZXR1cm5cbiAgKi9cbiAgcHVibGljIGdldChpbmRleDogbnVtYmVyKTogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uUGFyYW1ldGVyc091dHB1dFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25QYXJhbWV0ZXJzT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uIHtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvblRvVGVycmFmb3JtKHN0cnVjdD86IERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbiB8IGNka3RuLklSZXNvbHZhYmxlKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGsudGYvY29tcGxleC1vYmplY3QtYXMtY29uZmlndXJhdGlvblwiKTtcbiAgfVxuICByZXR1cm4ge1xuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvblRvSGNsVGVycmFmb3JtKHN0cnVjdD86IERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbiB8IGNka3RuLklSZXNvbHZhYmxlKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGsudGYvY29tcGxleC1vYmplY3QtYXMtY29uZmlndXJhdGlvblwiKTtcbiAgfVxuICBjb25zdCBhdHRycyA9IHtcbiAgfTtcbiAgcmV0dXJuIGF0dHJzO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uT3V0cHV0UmVmZXJlbmNlIGV4dGVuZHMgY2RrdG4uQ29tcGxleE9iamVjdCB7XG4gIHByaXZhdGUgaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICBwcml2YXRlIHJlc29sdmFibGVWYWx1ZT86IGNka3RuLklSZXNvbHZhYmxlO1xuXG4gIC8qKlxuICAqIEBwYXJhbSB0ZXJyYWZvcm1SZXNvdXJjZSBUaGUgcGFyZW50IHJlc291cmNlXG4gICogQHBhcmFtIHRlcnJhZm9ybUF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG9uIHRoZSBwYXJlbnQgcmVzb3VyY2UgdGhpcyBjbGFzcyBpcyByZWZlcmVuY2luZ1xuICAqIEBwYXJhbSBjb21wbGV4T2JqZWN0SW5kZXggdGhlIGluZGV4IG9mIHRoaXMgaXRlbSBpbiB0aGUgbGlzdFxuICAqIEBwYXJhbSBjb21wbGV4T2JqZWN0SXNGcm9tU2V0IHdoZXRoZXIgdGhlIGxpc3QgaXMgd3JhcHBpbmcgYSBzZXQgKHdpbGwgYWRkIHRvbGlzdCgpIHRvIGJlIGFibGUgdG8gYWNjZXNzIGFuIGl0ZW0gdmlhIGFuIGluZGV4KVxuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IodGVycmFmb3JtUmVzb3VyY2U6IGNka3RuLklJbnRlcnBvbGF0aW5nUGFyZW50LCB0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZywgY29tcGxleE9iamVjdEluZGV4OiBudW1iZXIsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0ZXJyYWZvcm1SZXNvdXJjZSwgdGVycmFmb3JtQXR0cmlidXRlLCBjb21wbGV4T2JqZWN0SXNGcm9tU2V0LCBjb21wbGV4T2JqZWN0SW5kZXgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnRlcm5hbFZhbHVlKCk6IERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbiB8IGNka3RuLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZhYmxlVmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmFibGVWYWx1ZTtcbiAgICB9XG4gICAgbGV0IGhhc0FueVZhbHVlcyA9IHRoaXMuaXNFbXB0eU9iamVjdDtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlUmVzdWx0OiBhbnkgPSB7fTtcbiAgICByZXR1cm4gaGFzQW55VmFsdWVzID8gaW50ZXJuYWxWYWx1ZVJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW50ZXJuYWxWYWx1ZSh2YWx1ZTogRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uIHwgY2RrdG4uSVJlc29sdmFibGUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlc29sdmFibGVWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cblxuICAvLyBsYWJlbCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGxhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnbGFiZWwnKTtcbiAgfVxuXG4gIC8vIHBhcmFtZXRlcnMgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfcGFyYW1ldGVycyA9IG5ldyBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25QYXJhbWV0ZXJzTGlzdCh0aGlzLCBcInBhcmFtZXRlcnNcIiwgZmFsc2UpO1xuICBwdWJsaWMgZ2V0IHBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtZXRlcnM7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbkxpc3QgZXh0ZW5kcyBjZGt0bi5Db21wbGV4TGlzdCB7XG4gIHB1YmxpYyBpbnRlcm5hbFZhbHVlPyA6IERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbltdIHwgY2RrdG4uSVJlc29sdmFibGVcblxuICAvKipcbiAgKiBAcGFyYW0gdGVycmFmb3JtUmVzb3VyY2UgVGhlIHBhcmVudCByZXNvdXJjZVxuICAqIEBwYXJhbSB0ZXJyYWZvcm1BdHRyaWJ1dGUgVGhlIGF0dHJpYnV0ZSBvbiB0aGUgcGFyZW50IHJlc291cmNlIHRoaXMgY2xhc3MgaXMgcmVmZXJlbmNpbmdcbiAgKiBAcGFyYW0gd3JhcHNTZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCB0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHByb3RlY3RlZCB0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZywgcHJvdGVjdGVkIHdyYXBzU2V0OiBib29sZWFuKSB7XG4gICAgc3VwZXIodGVycmFmb3JtUmVzb3VyY2UsIHRlcnJhZm9ybUF0dHJpYnV0ZSwgd3JhcHNTZXQpXG4gIH1cblxuICAvKipcbiAgKiBAcGFyYW0gaW5kZXggdGhlIGluZGV4IG9mIHRoZSBpdGVtIHRvIHJldHVyblxuICAqL1xuICBwdWJsaWMgZ2V0KGluZGV4OiBudW1iZXIpOiBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25PdXRwdXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiBuZXcgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cblxuLyoqXG4qIFJlcHJlc2VudHMgYSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvZGF0YS1zb3VyY2VzL2V2ZW50X29yY2hlc3RyYXRpb24gcGFnZXJkdXR5X2V2ZW50X29yY2hlc3RyYXRpb259XG4qL1xuZXhwb3J0IGNsYXNzIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb24gZXh0ZW5kcyBjZGt0bi5UZXJyYWZvcm1EYXRhU291cmNlIHtcblxuICAvLyA9PT09PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgUFJPUEVSVElFU1xuICAvLyA9PT09PT09PT09PT09PT09PVxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHRmUmVzb3VyY2VUeXBlID0gXCJwYWdlcmR1dHlfZXZlbnRfb3JjaGVzdHJhdGlvblwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtUTiBjb2RlIGZvciBpbXBvcnRpbmcgYSBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uIHJlc291cmNlIHVwb24gcnVubmluZyBcImNka3RuIHBsYW4gPHN0YWNrLW5hbWU+XCJcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpbXBvcnRUb0lkIFRoZSBjb25zdHJ1Y3QgaWQgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvbmZpZyBmb3IgdGhlIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb24gdG8gaW1wb3J0XG4gICogQHBhcmFtIGltcG9ydEZyb21JZCBUaGUgaWQgb2YgdGhlIGV4aXN0aW5nIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb24gdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvZGF0YS1zb3VyY2VzL2V2ZW50X29yY2hlc3RyYXRpb24jaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb24gdG8gaW1wb3J0IGlzIGZvdW5kXG4gICovXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVDb25maWdGb3JJbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaW1wb3J0VG9JZDogc3RyaW5nLCBpbXBvcnRGcm9tSWQ6IHN0cmluZywgcHJvdmlkZXI/OiBjZGt0bi5UZXJyYWZvcm1Qcm92aWRlcikge1xuICAgICAgICByZXR1cm4gbmV3IGNka3RuLkltcG9ydGFibGVSZXNvdXJjZShzY29wZSwgaW1wb3J0VG9JZCwgeyB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IFwicGFnZXJkdXR5X2V2ZW50X29yY2hlc3RyYXRpb25cIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7XG4gICAgICB9XG5cbiAgLy8gPT09PT09PT09PT1cbiAgLy8gSU5JVElBTElaRVJcbiAgLy8gPT09PT09PT09PT1cblxuICAvKipcbiAgKiBDcmVhdGUgYSBuZXcge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9ldmVudF9vcmNoZXN0cmF0aW9uIHBhZ2VyZHV0eV9ldmVudF9vcmNoZXN0cmF0aW9ufSBEYXRhIFNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uQ29uZmlnXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjb25maWc6IERhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25Db25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ3BhZ2VyZHV0eV9ldmVudF9vcmNoZXN0cmF0aW9uJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ3BhZ2VyZHV0eScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzMuMzEuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjAnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5faWQgPSBjb25maWcuaWQ7XG4gICAgdGhpcy5fbmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuX2ludGVncmF0aW9uLmludGVybmFsVmFsdWUgPSBjb25maWcuaW50ZWdyYXRpb247XG4gIH1cblxuICAvLyA9PT09PT09PT09XG4gIC8vIEFUVFJJQlVURVNcbiAgLy8gPT09PT09PT09PVxuXG4gIC8vIGlkIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldElkKCkge1xuICAgIHRoaXMuX2lkID0gdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBpZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9pZDtcbiAgfVxuXG4gIC8vIG5hbWUgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbmFtZT86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ25hbWUnKTtcbiAgfVxuICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX25hbWUgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgbmFtZUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG5cbiAgLy8gaW50ZWdyYXRpb24gLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaW50ZWdyYXRpb24gPSBuZXcgRGF0YVBhZ2VyZHV0eUV2ZW50T3JjaGVzdHJhdGlvbkludGVncmF0aW9uTGlzdCh0aGlzLCBcImludGVncmF0aW9uXCIsIGZhbHNlKTtcbiAgcHVibGljIGdldCBpbnRlZ3JhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5faW50ZWdyYXRpb247XG4gIH1cbiAgcHVibGljIHB1dEludGVncmF0aW9uKHZhbHVlOiBEYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25bXSB8IGNka3RuLklSZXNvbHZhYmxlKSB7XG4gICAgdGhpcy5faW50ZWdyYXRpb24uaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyByZXNldEludGVncmF0aW9uKCkge1xuICAgIHRoaXMuX2ludGVncmF0aW9uLmludGVybmFsVmFsdWUgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGludGVncmF0aW9uSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVncmF0aW9uLmludGVybmFsVmFsdWU7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICBuYW1lOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9uYW1lKSxcbiAgICAgIGludGVncmF0aW9uOiBjZGt0bi5saXN0TWFwcGVyKGRhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvblRvVGVycmFmb3JtLCB0cnVlKSh0aGlzLl9pbnRlZ3JhdGlvbi5pbnRlcm5hbFZhbHVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhdHRycyA9IHtcbiAgICAgIGlkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX25hbWUpLFxuICAgICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgICBpbnRlZ3JhdGlvbjoge1xuICAgICAgICB2YWx1ZTogY2RrdG4ubGlzdE1hcHBlckhjbChkYXRhUGFnZXJkdXR5RXZlbnRPcmNoZXN0cmF0aW9uSW50ZWdyYXRpb25Ub0hjbFRlcnJhZm9ybSwgdHJ1ZSkodGhpcy5faW50ZWdyYXRpb24uaW50ZXJuYWxWYWx1ZSksXG4gICAgICAgIGlzQmxvY2s6IHRydWUsXG4gICAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcIkRhdGFQYWdlcmR1dHlFdmVudE9yY2hlc3RyYXRpb25JbnRlZ3JhdGlvbkxpc3RcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,138 @@
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 DataPagerdutyEventOrchestrationGlobalCacheVariableConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable#event_orchestration DataPagerdutyEventOrchestrationGlobalCacheVariable#event_orchestration}
10
+ */
11
+ readonly eventOrchestration: string;
12
+ /**
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable#id DataPagerdutyEventOrchestrationGlobalCacheVariable#id}
14
+ *
15
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
16
+ * 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.
17
+ */
18
+ readonly id?: string;
19
+ /**
20
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable#name DataPagerdutyEventOrchestrationGlobalCacheVariable#name}
21
+ */
22
+ readonly name?: string;
23
+ }
24
+ export interface DataPagerdutyEventOrchestrationGlobalCacheVariableCondition {
25
+ }
26
+ export declare function dataPagerdutyEventOrchestrationGlobalCacheVariableConditionToTerraform(struct?: DataPagerdutyEventOrchestrationGlobalCacheVariableCondition): any;
27
+ export declare function dataPagerdutyEventOrchestrationGlobalCacheVariableConditionToHclTerraform(struct?: DataPagerdutyEventOrchestrationGlobalCacheVariableCondition): any;
28
+ export declare class DataPagerdutyEventOrchestrationGlobalCacheVariableConditionOutputReference extends cdktn.ComplexObject {
29
+ private isEmptyObject;
30
+ /**
31
+ * @param terraformResource The parent resource
32
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
33
+ * @param complexObjectIndex the index of this item in the list
34
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
35
+ */
36
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
37
+ get internalValue(): DataPagerdutyEventOrchestrationGlobalCacheVariableCondition | undefined;
38
+ set internalValue(value: DataPagerdutyEventOrchestrationGlobalCacheVariableCondition | undefined);
39
+ get expression(): string;
40
+ }
41
+ export declare class DataPagerdutyEventOrchestrationGlobalCacheVariableConditionList extends cdktn.ComplexList {
42
+ protected terraformResource: cdktn.IInterpolatingParent;
43
+ protected terraformAttribute: string;
44
+ protected wrapsSet: boolean;
45
+ /**
46
+ * @param terraformResource The parent resource
47
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
48
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
49
+ */
50
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
51
+ /**
52
+ * @param index the index of the item to return
53
+ */
54
+ get(index: number): DataPagerdutyEventOrchestrationGlobalCacheVariableConditionOutputReference;
55
+ }
56
+ export interface DataPagerdutyEventOrchestrationGlobalCacheVariableConfiguration {
57
+ }
58
+ export declare function dataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationToTerraform(struct?: DataPagerdutyEventOrchestrationGlobalCacheVariableConfiguration): any;
59
+ export declare function dataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationToHclTerraform(struct?: DataPagerdutyEventOrchestrationGlobalCacheVariableConfiguration): any;
60
+ export declare class DataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationOutputReference extends cdktn.ComplexObject {
61
+ private isEmptyObject;
62
+ /**
63
+ * @param terraformResource The parent resource
64
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
65
+ * @param complexObjectIndex the index of this item in the list
66
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
67
+ */
68
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
69
+ get internalValue(): DataPagerdutyEventOrchestrationGlobalCacheVariableConfiguration | undefined;
70
+ set internalValue(value: DataPagerdutyEventOrchestrationGlobalCacheVariableConfiguration | undefined);
71
+ get dataType(): string;
72
+ get regex(): string;
73
+ get source(): string;
74
+ get ttlSeconds(): number;
75
+ get type(): string;
76
+ }
77
+ export declare class DataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationList extends cdktn.ComplexList {
78
+ protected terraformResource: cdktn.IInterpolatingParent;
79
+ protected terraformAttribute: string;
80
+ protected wrapsSet: boolean;
81
+ /**
82
+ * @param terraformResource The parent resource
83
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
84
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
85
+ */
86
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
87
+ /**
88
+ * @param index the index of the item to return
89
+ */
90
+ get(index: number): DataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationOutputReference;
91
+ }
92
+ /**
93
+ * Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable pagerduty_event_orchestration_global_cache_variable}
94
+ */
95
+ export declare class DataPagerdutyEventOrchestrationGlobalCacheVariable extends cdktn.TerraformDataSource {
96
+ static readonly tfResourceType = "pagerduty_event_orchestration_global_cache_variable";
97
+ /**
98
+ * Generates CDKTN code for importing a DataPagerdutyEventOrchestrationGlobalCacheVariable resource upon running "cdktn plan <stack-name>"
99
+ * @param scope The scope in which to define this construct
100
+ * @param importToId The construct id used in the generated config for the DataPagerdutyEventOrchestrationGlobalCacheVariable to import
101
+ * @param importFromId The id of the existing DataPagerdutyEventOrchestrationGlobalCacheVariable that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable#import import section} in the documentation of this resource for the id to use
102
+ * @param provider? Optional instance of the provider where the DataPagerdutyEventOrchestrationGlobalCacheVariable to import is found
103
+ */
104
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
105
+ /**
106
+ * Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/event_orchestration_global_cache_variable pagerduty_event_orchestration_global_cache_variable} Data Source
107
+ *
108
+ * @param scope The scope in which to define this construct
109
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
110
+ * @param options DataPagerdutyEventOrchestrationGlobalCacheVariableConfig
111
+ */
112
+ constructor(scope: Construct, id: string, config: DataPagerdutyEventOrchestrationGlobalCacheVariableConfig);
113
+ private _condition;
114
+ get condition(): DataPagerdutyEventOrchestrationGlobalCacheVariableConditionList;
115
+ private _configuration;
116
+ get configuration(): DataPagerdutyEventOrchestrationGlobalCacheVariableConfigurationList;
117
+ get disabled(): cdktn.IResolvable;
118
+ private _eventOrchestration?;
119
+ get eventOrchestration(): string;
120
+ set eventOrchestration(value: string);
121
+ get eventOrchestrationInput(): string | undefined;
122
+ private _id?;
123
+ get id(): string;
124
+ set id(value: string);
125
+ resetId(): void;
126
+ get idInput(): string | undefined;
127
+ private _name?;
128
+ get name(): string;
129
+ set name(value: string);
130
+ resetName(): void;
131
+ get nameInput(): string | undefined;
132
+ protected synthesizeAttributes(): {
133
+ [name: string]: any;
134
+ };
135
+ protected synthesizeHclAttributes(): {
136
+ [name: string]: any;
137
+ };
138
+ }