@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,361 @@
1
+ "use strict";
2
+ var _a, _b, _c, _d, _e, _f, _g;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DataPagerdutyStandards = exports.DataPagerdutyStandardsStandardsList = exports.DataPagerdutyStandardsStandardsOutputReference = exports.DataPagerdutyStandardsStandardsInclusionsList = exports.DataPagerdutyStandardsStandardsInclusionsOutputReference = exports.DataPagerdutyStandardsStandardsExclusionsList = exports.DataPagerdutyStandardsStandardsExclusionsOutputReference = void 0;
5
+ exports.dataPagerdutyStandardsStandardsExclusionsToTerraform = dataPagerdutyStandardsStandardsExclusionsToTerraform;
6
+ exports.dataPagerdutyStandardsStandardsExclusionsToHclTerraform = dataPagerdutyStandardsStandardsExclusionsToHclTerraform;
7
+ exports.dataPagerdutyStandardsStandardsInclusionsToTerraform = dataPagerdutyStandardsStandardsInclusionsToTerraform;
8
+ exports.dataPagerdutyStandardsStandardsInclusionsToHclTerraform = dataPagerdutyStandardsStandardsInclusionsToHclTerraform;
9
+ exports.dataPagerdutyStandardsStandardsToTerraform = dataPagerdutyStandardsStandardsToTerraform;
10
+ exports.dataPagerdutyStandardsStandardsToHclTerraform = dataPagerdutyStandardsStandardsToHclTerraform;
11
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
12
+ const cdktn = require("cdktn");
13
+ function dataPagerdutyStandardsStandardsExclusionsToTerraform(struct) {
14
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
15
+ return struct;
16
+ }
17
+ if (cdktn.isComplexElement(struct)) {
18
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
19
+ }
20
+ return {};
21
+ }
22
+ function dataPagerdutyStandardsStandardsExclusionsToHclTerraform(struct) {
23
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
24
+ return struct;
25
+ }
26
+ if (cdktn.isComplexElement(struct)) {
27
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
28
+ }
29
+ const attrs = {};
30
+ return attrs;
31
+ }
32
+ class DataPagerdutyStandardsStandardsExclusionsOutputReference extends cdktn.ComplexObject {
33
+ /**
34
+ * @param terraformResource The parent resource
35
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
36
+ * @param complexObjectIndex the index of this item in the list
37
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
38
+ */
39
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
40
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
41
+ this.isEmptyObject = false;
42
+ }
43
+ get internalValue() {
44
+ let hasAnyValues = this.isEmptyObject;
45
+ const internalValueResult = {};
46
+ return hasAnyValues ? internalValueResult : undefined;
47
+ }
48
+ set internalValue(value) {
49
+ if (value === undefined) {
50
+ this.isEmptyObject = false;
51
+ }
52
+ else {
53
+ this.isEmptyObject = Object.keys(value).length === 0;
54
+ }
55
+ }
56
+ // id - computed: true, optional: false, required: false
57
+ get id() {
58
+ return this.getStringAttribute('id');
59
+ }
60
+ // type - computed: true, optional: false, required: false
61
+ get type() {
62
+ return this.getStringAttribute('type');
63
+ }
64
+ }
65
+ exports.DataPagerdutyStandardsStandardsExclusionsOutputReference = DataPagerdutyStandardsStandardsExclusionsOutputReference;
66
+ _a = JSII_RTTI_SYMBOL_1;
67
+ DataPagerdutyStandardsStandardsExclusionsOutputReference[_a] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsExclusionsOutputReference", version: "15.0.0" };
68
+ class DataPagerdutyStandardsStandardsExclusionsList extends cdktn.ComplexList {
69
+ /**
70
+ * @param terraformResource The parent resource
71
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
72
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
73
+ */
74
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
75
+ super(terraformResource, terraformAttribute, wrapsSet);
76
+ this.terraformResource = terraformResource;
77
+ this.terraformAttribute = terraformAttribute;
78
+ this.wrapsSet = wrapsSet;
79
+ }
80
+ /**
81
+ * @param index the index of the item to return
82
+ */
83
+ get(index) {
84
+ return new DataPagerdutyStandardsStandardsExclusionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
85
+ }
86
+ }
87
+ exports.DataPagerdutyStandardsStandardsExclusionsList = DataPagerdutyStandardsStandardsExclusionsList;
88
+ _b = JSII_RTTI_SYMBOL_1;
89
+ DataPagerdutyStandardsStandardsExclusionsList[_b] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsExclusionsList", version: "15.0.0" };
90
+ function dataPagerdutyStandardsStandardsInclusionsToTerraform(struct) {
91
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
92
+ return struct;
93
+ }
94
+ if (cdktn.isComplexElement(struct)) {
95
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
96
+ }
97
+ return {};
98
+ }
99
+ function dataPagerdutyStandardsStandardsInclusionsToHclTerraform(struct) {
100
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
101
+ return struct;
102
+ }
103
+ if (cdktn.isComplexElement(struct)) {
104
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
105
+ }
106
+ const attrs = {};
107
+ return attrs;
108
+ }
109
+ class DataPagerdutyStandardsStandardsInclusionsOutputReference extends cdktn.ComplexObject {
110
+ /**
111
+ * @param terraformResource The parent resource
112
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
113
+ * @param complexObjectIndex the index of this item in the list
114
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
115
+ */
116
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
117
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
118
+ this.isEmptyObject = false;
119
+ }
120
+ get internalValue() {
121
+ let hasAnyValues = this.isEmptyObject;
122
+ const internalValueResult = {};
123
+ return hasAnyValues ? internalValueResult : undefined;
124
+ }
125
+ set internalValue(value) {
126
+ if (value === undefined) {
127
+ this.isEmptyObject = false;
128
+ }
129
+ else {
130
+ this.isEmptyObject = Object.keys(value).length === 0;
131
+ }
132
+ }
133
+ // id - computed: true, optional: false, required: false
134
+ get id() {
135
+ return this.getStringAttribute('id');
136
+ }
137
+ // type - computed: true, optional: false, required: false
138
+ get type() {
139
+ return this.getStringAttribute('type');
140
+ }
141
+ }
142
+ exports.DataPagerdutyStandardsStandardsInclusionsOutputReference = DataPagerdutyStandardsStandardsInclusionsOutputReference;
143
+ _c = JSII_RTTI_SYMBOL_1;
144
+ DataPagerdutyStandardsStandardsInclusionsOutputReference[_c] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsInclusionsOutputReference", version: "15.0.0" };
145
+ class DataPagerdutyStandardsStandardsInclusionsList extends cdktn.ComplexList {
146
+ /**
147
+ * @param terraformResource The parent resource
148
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
149
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
150
+ */
151
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
152
+ super(terraformResource, terraformAttribute, wrapsSet);
153
+ this.terraformResource = terraformResource;
154
+ this.terraformAttribute = terraformAttribute;
155
+ this.wrapsSet = wrapsSet;
156
+ }
157
+ /**
158
+ * @param index the index of the item to return
159
+ */
160
+ get(index) {
161
+ return new DataPagerdutyStandardsStandardsInclusionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
162
+ }
163
+ }
164
+ exports.DataPagerdutyStandardsStandardsInclusionsList = DataPagerdutyStandardsStandardsInclusionsList;
165
+ _d = JSII_RTTI_SYMBOL_1;
166
+ DataPagerdutyStandardsStandardsInclusionsList[_d] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsInclusionsList", version: "15.0.0" };
167
+ function dataPagerdutyStandardsStandardsToTerraform(struct) {
168
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
169
+ return struct;
170
+ }
171
+ if (cdktn.isComplexElement(struct)) {
172
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
173
+ }
174
+ return {};
175
+ }
176
+ function dataPagerdutyStandardsStandardsToHclTerraform(struct) {
177
+ if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
178
+ return struct;
179
+ }
180
+ if (cdktn.isComplexElement(struct)) {
181
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
182
+ }
183
+ const attrs = {};
184
+ return attrs;
185
+ }
186
+ class DataPagerdutyStandardsStandardsOutputReference extends cdktn.ComplexObject {
187
+ /**
188
+ * @param terraformResource The parent resource
189
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
190
+ * @param complexObjectIndex the index of this item in the list
191
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
192
+ */
193
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
194
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
195
+ this.isEmptyObject = false;
196
+ // exclusions - computed: true, optional: false, required: false
197
+ this._exclusions = new DataPagerdutyStandardsStandardsExclusionsList(this, "exclusions", false);
198
+ // inclusions - computed: true, optional: false, required: false
199
+ this._inclusions = new DataPagerdutyStandardsStandardsInclusionsList(this, "inclusions", false);
200
+ }
201
+ get internalValue() {
202
+ let hasAnyValues = this.isEmptyObject;
203
+ const internalValueResult = {};
204
+ return hasAnyValues ? internalValueResult : undefined;
205
+ }
206
+ set internalValue(value) {
207
+ if (value === undefined) {
208
+ this.isEmptyObject = false;
209
+ }
210
+ else {
211
+ this.isEmptyObject = Object.keys(value).length === 0;
212
+ }
213
+ }
214
+ // active - computed: true, optional: false, required: false
215
+ get active() {
216
+ return this.getBooleanAttribute('active');
217
+ }
218
+ // description - computed: true, optional: false, required: false
219
+ get description() {
220
+ return this.getStringAttribute('description');
221
+ }
222
+ get exclusions() {
223
+ return this._exclusions;
224
+ }
225
+ // id - computed: true, optional: false, required: false
226
+ get id() {
227
+ return this.getStringAttribute('id');
228
+ }
229
+ get inclusions() {
230
+ return this._inclusions;
231
+ }
232
+ // name - computed: true, optional: false, required: false
233
+ get name() {
234
+ return this.getStringAttribute('name');
235
+ }
236
+ // resource_type - computed: true, optional: false, required: false
237
+ get resourceType() {
238
+ return this.getStringAttribute('resource_type');
239
+ }
240
+ // type - computed: true, optional: false, required: false
241
+ get type() {
242
+ return this.getStringAttribute('type');
243
+ }
244
+ }
245
+ exports.DataPagerdutyStandardsStandardsOutputReference = DataPagerdutyStandardsStandardsOutputReference;
246
+ _e = JSII_RTTI_SYMBOL_1;
247
+ DataPagerdutyStandardsStandardsOutputReference[_e] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsOutputReference", version: "15.0.0" };
248
+ class DataPagerdutyStandardsStandardsList extends cdktn.ComplexList {
249
+ /**
250
+ * @param terraformResource The parent resource
251
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
252
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
253
+ */
254
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
255
+ super(terraformResource, terraformAttribute, wrapsSet);
256
+ this.terraformResource = terraformResource;
257
+ this.terraformAttribute = terraformAttribute;
258
+ this.wrapsSet = wrapsSet;
259
+ }
260
+ /**
261
+ * @param index the index of the item to return
262
+ */
263
+ get(index) {
264
+ return new DataPagerdutyStandardsStandardsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
265
+ }
266
+ }
267
+ exports.DataPagerdutyStandardsStandardsList = DataPagerdutyStandardsStandardsList;
268
+ _f = JSII_RTTI_SYMBOL_1;
269
+ DataPagerdutyStandardsStandardsList[_f] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandardsStandardsList", version: "15.0.0" };
270
+ /**
271
+ * Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards pagerduty_standards}
272
+ */
273
+ class DataPagerdutyStandards extends cdktn.TerraformDataSource {
274
+ // ==============
275
+ // STATIC Methods
276
+ // ==============
277
+ /**
278
+ * Generates CDKTN code for importing a DataPagerdutyStandards resource upon running "cdktn plan <stack-name>"
279
+ * @param scope The scope in which to define this construct
280
+ * @param importToId The construct id used in the generated config for the DataPagerdutyStandards to import
281
+ * @param importFromId The id of the existing DataPagerdutyStandards that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards#import import section} in the documentation of this resource for the id to use
282
+ * @param provider? Optional instance of the provider where the DataPagerdutyStandards to import is found
283
+ */
284
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
285
+ return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "pagerduty_standards", importId: importFromId, provider });
286
+ }
287
+ // ===========
288
+ // INITIALIZER
289
+ // ===========
290
+ /**
291
+ * Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards pagerduty_standards} Data Source
292
+ *
293
+ * @param scope The scope in which to define this construct
294
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
295
+ * @param options DataPagerdutyStandardsConfig = {}
296
+ */
297
+ constructor(scope, id, config = {}) {
298
+ super(scope, id, {
299
+ terraformResourceType: 'pagerduty_standards',
300
+ terraformGeneratorMetadata: {
301
+ providerName: 'pagerduty',
302
+ providerVersion: '3.31.0',
303
+ providerVersionConstraint: '~> 3.0'
304
+ },
305
+ provider: config.provider,
306
+ dependsOn: config.dependsOn,
307
+ count: config.count,
308
+ lifecycle: config.lifecycle,
309
+ provisioners: config.provisioners,
310
+ connection: config.connection,
311
+ forEach: config.forEach
312
+ });
313
+ // standards - computed: true, optional: false, required: false
314
+ this._standards = new DataPagerdutyStandardsStandardsList(this, "standards", false);
315
+ this._resourceType = config.resourceType;
316
+ }
317
+ get resourceType() {
318
+ return this.getStringAttribute('resource_type');
319
+ }
320
+ set resourceType(value) {
321
+ this._resourceType = value;
322
+ }
323
+ resetResourceType() {
324
+ this._resourceType = undefined;
325
+ }
326
+ // Temporarily expose input value. Use with caution.
327
+ get resourceTypeInput() {
328
+ return this._resourceType;
329
+ }
330
+ get standards() {
331
+ return this._standards;
332
+ }
333
+ // =========
334
+ // SYNTHESIS
335
+ // =========
336
+ synthesizeAttributes() {
337
+ return {
338
+ resource_type: cdktn.stringToTerraform(this._resourceType),
339
+ };
340
+ }
341
+ synthesizeHclAttributes() {
342
+ const attrs = {
343
+ resource_type: {
344
+ value: cdktn.stringToHclTerraform(this._resourceType),
345
+ isBlock: false,
346
+ type: "simple",
347
+ storageClassType: "string",
348
+ },
349
+ };
350
+ // remove undefined attributes
351
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
352
+ }
353
+ }
354
+ exports.DataPagerdutyStandards = DataPagerdutyStandards;
355
+ _g = JSII_RTTI_SYMBOL_1;
356
+ DataPagerdutyStandards[_g] = { fqn: "@cdktn/provider-pagerduty.dataPagerdutyStandards.DataPagerdutyStandards", version: "15.0.0" };
357
+ // =================
358
+ // STATIC PROPERTIES
359
+ // =================
360
+ DataPagerdutyStandards.tfResourceType = "pagerduty_standards";
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGF0YS1wYWdlcmR1dHktc3RhbmRhcmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFzQkEsb0hBT0M7QUFHRCwwSEFRQztBQThERCxvSEFPQztBQUdELDBIQVFDO0FBOERELGdHQU9DO0FBR0Qsc0dBUUM7O0FBL0xELCtCQUErQjtBQWEvQixTQUFnQixvREFBb0QsQ0FBQyxNQUFrRDtJQUNySCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPLEVBQ04sQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQix1REFBdUQsQ0FBQyxNQUFrRDtJQUN4SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyxFQUNiLENBQUM7SUFDRixPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFhLHdEQUF5RCxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBRy9GOzs7OztNQUtFO0lBQ0YsWUFB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QjtBQUNwQixvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ0cscUNBQWMsR0FBRyxxQkFBcUIsQUFBeEIsQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAyMSwgMjAyNlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG4vLyBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvcGFnZXJkdXR5L3BhZ2VyZHV0eS8zLjMxLjAvZG9jcy9kYXRhLXNvdXJjZXMvc3RhbmRhcmRzXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdG4gZnJvbSAnY2RrdG4nO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc0NvbmZpZyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybU1ldGFBcmd1bWVudHMge1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9zdGFuZGFyZHMjcmVzb3VyY2VfdHlwZSBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzI3Jlc291cmNlX3R5cGV9XG4gICovXG4gIHJlYWRvbmx5IHJlc291cmNlVHlwZT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0V4Y2x1c2lvbnMge1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0V4Y2x1c2lvbnNUb1RlcnJhZm9ybShzdHJ1Y3Q/OiBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzRXhjbHVzaW9ucyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzRXhjbHVzaW9uc1RvSGNsVGVycmFmb3JtKHN0cnVjdD86IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNFeGNsdXNpb25zKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGsudGYvY29tcGxleC1vYmplY3QtYXMtY29uZmlndXJhdGlvblwiKTtcbiAgfVxuICBjb25zdCBhdHRycyA9IHtcbiAgfTtcbiAgcmV0dXJuIGF0dHJzO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0V4Y2x1c2lvbnNPdXRwdXRSZWZlcmVuY2UgZXh0ZW5kcyBjZGt0bi5Db21wbGV4T2JqZWN0IHtcbiAgcHJpdmF0ZSBpc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJbmRleCB0aGUgaW5kZXggb2YgdGhpcyBpdGVtIGluIHRoZSBsaXN0XG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBjb21wbGV4T2JqZWN0SW5kZXg6IG51bWJlciwgY29tcGxleE9iamVjdElzRnJvbVNldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQsIGNvbXBsZXhPYmplY3RJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0V4Y2x1c2lvbnMgfCB1bmRlZmluZWQge1xuICAgIGxldCBoYXNBbnlWYWx1ZXMgPSB0aGlzLmlzRW1wdHlPYmplY3Q7XG4gICAgY29uc3QgaW50ZXJuYWxWYWx1ZVJlc3VsdDogYW55ID0ge307XG4gICAgcmV0dXJuIGhhc0FueVZhbHVlcyA/IGludGVybmFsVmFsdWVSZXN1bHQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGludGVybmFsVmFsdWUodmFsdWU6IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNFeGNsdXNpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cblxuICAvLyB0eXBlIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3R5cGUnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0V4Y2x1c2lvbnNMaXN0IGV4dGVuZHMgY2RrdG4uQ29tcGxleExpc3Qge1xuXG4gIC8qKlxuICAqIEBwYXJhbSB0ZXJyYWZvcm1SZXNvdXJjZSBUaGUgcGFyZW50IHJlc291cmNlXG4gICogQHBhcmFtIHRlcnJhZm9ybUF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG9uIHRoZSBwYXJlbnQgcmVzb3VyY2UgdGhpcyBjbGFzcyBpcyByZWZlcmVuY2luZ1xuICAqIEBwYXJhbSB3cmFwc1NldCB3aGV0aGVyIHRoZSBsaXN0IGlzIHdyYXBwaW5nIGEgc2V0ICh3aWxsIGFkZCB0b2xpc3QoKSB0byBiZSBhYmxlIHRvIGFjY2VzcyBhbiBpdGVtIHZpYSBhbiBpbmRleClcbiAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRlcnJhZm9ybVJlc291cmNlOiBjZGt0bi5JSW50ZXJwb2xhdGluZ1BhcmVudCwgcHJvdGVjdGVkIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBwcm90ZWN0ZWQgd3JhcHNTZXQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0ZXJyYWZvcm1SZXNvdXJjZSwgdGVycmFmb3JtQXR0cmlidXRlLCB3cmFwc1NldClcbiAgfVxuXG4gIC8qKlxuICAqIEBwYXJhbSBpbmRleCB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gcmV0dXJuXG4gICovXG4gIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNFeGNsdXNpb25zT3V0cHV0UmVmZXJlbmNlIHtcbiAgICByZXR1cm4gbmV3IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNFeGNsdXNpb25zT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0luY2x1c2lvbnMge1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0luY2x1c2lvbnNUb1RlcnJhZm9ybShzdHJ1Y3Q/OiBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzSW5jbHVzaW9ucyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzSW5jbHVzaW9uc1RvSGNsVGVycmFmb3JtKHN0cnVjdD86IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNJbmNsdXNpb25zKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGsudGYvY29tcGxleC1vYmplY3QtYXMtY29uZmlndXJhdGlvblwiKTtcbiAgfVxuICBjb25zdCBhdHRycyA9IHtcbiAgfTtcbiAgcmV0dXJuIGF0dHJzO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0luY2x1c2lvbnNPdXRwdXRSZWZlcmVuY2UgZXh0ZW5kcyBjZGt0bi5Db21wbGV4T2JqZWN0IHtcbiAgcHJpdmF0ZSBpc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJbmRleCB0aGUgaW5kZXggb2YgdGhpcyBpdGVtIGluIHRoZSBsaXN0XG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBjb21wbGV4T2JqZWN0SW5kZXg6IG51bWJlciwgY29tcGxleE9iamVjdElzRnJvbVNldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQsIGNvbXBsZXhPYmplY3RJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0luY2x1c2lvbnMgfCB1bmRlZmluZWQge1xuICAgIGxldCBoYXNBbnlWYWx1ZXMgPSB0aGlzLmlzRW1wdHlPYmplY3Q7XG4gICAgY29uc3QgaW50ZXJuYWxWYWx1ZVJlc3VsdDogYW55ID0ge307XG4gICAgcmV0dXJuIGhhc0FueVZhbHVlcyA/IGludGVybmFsVmFsdWVSZXN1bHQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGludGVybmFsVmFsdWUodmFsdWU6IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNJbmNsdXNpb25zIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IE9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGggPT09IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2lkJyk7XG4gIH1cblxuICAvLyB0eXBlIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3R5cGUnKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0luY2x1c2lvbnNMaXN0IGV4dGVuZHMgY2RrdG4uQ29tcGxleExpc3Qge1xuXG4gIC8qKlxuICAqIEBwYXJhbSB0ZXJyYWZvcm1SZXNvdXJjZSBUaGUgcGFyZW50IHJlc291cmNlXG4gICogQHBhcmFtIHRlcnJhZm9ybUF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG9uIHRoZSBwYXJlbnQgcmVzb3VyY2UgdGhpcyBjbGFzcyBpcyByZWZlcmVuY2luZ1xuICAqIEBwYXJhbSB3cmFwc1NldCB3aGV0aGVyIHRoZSBsaXN0IGlzIHdyYXBwaW5nIGEgc2V0ICh3aWxsIGFkZCB0b2xpc3QoKSB0byBiZSBhYmxlIHRvIGFjY2VzcyBhbiBpdGVtIHZpYSBhbiBpbmRleClcbiAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRlcnJhZm9ybVJlc291cmNlOiBjZGt0bi5JSW50ZXJwb2xhdGluZ1BhcmVudCwgcHJvdGVjdGVkIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBwcm90ZWN0ZWQgd3JhcHNTZXQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0ZXJyYWZvcm1SZXNvdXJjZSwgdGVycmFmb3JtQXR0cmlidXRlLCB3cmFwc1NldClcbiAgfVxuXG4gIC8qKlxuICAqIEBwYXJhbSBpbmRleCB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gcmV0dXJuXG4gICovXG4gIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNJbmNsdXNpb25zT3V0cHV0UmVmZXJlbmNlIHtcbiAgICByZXR1cm4gbmV3IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNJbmNsdXNpb25zT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkcyB7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzVG9UZXJyYWZvcm0oc3RydWN0PzogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkcyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzVG9IY2xUZXJyYWZvcm0oc3RydWN0PzogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkcyk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgY29uc3QgYXR0cnMgPSB7XG4gIH07XG4gIHJldHVybiBhdHRycztcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNPdXRwdXRSZWZlcmVuY2UgZXh0ZW5kcyBjZGt0bi5Db21wbGV4T2JqZWN0IHtcbiAgcHJpdmF0ZSBpc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJbmRleCB0aGUgaW5kZXggb2YgdGhpcyBpdGVtIGluIHRoZSBsaXN0XG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBjb21wbGV4T2JqZWN0SW5kZXg6IG51bWJlciwgY29tcGxleE9iamVjdElzRnJvbVNldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQsIGNvbXBsZXhPYmplY3RJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkcyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IGhhc0FueVZhbHVlcyA9IHRoaXMuaXNFbXB0eU9iamVjdDtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlUmVzdWx0OiBhbnkgPSB7fTtcbiAgICByZXR1cm4gaGFzQW55VmFsdWVzID8gaW50ZXJuYWxWYWx1ZVJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW50ZXJuYWxWYWx1ZSh2YWx1ZTogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkcyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBmYWxzZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIGFjdGl2ZSAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGFjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRCb29sZWFuQXR0cmlidXRlKCdhY3RpdmUnKTtcbiAgfVxuXG4gIC8vIGRlc2NyaXB0aW9uIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdkZXNjcmlwdGlvbicpO1xuICB9XG5cbiAgLy8gZXhjbHVzaW9ucyAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9leGNsdXNpb25zID0gbmV3IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNFeGNsdXNpb25zTGlzdCh0aGlzLCBcImV4Y2x1c2lvbnNcIiwgZmFsc2UpO1xuICBwdWJsaWMgZ2V0IGV4Y2x1c2lvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2V4Y2x1c2lvbnM7XG4gIH1cblxuICAvLyBpZCAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnaWQnKTtcbiAgfVxuXG4gIC8vIGluY2x1c2lvbnMgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfaW5jbHVzaW9ucyA9IG5ldyBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzU3RhbmRhcmRzSW5jbHVzaW9uc0xpc3QodGhpcywgXCJpbmNsdXNpb25zXCIsIGZhbHNlKTtcbiAgcHVibGljIGdldCBpbmNsdXNpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9pbmNsdXNpb25zO1xuICB9XG5cbiAgLy8gbmFtZSAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCduYW1lJyk7XG4gIH1cblxuICAvLyByZXNvdXJjZV90eXBlIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgncmVzb3VyY2VfdHlwZScpO1xuICB9XG5cbiAgLy8gdHlwZSAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCd0eXBlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNMaXN0IGV4dGVuZHMgY2RrdG4uQ29tcGxleExpc3Qge1xuXG4gIC8qKlxuICAqIEBwYXJhbSB0ZXJyYWZvcm1SZXNvdXJjZSBUaGUgcGFyZW50IHJlc291cmNlXG4gICogQHBhcmFtIHRlcnJhZm9ybUF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG9uIHRoZSBwYXJlbnQgcmVzb3VyY2UgdGhpcyBjbGFzcyBpcyByZWZlcmVuY2luZ1xuICAqIEBwYXJhbSB3cmFwc1NldCB3aGV0aGVyIHRoZSBsaXN0IGlzIHdyYXBwaW5nIGEgc2V0ICh3aWxsIGFkZCB0b2xpc3QoKSB0byBiZSBhYmxlIHRvIGFjY2VzcyBhbiBpdGVtIHZpYSBhbiBpbmRleClcbiAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRlcnJhZm9ybVJlc291cmNlOiBjZGt0bi5JSW50ZXJwb2xhdGluZ1BhcmVudCwgcHJvdGVjdGVkIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBwcm90ZWN0ZWQgd3JhcHNTZXQ6IGJvb2xlYW4pIHtcbiAgICBzdXBlcih0ZXJyYWZvcm1SZXNvdXJjZSwgdGVycmFmb3JtQXR0cmlidXRlLCB3cmFwc1NldClcbiAgfVxuXG4gIC8qKlxuICAqIEBwYXJhbSBpbmRleCB0aGUgaW5kZXggb2YgdGhlIGl0ZW0gdG8gcmV0dXJuXG4gICovXG4gIHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IERhdGFQYWdlcmR1dHlTdGFuZGFyZHNTdGFuZGFyZHNPdXRwdXRSZWZlcmVuY2Uge1xuICAgIHJldHVybiBuZXcgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc091dHB1dFJlZmVyZW5jZSh0aGlzLnRlcnJhZm9ybVJlc291cmNlLCB0aGlzLnRlcnJhZm9ybUF0dHJpYnV0ZSwgaW5kZXgsIHRoaXMud3JhcHNTZXQpO1xuICB9XG59XG5cbi8qKlxuKiBSZXByZXNlbnRzIGEge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9zdGFuZGFyZHMgcGFnZXJkdXR5X3N0YW5kYXJkc31cbiovXG5leHBvcnQgY2xhc3MgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkcyBleHRlbmRzIGNka3RuLlRlcnJhZm9ybURhdGFTb3VyY2Uge1xuXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBQUk9QRVJUSUVTXG4gIC8vID09PT09PT09PT09PT09PT09XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgdGZSZXNvdXJjZVR5cGUgPSBcInBhZ2VyZHV0eV9zdGFuZGFyZHNcIjtcblxuICAvLyA9PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgTWV0aG9kc1xuICAvLyA9PT09PT09PT09PT09PVxuICAvKipcbiAgKiBHZW5lcmF0ZXMgQ0RLVE4gY29kZSBmb3IgaW1wb3J0aW5nIGEgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkcyByZXNvdXJjZSB1cG9uIHJ1bm5pbmcgXCJjZGt0biBwbGFuIDxzdGFjay1uYW1lPlwiXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaW1wb3J0VG9JZCBUaGUgY29uc3RydWN0IGlkIHVzZWQgaW4gdGhlIGdlbmVyYXRlZCBjb25maWcgZm9yIHRoZSBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzIHRvIGltcG9ydFxuICAqIEBwYXJhbSBpbXBvcnRGcm9tSWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzIHRoYXQgc2hvdWxkIGJlIGltcG9ydGVkLiBSZWZlciB0byB0aGUge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL2RhdGEtc291cmNlcy9zdGFuZGFyZHMjaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIERhdGFQYWdlcmR1dHlTdGFuZGFyZHMgdG8gaW1wb3J0IGlzIGZvdW5kXG4gICovXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVDb25maWdGb3JJbXBvcnQoc2NvcGU6IENvbnN0cnVjdCwgaW1wb3J0VG9JZDogc3RyaW5nLCBpbXBvcnRGcm9tSWQ6IHN0cmluZywgcHJvdmlkZXI/OiBjZGt0bi5UZXJyYWZvcm1Qcm92aWRlcikge1xuICAgICAgICByZXR1cm4gbmV3IGNka3RuLkltcG9ydGFibGVSZXNvdXJjZShzY29wZSwgaW1wb3J0VG9JZCwgeyB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IFwicGFnZXJkdXR5X3N0YW5kYXJkc1wiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtcbiAgICAgIH1cblxuICAvLyA9PT09PT09PT09PVxuICAvLyBJTklUSUFMSVpFUlxuICAvLyA9PT09PT09PT09PVxuXG4gIC8qKlxuICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvZGF0YS1zb3VyY2VzL3N0YW5kYXJkcyBwYWdlcmR1dHlfc3RhbmRhcmRzfSBEYXRhIFNvdXJjZVxuICAqXG4gICogQHBhcmFtIHNjb3BlIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MgaW4gdGhlIHNhbWUgc2NvcGVcbiAgKiBAcGFyYW0gb3B0aW9ucyBEYXRhUGFnZXJkdXR5U3RhbmRhcmRzQ29uZmlnID0ge31cbiAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc0NvbmZpZyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6ICdwYWdlcmR1dHlfc3RhbmRhcmRzJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ3BhZ2VyZHV0eScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzMuMzEuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjAnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fcmVzb3VyY2VUeXBlID0gY29uZmlnLnJlc291cmNlVHlwZTtcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gcmVzb3VyY2VfdHlwZSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9yZXNvdXJjZVR5cGU/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IHJlc291cmNlVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3Jlc291cmNlX3R5cGUnKTtcbiAgfVxuICBwdWJsaWMgc2V0IHJlc291cmNlVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcmVzb3VyY2VUeXBlID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0UmVzb3VyY2VUeXBlKCkge1xuICAgIHRoaXMuX3Jlc291cmNlVHlwZSA9IHVuZGVmaW5lZDtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VUeXBlSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlVHlwZTtcbiAgfVxuXG4gIC8vIHN0YW5kYXJkcyAtIGNvbXB1dGVkOiB0cnVlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9zdGFuZGFyZHMgPSBuZXcgRGF0YVBhZ2VyZHV0eVN0YW5kYXJkc1N0YW5kYXJkc0xpc3QodGhpcywgXCJzdGFuZGFyZHNcIiwgZmFsc2UpO1xuICBwdWJsaWMgZ2V0IHN0YW5kYXJkcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhbmRhcmRzO1xuICB9XG5cbiAgLy8gPT09PT09PT09XG4gIC8vIFNZTlRIRVNJU1xuICAvLyA9PT09PT09PT1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICByZXNvdXJjZV90eXBlOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9yZXNvdXJjZVR5cGUpLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIGNvbnN0IGF0dHJzID0ge1xuICAgICAgcmVzb3VyY2VfdHlwZToge1xuICAgICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0odGhpcy5fcmVzb3VyY2VUeXBlKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGF0dHJzKS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUudmFsdWUgIT09IHVuZGVmaW5lZCApKVxuICB9XG59XG4iXX0=
@@ -0,0 +1,112 @@
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 DataPagerdutyStandardsResourceScoresConfig extends cdktn.TerraformMetaArguments {
8
+ /**
9
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards_resource_scores#id DataPagerdutyStandardsResourceScores#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/standards_resource_scores#resource_type DataPagerdutyStandardsResourceScores#resource_type}
17
+ */
18
+ readonly resourceType: string;
19
+ }
20
+ export interface DataPagerdutyStandardsResourceScoresScore {
21
+ }
22
+ export declare function dataPagerdutyStandardsResourceScoresScoreToTerraform(struct?: DataPagerdutyStandardsResourceScoresScore): any;
23
+ export declare function dataPagerdutyStandardsResourceScoresScoreToHclTerraform(struct?: DataPagerdutyStandardsResourceScoresScore): any;
24
+ export declare class DataPagerdutyStandardsResourceScoresScoreOutputReference extends cdktn.ComplexObject {
25
+ private isEmptyObject;
26
+ /**
27
+ * @param terraformResource The parent resource
28
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
29
+ */
30
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string);
31
+ get internalValue(): DataPagerdutyStandardsResourceScoresScore | undefined;
32
+ set internalValue(value: DataPagerdutyStandardsResourceScoresScore | undefined);
33
+ get passing(): number;
34
+ get total(): number;
35
+ }
36
+ export interface DataPagerdutyStandardsResourceScoresStandards {
37
+ }
38
+ export declare function dataPagerdutyStandardsResourceScoresStandardsToTerraform(struct?: DataPagerdutyStandardsResourceScoresStandards): any;
39
+ export declare function dataPagerdutyStandardsResourceScoresStandardsToHclTerraform(struct?: DataPagerdutyStandardsResourceScoresStandards): any;
40
+ export declare class DataPagerdutyStandardsResourceScoresStandardsOutputReference extends cdktn.ComplexObject {
41
+ private isEmptyObject;
42
+ /**
43
+ * @param terraformResource The parent resource
44
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
45
+ * @param complexObjectIndex the index of this item in the list
46
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
47
+ */
48
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
49
+ get internalValue(): DataPagerdutyStandardsResourceScoresStandards | undefined;
50
+ set internalValue(value: DataPagerdutyStandardsResourceScoresStandards | undefined);
51
+ get active(): cdktn.IResolvable;
52
+ get description(): string;
53
+ get id(): string;
54
+ get name(): string;
55
+ get pass(): cdktn.IResolvable;
56
+ get type(): string;
57
+ }
58
+ export declare class DataPagerdutyStandardsResourceScoresStandardsList extends cdktn.ComplexList {
59
+ protected terraformResource: cdktn.IInterpolatingParent;
60
+ protected terraformAttribute: string;
61
+ protected wrapsSet: boolean;
62
+ /**
63
+ * @param terraformResource The parent resource
64
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
65
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
66
+ */
67
+ constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
68
+ /**
69
+ * @param index the index of the item to return
70
+ */
71
+ get(index: number): DataPagerdutyStandardsResourceScoresStandardsOutputReference;
72
+ }
73
+ /**
74
+ * Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards_resource_scores pagerduty_standards_resource_scores}
75
+ */
76
+ export declare class DataPagerdutyStandardsResourceScores extends cdktn.TerraformDataSource {
77
+ static readonly tfResourceType = "pagerduty_standards_resource_scores";
78
+ /**
79
+ * Generates CDKTN code for importing a DataPagerdutyStandardsResourceScores resource upon running "cdktn plan <stack-name>"
80
+ * @param scope The scope in which to define this construct
81
+ * @param importToId The construct id used in the generated config for the DataPagerdutyStandardsResourceScores to import
82
+ * @param importFromId The id of the existing DataPagerdutyStandardsResourceScores that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards_resource_scores#import import section} in the documentation of this resource for the id to use
83
+ * @param provider? Optional instance of the provider where the DataPagerdutyStandardsResourceScores to import is found
84
+ */
85
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
86
+ /**
87
+ * Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/data-sources/standards_resource_scores pagerduty_standards_resource_scores} Data Source
88
+ *
89
+ * @param scope The scope in which to define this construct
90
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
91
+ * @param options DataPagerdutyStandardsResourceScoresConfig
92
+ */
93
+ constructor(scope: Construct, id: string, config: DataPagerdutyStandardsResourceScoresConfig);
94
+ private _id?;
95
+ get id(): string;
96
+ set id(value: string);
97
+ get idInput(): string | undefined;
98
+ private _resourceType?;
99
+ get resourceType(): string;
100
+ set resourceType(value: string);
101
+ get resourceTypeInput(): string | undefined;
102
+ private _score;
103
+ get score(): DataPagerdutyStandardsResourceScoresScoreOutputReference;
104
+ private _standards;
105
+ get standards(): DataPagerdutyStandardsResourceScoresStandardsList;
106
+ protected synthesizeAttributes(): {
107
+ [name: string]: any;
108
+ };
109
+ protected synthesizeHclAttributes(): {
110
+ [name: string]: any;
111
+ };
112
+ }