cdk8s-plus-36 0.0.1 → 2.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 (156) hide show
  1. package/.jsii +105714 -0
  2. package/CODE_OF_CONDUCT.md +3 -0
  3. package/CONTRIBUTING.md +185 -0
  4. package/DCO +34 -0
  5. package/LICENSE +202 -0
  6. package/NOTICE +1 -0
  7. package/OWNERS.md +5 -0
  8. package/README.md +21 -34
  9. package/SECURITY.md +5 -0
  10. package/cdk8s.yaml +13 -0
  11. package/docs/java.md +156096 -0
  12. package/docs/plus/config-map.md +98 -0
  13. package/docs/plus/container.md +133 -0
  14. package/docs/plus/cronjob.md +67 -0
  15. package/docs/plus/deployment.md +232 -0
  16. package/docs/plus/horizontal-pod-autoscaler.md +226 -0
  17. package/docs/plus/ingress.md +68 -0
  18. package/docs/plus/job.md +48 -0
  19. package/docs/plus/namespace.md +58 -0
  20. package/docs/plus/network-policy.md +341 -0
  21. package/docs/plus/pod.md +455 -0
  22. package/docs/plus/pv.md +82 -0
  23. package/docs/plus/pvc.md +77 -0
  24. package/docs/plus/rbac.md +104 -0
  25. package/docs/plus/secret.md +32 -0
  26. package/docs/plus/service-account.md +35 -0
  27. package/docs/plus/service.md +41 -0
  28. package/docs/plus/volume.md +84 -0
  29. package/docs/python.md +167536 -0
  30. package/docs/typescript.md +145485 -0
  31. package/git-hooks/README.md +9 -0
  32. package/git-hooks/prepare-commit-msg +18 -0
  33. package/git-hooks/setup.sh +10 -0
  34. package/lib/_action.d.ts +26 -0
  35. package/lib/_action.js +72 -0
  36. package/lib/api-resource.d.ts +298 -0
  37. package/lib/api-resource.js +438 -0
  38. package/lib/base.d.ts +79 -0
  39. package/lib/base.js +124 -0
  40. package/lib/config-map.d.ts +126 -0
  41. package/lib/config-map.js +199 -0
  42. package/lib/container.d.ts +1057 -0
  43. package/lib/container.js +944 -0
  44. package/lib/cron-job.d.ts +138 -0
  45. package/lib/cron-job.js +170 -0
  46. package/lib/daemon-set.d.ts +45 -0
  47. package/lib/daemon-set.js +91 -0
  48. package/lib/deployment.d.ts +235 -0
  49. package/lib/deployment.js +274 -0
  50. package/lib/handler.d.ts +62 -0
  51. package/lib/handler.js +88 -0
  52. package/lib/horizontal-pod-autoscaler.d.ts +500 -0
  53. package/lib/horizontal-pod-autoscaler.js +629 -0
  54. package/lib/imports/k8s.d.ts +27283 -0
  55. package/lib/imports/k8s.js +20112 -0
  56. package/lib/index.d.ts +26 -0
  57. package/lib/index.js +66 -0
  58. package/lib/ingress.d.ts +230 -0
  59. package/lib/ingress.js +282 -0
  60. package/lib/job.d.ts +64 -0
  61. package/lib/job.js +101 -0
  62. package/lib/namespace.d.ts +128 -0
  63. package/lib/namespace.js +148 -0
  64. package/lib/network-policy.d.ts +311 -0
  65. package/lib/network-policy.js +383 -0
  66. package/lib/pod.d.ts +1097 -0
  67. package/lib/pod.js +1227 -0
  68. package/lib/probe.d.ts +181 -0
  69. package/lib/probe.js +124 -0
  70. package/lib/pv.d.ts +375 -0
  71. package/lib/pv.js +387 -0
  72. package/lib/pvc.d.ts +163 -0
  73. package/lib/pvc.js +204 -0
  74. package/lib/role-binding.d.ts +138 -0
  75. package/lib/role-binding.js +207 -0
  76. package/lib/role.d.ts +268 -0
  77. package/lib/role.js +441 -0
  78. package/lib/secret.d.ts +195 -0
  79. package/lib/secret.js +221 -0
  80. package/lib/service-account.d.ts +83 -0
  81. package/lib/service-account.js +148 -0
  82. package/lib/service.d.ts +289 -0
  83. package/lib/service.js +235 -0
  84. package/lib/stateful-set.d.ts +206 -0
  85. package/lib/stateful-set.js +291 -0
  86. package/lib/utils.d.ts +4 -0
  87. package/lib/utils.js +33 -0
  88. package/lib/volume.d.ts +577 -0
  89. package/lib/volume.js +410 -0
  90. package/lib/workload.d.ts +121 -0
  91. package/lib/workload.js +158 -0
  92. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  93. package/node_modules/balanced-match/LICENSE.md +21 -0
  94. package/node_modules/balanced-match/README.md +97 -0
  95. package/node_modules/balanced-match/index.js +62 -0
  96. package/node_modules/balanced-match/package.json +48 -0
  97. package/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
  98. package/node_modules/brace-expansion/LICENSE +21 -0
  99. package/node_modules/brace-expansion/README.md +157 -0
  100. package/node_modules/brace-expansion/index.js +394 -0
  101. package/node_modules/brace-expansion/package.json +49 -0
  102. package/node_modules/minimatch/LICENSE +15 -0
  103. package/node_modules/minimatch/README.md +491 -0
  104. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  105. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  106. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  107. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  108. package/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
  109. package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
  110. package/node_modules/minimatch/dist/commonjs/ast.js +747 -0
  111. package/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
  112. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
  113. package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
  114. package/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
  115. package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
  116. package/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
  117. package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  118. package/node_modules/minimatch/dist/commonjs/escape.js +22 -0
  119. package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  120. package/node_modules/minimatch/dist/commonjs/index.d.ts +98 -0
  121. package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  122. package/node_modules/minimatch/dist/commonjs/index.js +1023 -0
  123. package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  124. package/node_modules/minimatch/dist/commonjs/package.json +3 -0
  125. package/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
  126. package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  127. package/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
  128. package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  129. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  130. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  131. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  132. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  133. package/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
  134. package/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
  135. package/node_modules/minimatch/dist/esm/ast.js +743 -0
  136. package/node_modules/minimatch/dist/esm/ast.js.map +1 -0
  137. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
  138. package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
  139. package/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
  140. package/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
  141. package/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
  142. package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  143. package/node_modules/minimatch/dist/esm/escape.js +18 -0
  144. package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  145. package/node_modules/minimatch/dist/esm/index.d.ts +98 -0
  146. package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  147. package/node_modules/minimatch/dist/esm/index.js +1007 -0
  148. package/node_modules/minimatch/dist/esm/index.js.map +1 -0
  149. package/node_modules/minimatch/dist/esm/package.json +3 -0
  150. package/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
  151. package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  152. package/node_modules/minimatch/dist/esm/unescape.js +20 -0
  153. package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  154. package/node_modules/minimatch/package.json +82 -0
  155. package/package.json +172 -6
  156. package/rotate.md +82 -0
@@ -0,0 +1,438 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NonApiResource = exports.ApiResource = void 0;
4
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
+ /**
6
+ * Represents information about an API resource type.
7
+ */
8
+ class ApiResource {
9
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.ApiResource", version: "2.0.0" };
10
+ /**
11
+ * API resource information for Binding.
12
+ */
13
+ static BINDINGS = new ApiResource({
14
+ apiGroup: '',
15
+ resourceType: 'bindings',
16
+ });
17
+ /**
18
+ * API resource information for ComponentStatus.
19
+ */
20
+ static COMPONENT_STATUSES = new ApiResource({
21
+ apiGroup: '',
22
+ resourceType: 'componentstatuses',
23
+ });
24
+ /**
25
+ * API resource information for ConfigMap.
26
+ */
27
+ static CONFIG_MAPS = new ApiResource({
28
+ apiGroup: '',
29
+ resourceType: 'configmaps',
30
+ });
31
+ /**
32
+ * API resource information for Endpoints.
33
+ */
34
+ static ENDPOINTS = new ApiResource({
35
+ apiGroup: '',
36
+ resourceType: 'endpoints',
37
+ });
38
+ /**
39
+ * API resource information for Event.
40
+ */
41
+ static EVENTS = new ApiResource({
42
+ apiGroup: '',
43
+ resourceType: 'events',
44
+ });
45
+ /**
46
+ * API resource information for LimitRange.
47
+ */
48
+ static LIMIT_RANGES = new ApiResource({
49
+ apiGroup: '',
50
+ resourceType: 'limitranges',
51
+ });
52
+ /**
53
+ * API resource information for Namespace.
54
+ */
55
+ static NAMESPACES = new ApiResource({
56
+ apiGroup: '',
57
+ resourceType: 'namespaces',
58
+ });
59
+ /**
60
+ * API resource information for Node.
61
+ */
62
+ static NODES = new ApiResource({
63
+ apiGroup: '',
64
+ resourceType: 'nodes',
65
+ });
66
+ /**
67
+ * API resource information for PersistentVolumeClaim.
68
+ */
69
+ static PERSISTENT_VOLUME_CLAIMS = new ApiResource({
70
+ apiGroup: '',
71
+ resourceType: 'persistentvolumeclaims',
72
+ });
73
+ /**
74
+ * API resource information for PersistentVolume.
75
+ */
76
+ static PERSISTENT_VOLUMES = new ApiResource({
77
+ apiGroup: '',
78
+ resourceType: 'persistentvolumes',
79
+ });
80
+ /**
81
+ * API resource information for Pod.
82
+ */
83
+ static PODS = new ApiResource({
84
+ apiGroup: '',
85
+ resourceType: 'pods',
86
+ });
87
+ /**
88
+ * API resource information for PodTemplate.
89
+ */
90
+ static POD_TEMPLATES = new ApiResource({
91
+ apiGroup: '',
92
+ resourceType: 'podtemplates',
93
+ });
94
+ /**
95
+ * API resource information for ReplicationController.
96
+ */
97
+ static REPLICATION_CONTROLLERS = new ApiResource({
98
+ apiGroup: '',
99
+ resourceType: 'replicationcontrollers',
100
+ });
101
+ /**
102
+ * API resource information for ResourceQuota.
103
+ */
104
+ static RESOURCE_QUOTAS = new ApiResource({
105
+ apiGroup: '',
106
+ resourceType: 'resourcequotas',
107
+ });
108
+ /**
109
+ * API resource information for Secret.
110
+ */
111
+ static SECRETS = new ApiResource({
112
+ apiGroup: '',
113
+ resourceType: 'secrets',
114
+ });
115
+ /**
116
+ * API resource information for ServiceAccount.
117
+ */
118
+ static SERVICE_ACCOUNTS = new ApiResource({
119
+ apiGroup: '',
120
+ resourceType: 'serviceaccounts',
121
+ });
122
+ /**
123
+ * API resource information for Service.
124
+ */
125
+ static SERVICES = new ApiResource({
126
+ apiGroup: '',
127
+ resourceType: 'services',
128
+ });
129
+ /**
130
+ * API resource information for MutatingWebhookConfiguration.
131
+ */
132
+ static MUTATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
133
+ apiGroup: 'admissionregistration.k8s.io',
134
+ resourceType: 'mutatingwebhookconfigurations',
135
+ });
136
+ /**
137
+ * API resource information for ValidatingWebhookConfiguration.
138
+ */
139
+ static VALIDATING_WEBHOOK_CONFIGURATIONS = new ApiResource({
140
+ apiGroup: 'admissionregistration.k8s.io',
141
+ resourceType: 'validatingwebhookconfigurations',
142
+ });
143
+ /**
144
+ * API resource information for CustomResourceDefinition.
145
+ */
146
+ static CUSTOM_RESOURCE_DEFINITIONS = new ApiResource({
147
+ apiGroup: 'apiextensions.k8s.io',
148
+ resourceType: 'customresourcedefinitions',
149
+ });
150
+ /**
151
+ * API resource information for APIService.
152
+ */
153
+ static API_SERVICES = new ApiResource({
154
+ apiGroup: 'apiregistration.k8s.io',
155
+ resourceType: 'apiservices',
156
+ });
157
+ /**
158
+ * API resource information for ControllerRevision.
159
+ */
160
+ static CONTROLLER_REVISIONS = new ApiResource({
161
+ apiGroup: 'apps',
162
+ resourceType: 'controllerrevisions',
163
+ });
164
+ /**
165
+ * API resource information for DaemonSet.
166
+ */
167
+ static DAEMON_SETS = new ApiResource({
168
+ apiGroup: 'apps',
169
+ resourceType: 'daemonsets',
170
+ });
171
+ /**
172
+ * API resource information for Deployment.
173
+ */
174
+ static DEPLOYMENTS = new ApiResource({
175
+ apiGroup: 'apps',
176
+ resourceType: 'deployments',
177
+ });
178
+ /**
179
+ * API resource information for ReplicaSet.
180
+ */
181
+ static REPLICA_SETS = new ApiResource({
182
+ apiGroup: 'apps',
183
+ resourceType: 'replicasets',
184
+ });
185
+ /**
186
+ * API resource information for StatefulSet.
187
+ */
188
+ static STATEFUL_SETS = new ApiResource({
189
+ apiGroup: 'apps',
190
+ resourceType: 'statefulsets',
191
+ });
192
+ /**
193
+ * API resource information for TokenReview.
194
+ */
195
+ static TOKEN_REVIEWS = new ApiResource({
196
+ apiGroup: 'authentication.k8s.io',
197
+ resourceType: 'tokenreviews',
198
+ });
199
+ /**
200
+ * API resource information for LocalSubjectAccessReview.
201
+ */
202
+ static LOCAL_SUBJECT_ACCESS_REVIEWS = new ApiResource({
203
+ apiGroup: 'authorization.k8s.io',
204
+ resourceType: 'localsubjectaccessreviews',
205
+ });
206
+ /**
207
+ * API resource information for SelfSubjectAccessReview.
208
+ */
209
+ static SELF_SUBJECT_ACCESS_REVIEWS = new ApiResource({
210
+ apiGroup: 'authorization.k8s.io',
211
+ resourceType: 'selfsubjectaccessreviews',
212
+ });
213
+ /**
214
+ * API resource information for SelfSubjectRulesReview.
215
+ */
216
+ static SELF_SUBJECT_RULES_REVIEWS = new ApiResource({
217
+ apiGroup: 'authorization.k8s.io',
218
+ resourceType: 'selfsubjectrulesreviews',
219
+ });
220
+ /**
221
+ * API resource information for SubjectAccessReview.
222
+ */
223
+ static SUBJECT_ACCESS_REVIEWS = new ApiResource({
224
+ apiGroup: 'authorization.k8s.io',
225
+ resourceType: 'subjectaccessreviews',
226
+ });
227
+ /**
228
+ * API resource information for HorizontalPodAutoscaler.
229
+ */
230
+ static HORIZONTAL_POD_AUTOSCALERS = new ApiResource({
231
+ apiGroup: 'autoscaling',
232
+ resourceType: 'horizontalpodautoscalers',
233
+ });
234
+ /**
235
+ * API resource information for CronJob.
236
+ */
237
+ static CRON_JOBS = new ApiResource({
238
+ apiGroup: 'batch',
239
+ resourceType: 'cronjobs',
240
+ });
241
+ /**
242
+ * API resource information for Job.
243
+ */
244
+ static JOBS = new ApiResource({
245
+ apiGroup: 'batch',
246
+ resourceType: 'jobs',
247
+ });
248
+ /**
249
+ * API resource information for CertificateSigningRequest.
250
+ */
251
+ static CERTIFICATE_SIGNING_REQUESTS = new ApiResource({
252
+ apiGroup: 'certificates.k8s.io',
253
+ resourceType: 'certificatesigningrequests',
254
+ });
255
+ /**
256
+ * API resource information for Lease.
257
+ */
258
+ static LEASES = new ApiResource({
259
+ apiGroup: 'coordination.k8s.io',
260
+ resourceType: 'leases',
261
+ });
262
+ /**
263
+ * API resource information for EndpointSlice.
264
+ */
265
+ static ENDPOINT_SLICES = new ApiResource({
266
+ apiGroup: 'discovery.k8s.io',
267
+ resourceType: 'endpointslices',
268
+ });
269
+ /**
270
+ * API resource information for FlowSchema.
271
+ */
272
+ static FLOW_SCHEMAS = new ApiResource({
273
+ apiGroup: 'flowcontrol.apiserver.k8s.io',
274
+ resourceType: 'flowschemas',
275
+ });
276
+ /**
277
+ * API resource information for PriorityLevelConfiguration.
278
+ */
279
+ static PRIORITY_LEVEL_CONFIGURATIONS = new ApiResource({
280
+ apiGroup: 'flowcontrol.apiserver.k8s.io',
281
+ resourceType: 'prioritylevelconfigurations',
282
+ });
283
+ /**
284
+ * API resource information for IngressClass.
285
+ */
286
+ static INGRESS_CLASSES = new ApiResource({
287
+ apiGroup: 'networking.k8s.io',
288
+ resourceType: 'ingressclasses',
289
+ });
290
+ /**
291
+ * API resource information for Ingress.
292
+ */
293
+ static INGRESSES = new ApiResource({
294
+ apiGroup: 'networking.k8s.io',
295
+ resourceType: 'ingresses',
296
+ });
297
+ /**
298
+ * API resource information for NetworkPolicy.
299
+ */
300
+ static NETWORK_POLICIES = new ApiResource({
301
+ apiGroup: 'networking.k8s.io',
302
+ resourceType: 'networkpolicies',
303
+ });
304
+ /**
305
+ * API resource information for RuntimeClass.
306
+ */
307
+ static RUNTIME_CLASSES = new ApiResource({
308
+ apiGroup: 'node.k8s.io',
309
+ resourceType: 'runtimeclasses',
310
+ });
311
+ /**
312
+ * API resource information for PodDisruptionBudget.
313
+ */
314
+ static POD_DISRUPTION_BUDGETS = new ApiResource({
315
+ apiGroup: 'policy',
316
+ resourceType: 'poddisruptionbudgets',
317
+ });
318
+ /**
319
+ * API resource information for ClusterRoleBinding.
320
+ */
321
+ static CLUSTER_ROLE_BINDINGS = new ApiResource({
322
+ apiGroup: 'rbac.authorization.k8s.io',
323
+ resourceType: 'clusterrolebindings',
324
+ });
325
+ /**
326
+ * API resource information for ClusterRole.
327
+ */
328
+ static CLUSTER_ROLES = new ApiResource({
329
+ apiGroup: 'rbac.authorization.k8s.io',
330
+ resourceType: 'clusterroles',
331
+ });
332
+ /**
333
+ * API resource information for RoleBinding.
334
+ */
335
+ static ROLE_BINDINGS = new ApiResource({
336
+ apiGroup: 'rbac.authorization.k8s.io',
337
+ resourceType: 'rolebindings',
338
+ });
339
+ /**
340
+ * API resource information for Role.
341
+ */
342
+ static ROLES = new ApiResource({
343
+ apiGroup: 'rbac.authorization.k8s.io',
344
+ resourceType: 'roles',
345
+ });
346
+ /**
347
+ * API resource information for PriorityClass.
348
+ */
349
+ static PRIORITY_CLASSES = new ApiResource({
350
+ apiGroup: 'scheduling.k8s.io',
351
+ resourceType: 'priorityclasses',
352
+ });
353
+ /**
354
+ * API resource information for CSIDriver.
355
+ */
356
+ static CSI_DRIVERS = new ApiResource({
357
+ apiGroup: 'storage.k8s.io',
358
+ resourceType: 'csidrivers',
359
+ });
360
+ /**
361
+ * API resource information for CSINode.
362
+ */
363
+ static CSI_NODES = new ApiResource({
364
+ apiGroup: 'storage.k8s.io',
365
+ resourceType: 'csinodes',
366
+ });
367
+ /**
368
+ * API resource information for CSIStorageCapacity.
369
+ */
370
+ static CSI_STORAGE_CAPACITIES = new ApiResource({
371
+ apiGroup: 'storage.k8s.io',
372
+ resourceType: 'csistoragecapacities',
373
+ });
374
+ /**
375
+ * API resource information for StorageClass.
376
+ */
377
+ static STORAGE_CLASSES = new ApiResource({
378
+ apiGroup: 'storage.k8s.io',
379
+ resourceType: 'storageclasses',
380
+ });
381
+ /**
382
+ * API resource information for VolumeAttachment.
383
+ */
384
+ static VOLUME_ATTACHMENTS = new ApiResource({
385
+ apiGroup: 'storage.k8s.io',
386
+ resourceType: 'volumeattachments',
387
+ });
388
+ /**
389
+ * API resource information for a custom resource type.
390
+ */
391
+ static custom(options) {
392
+ return new ApiResource(options);
393
+ }
394
+ ;
395
+ /**
396
+ * The group portion of the API version (e.g. `authorization.k8s.io`).
397
+ */
398
+ apiGroup;
399
+ /**
400
+ * The name of the resource type as it appears in the relevant API endpoint.
401
+ * @example - "pods" or "pods/log"
402
+ * @see https://kubernetes.io/docs/reference/access-authn-authz/rbac/#referring-to-resources
403
+ */
404
+ resourceType;
405
+ constructor(options) {
406
+ this.apiGroup = options.apiGroup;
407
+ this.resourceType = options.resourceType;
408
+ }
409
+ asApiResource() {
410
+ return this;
411
+ }
412
+ asNonApiResource() {
413
+ return undefined;
414
+ }
415
+ }
416
+ exports.ApiResource = ApiResource;
417
+ /**
418
+ * Factory for creating non api resources.
419
+ */
420
+ class NonApiResource {
421
+ nonResourceUrl;
422
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.NonApiResource", version: "2.0.0" };
423
+ static of(url) {
424
+ return new NonApiResource(url);
425
+ }
426
+ constructor(nonResourceUrl) {
427
+ this.nonResourceUrl = nonResourceUrl;
428
+ }
429
+ ;
430
+ asApiResource() {
431
+ return undefined;
432
+ }
433
+ asNonApiResource() {
434
+ return this.nonResourceUrl;
435
+ }
436
+ }
437
+ exports.NonApiResource = NonApiResource;
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS1yZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBMERBOztHQUVHO0FBQ0gsTUFBYSxXQUFXOztJQUN0Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDaEQsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsVUFBVTtLQUN6QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUMxRCxRQUFRLEVBQUUsRUFBRTtRQUNaLFlBQVksRUFBRSxtQkFBbUI7S0FDbEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ25ELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFdBQVc7S0FDMUIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzlDLFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFFBQVE7S0FDdkIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3BELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLGFBQWE7S0FDNUIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsVUFBVSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2xELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzdDLFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLE9BQU87S0FDdEIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsd0JBQXdCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDaEUsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsd0JBQXdCO0tBQ3ZDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLGtCQUFrQixHQUFHLElBQUksV0FBVyxDQUFDO1FBQzFELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLG1CQUFtQjtLQUNsQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDNUMsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsTUFBTTtLQUNyQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDckQsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSx1QkFBdUIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUMvRCxRQUFRLEVBQUUsRUFBRTtRQUNaLFlBQVksRUFBRSx3QkFBd0I7S0FDdkMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLGdCQUFnQjtLQUMvQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDL0MsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsU0FBUztLQUN4QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUN4RCxRQUFRLEVBQUUsRUFBRTtRQUNaLFlBQVksRUFBRSxpQkFBaUI7S0FDaEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsUUFBUSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2hELFFBQVEsRUFBRSxFQUFFO1FBQ1osWUFBWSxFQUFFLFVBQVU7S0FDekIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsK0JBQStCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDdkUsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxZQUFZLEVBQUUsK0JBQStCO0tBQzlDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLGlDQUFpQyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3pFLFFBQVEsRUFBRSw4QkFBOEI7UUFDeEMsWUFBWSxFQUFFLGlDQUFpQztLQUNoRCxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSwyQkFBMkIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNuRSxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFlBQVksRUFBRSwyQkFBMkI7S0FDMUMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsWUFBWSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3BELFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsWUFBWSxFQUFFLGFBQWE7S0FDNUIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsb0JBQW9CLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDNUQsUUFBUSxFQUFFLE1BQU07UUFDaEIsWUFBWSxFQUFFLHFCQUFxQjtLQUNwQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDbkQsUUFBUSxFQUFFLE1BQU07UUFDaEIsWUFBWSxFQUFFLFlBQVk7S0FDM0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ25ELFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFlBQVksRUFBRSxhQUFhO0tBQzVCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNwRCxRQUFRLEVBQUUsTUFBTTtRQUNoQixZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxhQUFhLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDckQsUUFBUSxFQUFFLE1BQU07UUFDaEIsWUFBWSxFQUFFLGNBQWM7S0FDN0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3JELFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsWUFBWSxFQUFFLGNBQWM7S0FDN0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsNEJBQTRCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDcEUsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxZQUFZLEVBQUUsMkJBQTJCO0tBQzFDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLDJCQUEyQixHQUFHLElBQUksV0FBVyxDQUFDO1FBQ25FLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsWUFBWSxFQUFFLDBCQUEwQjtLQUN6QyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSwwQkFBMEIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNsRSxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFlBQVksRUFBRSx5QkFBeUI7S0FDeEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsc0JBQXNCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDOUQsUUFBUSxFQUFFLHNCQUFzQjtRQUNoQyxZQUFZLEVBQUUsc0JBQXNCO0tBQ3JDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLDBCQUEwQixHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2xFLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFlBQVksRUFBRSwwQkFBMEI7S0FDekMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ2pELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFlBQVksRUFBRSxVQUFVO0tBQ3pCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLElBQUksR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUM1QyxRQUFRLEVBQUUsT0FBTztRQUNqQixZQUFZLEVBQUUsTUFBTTtLQUNyQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSw0QkFBNEIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNwRSxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLFlBQVksRUFBRSw0QkFBNEI7S0FDM0MsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzlDLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsWUFBWSxFQUFFLFFBQVE7S0FDdkIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsWUFBWSxFQUFFLGdCQUFnQjtLQUMvQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxZQUFZLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDcEQsUUFBUSxFQUFFLDhCQUE4QjtRQUN4QyxZQUFZLEVBQUUsYUFBYTtLQUM1QixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSw2QkFBNkIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNyRSxRQUFRLEVBQUUsOEJBQThCO1FBQ3hDLFlBQVksRUFBRSw2QkFBNkI7S0FDNUMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsWUFBWSxFQUFFLGdCQUFnQjtLQUMvQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDakQsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixZQUFZLEVBQUUsV0FBVztLQUMxQixDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUN4RCxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFlBQVksRUFBRSxpQkFBaUI7S0FDaEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsZUFBZSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFlBQVksRUFBRSxnQkFBZ0I7S0FDL0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsc0JBQXNCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDOUQsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLHNCQUFzQjtLQUNyQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxxQkFBcUIsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUM3RCxRQUFRLEVBQUUsMkJBQTJCO1FBQ3JDLFlBQVksRUFBRSxxQkFBcUI7S0FDcEMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3JELFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsWUFBWSxFQUFFLGNBQWM7S0FDN0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsYUFBYSxHQUFHLElBQUksV0FBVyxDQUFDO1FBQ3JELFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsWUFBWSxFQUFFLGNBQWM7S0FDN0IsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzdDLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsWUFBWSxFQUFFLE9BQU87S0FDdEIsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDeEQsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixZQUFZLEVBQUUsaUJBQWlCO0tBQ2hDLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNuRCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFlBQVksRUFBRSxZQUFZO0tBQzNCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUNqRCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFlBQVksRUFBRSxVQUFVO0tBQ3pCLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLHNCQUFzQixHQUFHLElBQUksV0FBVyxDQUFDO1FBQzlELFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsWUFBWSxFQUFFLHNCQUFzQjtLQUNyQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxlQUFlLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDdkQsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixZQUFZLEVBQUUsZ0JBQWdCO0tBQy9CLENBQUMsQ0FBQztJQUVIOztPQUVHO0lBQ0ksTUFBTSxDQUFVLGtCQUFrQixHQUFHLElBQUksV0FBVyxDQUFDO1FBQzFELFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsWUFBWSxFQUFFLG1CQUFtQjtLQUNsQyxDQUFDLENBQUM7SUFFSDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBMkI7UUFDOUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQUEsQ0FBQztJQUVGOztPQUVHO0lBQ2EsUUFBUSxDQUFTO0lBRWpDOzs7O09BSUc7SUFDYSxZQUFZLENBQVM7SUFFckMsWUFBb0IsT0FBMkI7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7QUEvY0gsa0NBZ2RDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFNWTs7SUFKOUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQXFDLGNBQXNCO1FBQXRCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO0lBQUcsQ0FBQztJQUFBLENBQUM7SUFFekQsYUFBYTtRQUNsQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sZ0JBQWdCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDOztBQWZILHdDQWdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyBhIHJlc291cmNlIG9yIGNvbGxlY3Rpb24gb2YgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcGlSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgZ3JvdXAgcG9ydGlvbiBvZiB0aGUgQVBJIHZlcnNpb24gKGUuZy4gYGF1dGhvcml6YXRpb24uazhzLmlvYCkuXG4gICAqL1xuICByZWFkb25seSBhcGlHcm91cDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBhIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUsIG5hbWVzcGFjZS1nbG9iYWwsIG5hbWUgb2YgYW4gb2JqZWN0IGluc2lkZSB0aGUgS3ViZXJuZXRlcyBjbHVzdGVyLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIG9taXR0ZWQsIHRoZSBBcGlSZXNvdXJjZSBzaG91bGQgcmVwcmVzZW50IGFsbCBvYmplY3RzIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VOYW1lPzogc3RyaW5nO1xufVxuLyoqXG4gKiBBbiBBUEkgRW5kcG9pbnQgY2FuIGVpdGhlciBiZSBhIHJlc291cmNlIGRlc2NyaXB0b3IgKGUuZyAvcG9kcylcbiAqIG9yIGEgbm9uIHJlc291cmNlIHVybCAoZS5nIC9oZWFsdGh6KS4gSXQgbXVzdCBiZSBvbmUgb3IgdGhlIG90aGVyLCBhbmQgbm90IGJvdGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaUVuZHBvaW50IHtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBJQXBpUmVzb3VyY2UgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG5vbiByZXNvdXJjZSB1cmwgdGhpcyBvYmplY3QgcmVwcmVzZW50cy5cbiAgICovXG4gIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEFwaVJlc291cmNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXNvdXJjZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpR3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlIHR5cGUgYXMgaXQgYXBwZWFycyBpbiB0aGUgcmVsZXZhbnQgQVBJIGVuZHBvaW50LlxuICAgKiBAZXhhbXBsZSAtIFwicG9kc1wiIG9yIFwicG9kcy9sb2dcIlxuICAgKiBAc2VlIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL3JlZmVyZW5jZS9hY2Nlc3MtYXV0aG4tYXV0aHovcmJhYy8jcmVmZXJyaW5nLXRvLXJlc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBpbmZvcm1hdGlvbiBhYm91dCBhbiBBUEkgcmVzb3VyY2UgdHlwZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaVJlc291cmNlIGltcGxlbWVudHMgSUFwaVJlc291cmNlLCBJQXBpRW5kcG9pbnQge1xuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBCSU5ESU5HUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ2JpbmRpbmdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29tcG9uZW50U3RhdHVzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT01QT05FTlRfU1RBVFVTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb21wb25lbnRzdGF0dXNlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENvbmZpZ01hcC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09ORklHX01BUFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb25maWdtYXBzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFTkRQT0lOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdlbmRwb2ludHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBFdmVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRVZFTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZXZlbnRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTGltaXRSYW5nZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTElNSVRfUkFOR0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGltaXRyYW5nZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBOYW1lc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5BTUVTUEFDRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICduYW1lc3BhY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTm9kZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9ERVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdub2RlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWVDbGFpbS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEVSU0lTVEVOVF9WT0xVTUVfQ0xBSU1TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncGVyc2lzdGVudHZvbHVtZWNsYWltcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBlcnNpc3RlbnRWb2x1bWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBFUlNJU1RFTlRfVk9MVU1FUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3BlcnNpc3RlbnR2b2x1bWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFBvZFRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQT0RfVEVNUExBVEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAncG9kdGVtcGxhdGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUmVwbGljYXRpb25Db250cm9sbGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBVElPTl9DT05UUk9MTEVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3JlcGxpY2F0aW9uY29udHJvbGxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXNvdXJjZVF1b3RhLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9RVU9UQVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnJyxcbiAgICByZXNvdXJjZVR5cGU6ICdyZXNvdXJjZXF1b3RhcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlY3JldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VDUkVUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlY3JldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTZXJ2aWNlQWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9BQ0NPVU5UUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICcnLFxuICAgIHJlc291cmNlVHlwZTogJ3NlcnZpY2VhY2NvdW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJycsXG4gICAgcmVzb3VyY2VUeXBlOiAnc2VydmljZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNVVRBVElOR19XRUJIT09LX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ211dGF0aW5nd2ViaG9va2NvbmZpZ3VyYXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWQUxJREFUSU5HX1dFQkhPT0tfQ09ORklHVVJBVElPTlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAndmFsaWRhdGluZ3dlYmhvb2tjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX1JFU09VUkNFX0RFRklOSVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaWV4dGVuc2lvbnMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjdXN0b21yZXNvdXJjZWRlZmluaXRpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQVBJU2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQVBJX1NFUlZJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2FwaXJlZ2lzdHJhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2FwaXNlcnZpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ29udHJvbGxlclJldmlzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05UUk9MTEVSX1JFVklTSU9OUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjb250cm9sbGVycmV2aXNpb25zJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGFlbW9uU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBEQUVNT05fU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdkYWVtb25zZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRGVwbG95bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVQTE9ZTUVOVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAnZGVwbG95bWVudHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBSZXBsaWNhU2V0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRVBMSUNBX1NFVFMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXBwcycsXG4gICAgcmVzb3VyY2VUeXBlOiAncmVwbGljYXNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBTdGF0ZWZ1bFNldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RBVEVGVUxfU0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhcHBzJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzdGF0ZWZ1bHNldHMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBUb2tlblJldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVE9LRU5fUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRoZW50aWNhdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3Rva2VucmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExvY2FsU3ViamVjdEFjY2Vzc1Jldmlldy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTE9DQUxfU1VCSkVDVF9BQ0NFU1NfUkVWSUVXUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdhdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbG9jYWxzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRUxGX1NVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3NlbGZzdWJqZWN0YWNjZXNzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFNlbGZTdWJqZWN0UnVsZXNSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFTEZfU1VCSkVDVF9SVUxFU19SRVZJRVdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dGhvcml6YXRpb24uazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdzZWxmc3ViamVjdHJ1bGVzcmV2aWV3cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFN1YmplY3RBY2Nlc3NSZXZpZXcuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNVQkpFQ1RfQUNDRVNTX1JFVklFV1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N1YmplY3RhY2Nlc3NyZXZpZXdzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhPUklaT05UQUxfUE9EX0FVVE9TQ0FMRVJTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2F1dG9zY2FsaW5nJyxcbiAgICByZXNvdXJjZVR5cGU6ICdob3Jpem9udGFscG9kYXV0b3NjYWxlcnMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDcm9uSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDUk9OX0pPQlMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnYmF0Y2gnLFxuICAgIHJlc291cmNlVHlwZTogJ2Nyb25qb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgSm9iLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBKT0JTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2JhdGNoJyxcbiAgICByZXNvdXJjZVR5cGU6ICdqb2JzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0VSVElGSUNBVEVfU0lHTklOR19SRVFVRVNUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdjZXJ0aWZpY2F0ZXMuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdjZXJ0aWZpY2F0ZXNpZ25pbmdyZXF1ZXN0cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIExlYXNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMRUFTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnY29vcmRpbmF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbGVhc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRW5kcG9pbnRTbGljZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRU5EUE9JTlRfU0xJQ0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Rpc2NvdmVyeS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2VuZHBvaW50c2xpY2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgRmxvd1NjaGVtYS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRkxPV19TQ0hFTUFTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2Zsb3dzY2hlbWFzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlMZXZlbENvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBSSU9SSVRZX0xFVkVMX0NPTkZJR1VSQVRJT05TID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ2Zsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3ByaW9yaXR5bGV2ZWxjb25maWd1cmF0aW9ucycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3NDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5HUkVTU19DTEFTU0VTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ25ldHdvcmtpbmcuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICdpbmdyZXNzY2xhc3NlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIEluZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOR1JFU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnaW5ncmVzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgTmV0d29ya1BvbGljeS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTkVUV09SS19QT0xJQ0lFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICduZXR3b3JraW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnbmV0d29ya3BvbGljaWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUnVudGltZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSVU5USU1FX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnbm9kZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3J1bnRpbWVjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUG9kRGlzcnVwdGlvbkJ1ZGdldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUE9EX0RJU1JVUFRJT05fQlVER0VUUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdwb2xpY3knLFxuICAgIHJlc291cmNlVHlwZTogJ3BvZGRpc3J1cHRpb25idWRnZXRzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ2x1c3RlclJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVfQklORElOR1MgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAncmJhYy5hdXRob3JpemF0aW9uLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY2x1c3RlcnJvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENsdXN0ZXJSb2xlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDTFVTVEVSX1JPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NsdXN0ZXJyb2xlcycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGVCaW5kaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBST0xFX0JJTkRJTkdTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGViaW5kaW5ncycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIFJvbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJPTEVTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3JiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3JvbGVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgUHJpb3JpdHlDbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJJT1JJVFlfQ0xBU1NFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzY2hlZHVsaW5nLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAncHJpb3JpdHljbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgQ1NJRHJpdmVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDU0lfRFJJVkVSUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3NpZHJpdmVycycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIENTSU5vZGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9OT0RFUyA9IG5ldyBBcGlSZXNvdXJjZSh7XG4gICAgYXBpR3JvdXA6ICdzdG9yYWdlLms4cy5pbycsXG4gICAgcmVzb3VyY2VUeXBlOiAnY3Npbm9kZXMnLFxuICB9KTtcblxuICAvKipcbiAgICogQVBJIHJlc291cmNlIGluZm9ybWF0aW9uIGZvciBDU0lTdG9yYWdlQ2FwYWNpdHkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENTSV9TVE9SQUdFX0NBUEFDSVRJRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ2NzaXN0b3JhZ2VjYXBhY2l0aWVzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgU3RvcmFnZUNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTVE9SQUdFX0NMQVNTRVMgPSBuZXcgQXBpUmVzb3VyY2Uoe1xuICAgIGFwaUdyb3VwOiAnc3RvcmFnZS5rOHMuaW8nLFxuICAgIHJlc291cmNlVHlwZTogJ3N0b3JhZ2VjbGFzc2VzJyxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFQSSByZXNvdXJjZSBpbmZvcm1hdGlvbiBmb3IgVm9sdW1lQXR0YWNobWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0FUVEFDSE1FTlRTID0gbmV3IEFwaVJlc291cmNlKHtcbiAgICBhcGlHcm91cDogJ3N0b3JhZ2UuazhzLmlvJyxcbiAgICByZXNvdXJjZVR5cGU6ICd2b2x1bWVhdHRhY2htZW50cycsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBBUEkgcmVzb3VyY2UgaW5mb3JtYXRpb24gZm9yIGEgY3VzdG9tIHJlc291cmNlIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGN1c3RvbShvcHRpb25zOiBBcGlSZXNvdXJjZU9wdGlvbnMpOiBBcGlSZXNvdXJjZSB7XG4gICAgcmV0dXJuIG5ldyBBcGlSZXNvdXJjZShvcHRpb25zKTtcbiAgfTtcblxuICAvKipcbiAgICogVGhlIGdyb3VwIHBvcnRpb24gb2YgdGhlIEFQSSB2ZXJzaW9uIChlLmcuIGBhdXRob3JpemF0aW9uLms4cy5pb2ApLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwaUdyb3VwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSB0eXBlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIHJlbGV2YW50IEFQSSBlbmRwb2ludC5cbiAgICogQGV4YW1wbGUgLSBcInBvZHNcIiBvciBcInBvZHMvbG9nXCJcbiAgICogQHNlZSBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvYWNjZXNzLWF1dGhuLWF1dGh6L3JiYWMvI3JlZmVycmluZy10by1yZXNvdXJjZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFwaVJlc291cmNlT3B0aW9ucykge1xuICAgIHRoaXMuYXBpR3JvdXAgPSBvcHRpb25zLmFwaUdyb3VwO1xuICAgIHRoaXMucmVzb3VyY2VUeXBlID0gb3B0aW9ucy5yZXNvdXJjZVR5cGU7XG4gIH1cblxuICBwdWJsaWMgYXNBcGlSZXNvdXJjZSgpOiBJQXBpUmVzb3VyY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBmb3IgY3JlYXRpbmcgbm9uIGFwaSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb25BcGlSZXNvdXJjZSBpbXBsZW1lbnRzIElBcGlFbmRwb2ludCB7XG5cbiAgcHVibGljIHN0YXRpYyBvZih1cmw6IHN0cmluZyk6IE5vbkFwaVJlc291cmNlIHtcbiAgICByZXR1cm4gbmV3IE5vbkFwaVJlc291cmNlKHVybCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbm9uUmVzb3VyY2VVcmw6IHN0cmluZykge307XG5cbiAgcHVibGljIGFzQXBpUmVzb3VyY2UoKTogSUFwaVJlc291cmNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGFzTm9uQXBpUmVzb3VyY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICAgIHJldHVybiB0aGlzLm5vblJlc291cmNlVXJsO1xuICB9XG59Il19
package/lib/base.d.ts ADDED
@@ -0,0 +1,79 @@
1
+ import { ApiObjectMetadata, ApiObject, ApiObjectMetadataDefinition } from 'cdk8s';
2
+ import { Construct, IConstruct } from 'constructs';
3
+ import { IApiResource, IApiEndpoint } from './api-resource';
4
+ /**
5
+ * Initialization properties for resources.
6
+ */
7
+ export interface ResourceProps {
8
+ /**
9
+ * Metadata that all persisted resources must have, which includes all objects
10
+ * users must create.
11
+ */
12
+ readonly metadata?: ApiObjectMetadata;
13
+ }
14
+ /**
15
+ * Represents a resource.
16
+ */
17
+ export interface IResource extends IConstruct, IApiResource {
18
+ /**
19
+ * The Kubernetes name of this resource.
20
+ */
21
+ readonly name: string;
22
+ /**
23
+ * The object's API version (e.g. "authorization.k8s.io/v1")
24
+ */
25
+ readonly apiVersion: string;
26
+ /**
27
+ * The object kind (e.g. "Deployment").
28
+ */
29
+ readonly kind: string;
30
+ }
31
+ /**
32
+ * Base class for all Kubernetes objects in stdk8s. Represents a single
33
+ * resource.
34
+ */
35
+ export declare abstract class Resource extends Construct implements IResource, IApiResource, IApiEndpoint {
36
+ /**
37
+ * The underlying cdk8s API object.
38
+ */
39
+ protected abstract readonly apiObject: ApiObject;
40
+ abstract readonly resourceType: string;
41
+ readonly permissions: ResourcePermissions;
42
+ constructor(scope: Construct, id: string);
43
+ get metadata(): ApiObjectMetadataDefinition;
44
+ /**
45
+ * The name of this API object.
46
+ */
47
+ get name(): string;
48
+ /**
49
+ * The object's API version (e.g. "authorization.k8s.io/v1")
50
+ */
51
+ get apiVersion(): string;
52
+ /**
53
+ * The group portion of the API version (e.g. "authorization.k8s.io").
54
+ */
55
+ get apiGroup(): string;
56
+ /**
57
+ * The object kind (e.g. "Deployment").
58
+ */
59
+ get kind(): string;
60
+ get resourceName(): string | undefined;
61
+ asApiResource(): IApiResource | undefined;
62
+ asNonApiResource(): string | undefined;
63
+ }
64
+ /**
65
+ * Controls permissions for operations on resources.
66
+ */
67
+ export declare class ResourcePermissions {
68
+ protected readonly instance: Resource;
69
+ constructor(instance: Resource);
70
+ /**
71
+ * Grants the list of subjects permissions to read this resource.
72
+ */
73
+ grantRead(...subjects: rb.ISubject[]): rb.RoleBinding;
74
+ /**
75
+ * Grants the list of subjects permissions to read and write this resource.
76
+ */
77
+ grantReadWrite(...subjects: rb.ISubject[]): rb.RoleBinding;
78
+ }
79
+ import * as rb from './role-binding';