@alauda-fe/common 1.4.28-beta.0 → 1.4.28-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/code/code-editor-configs.d.ts +2 -0
- package/code/managed-fields-folder.util.d.ts +35 -0
- package/code/public-api.d.ts +4 -0
- package/code/resource-yaml-display/component.d.ts +64 -6
- package/code/resource-yaml-display/schema/component.d.ts +61 -0
- package/code/resource-yaml-editor/component.d.ts +95 -0
- package/code/yaml-examples.d.ts +8 -0
- package/code/yaml-sidebar/component.d.ts +57 -0
- package/code/yaml-sidebar/types.d.ts +21 -0
- package/code/yaml-sidebar/yaml-examples.d.ts +8 -0
- package/core/directives/scroll-to-first-invalid.directive.d.ts +1 -1
- package/core/services/kubernetes-schema.service.d.ts +44 -0
- package/core/services/public-api.d.ts +1 -0
- package/core/types/openapi.d.ts +37 -0
- package/core/types/public-api.d.ts +1 -0
- package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
- package/esm2022/array-form-table/form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
- package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
- package/esm2022/async-data/error-page/component.mjs +1 -1
- package/esm2022/async-data/page-state/component.mjs +1 -1
- package/esm2022/business/notification-disabled-container/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/icon/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +1 -1
- package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/chart/chart.component.mjs +1 -1
- package/esm2022/chart/common/legend/legend.component.mjs +1 -1
- package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
- package/esm2022/chart/common/series/area-series.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
- package/esm2022/chart/common/series/line-series.component.mjs +1 -1
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
- package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +1 -1
- package/esm2022/code/code-editor-configs.mjs +12 -2
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
- package/esm2022/code/managed-fields-folder.util.mjs +136 -0
- package/esm2022/code/public-api.mjs +5 -1
- package/esm2022/code/resource-yaml-display/component.mjs +254 -43
- package/esm2022/code/resource-yaml-display/schema/component.mjs +531 -0
- package/esm2022/code/resource-yaml-editor/component.mjs +387 -0
- package/esm2022/code/yaml-examples.mjs +337 -0
- package/esm2022/code/yaml-sidebar/component.mjs +482 -0
- package/esm2022/code/yaml-sidebar/types.mjs +2 -0
- package/esm2022/code/yaml-sidebar/yaml-examples.mjs +340 -0
- package/esm2022/core/components/tree/node/component.mjs +1 -1
- package/esm2022/core/components/tree/tree/component.mjs +1 -1
- package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
- package/esm2022/core/services/kubernetes-schema.service.mjs +129 -0
- package/esm2022/core/services/public-api.mjs +2 -1
- package/esm2022/core/services/workspace-helper.service.mjs +4 -3
- package/esm2022/core/types/openapi.mjs +2 -0
- package/esm2022/core/types/public-api.mjs +2 -1
- package/esm2022/custom-columns-setting/component.mjs +1 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
- package/esm2022/editable/editable.component.mjs +1 -1
- package/esm2022/editable-text/component.mjs +1 -1
- package/esm2022/exec/placeholder/component.mjs +1 -1
- package/esm2022/exec/terminal/component.mjs +1 -1
- package/esm2022/exec/terminal-group/component.mjs +1 -1
- package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
- package/esm2022/form/labels-editor/component.mjs +1 -1
- package/esm2022/form/taints-editor/component.mjs +1 -1
- package/esm2022/form/upload-file/component.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
- package/esm2022/grid-layout/components/grid/component.mjs +1 -1
- package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
- package/esm2022/help-document/component.mjs +1 -1
- package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
- package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +1 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
- package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
- package/esm2022/license/license-error/component.mjs +1 -1
- package/esm2022/list-display/component.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
- package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +1 -1
- package/esm2022/multi-search/form/component.mjs +1 -1
- package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
- package/esm2022/notification/feedback-notification/component.mjs +1 -1
- package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
- package/esm2022/page-guard/component/component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
- package/esm2022/page-scaffold/page/page.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
- package/esm2022/pod-status/component.mjs +1 -1
- package/esm2022/searchable-selector/component.mjs +1 -1
- package/esm2022/skeleton/item/component.mjs +1 -1
- package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
- package/esm2022/table/component.mjs +1 -1
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-chart/legend/legend.component.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +1 -1
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
- package/esm2022/widget/card-section/card-section.component.mjs +1 -1
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
- package/esm2022/widget/current-time/component.mjs +1 -1
- package/esm2022/widget/date-range-picker/component.mjs +1 -1
- package/esm2022/widget/field-set/column/component.mjs +2 -2
- package/esm2022/widget/field-set/group/component.mjs +1 -1
- package/esm2022/widget/field-set/item/component.mjs +1 -1
- package/esm2022/widget/foldable-block/component.mjs +1 -1
- package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
- package/esm2022/widget/password-input/component.mjs +1 -1
- package/esm2022/widget/relative-time/component.mjs +1 -1
- package/esm2022/widget/resource-label/component.mjs +1 -1
- package/esm2022/widget/resource-multi-select/component.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +1 -1
- package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/esm2022/widget/tags-label/component.mjs +1 -1
- package/esm2022/widget/terminating-tag/component.mjs +1 -1
- package/esm2022/widget/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +1 -1
- package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
- package/esm2022/workload-status-icon/component.mjs +1 -1
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
- package/esm2022/xterm/xterm.component.mjs +1 -1
- package/package.json +2 -2
- package/styles/global.scss +4 -0
- package/table/component.d.ts +1 -1
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kubernetes 资源的内置 YAML 示例
|
|
3
|
+
* 按照 apiVersion.kind 的格式组织
|
|
4
|
+
*/
|
|
5
|
+
export const BUILT_IN_YAML_EXAMPLES = {
|
|
6
|
+
'apps/v1.Deployment': [
|
|
7
|
+
{
|
|
8
|
+
title: 'Basic Deployment',
|
|
9
|
+
description: 'A basic deployment example with nginx container',
|
|
10
|
+
yaml: `apiVersion: apps/v1
|
|
11
|
+
kind: Deployment
|
|
12
|
+
metadata:
|
|
13
|
+
name: example
|
|
14
|
+
spec:
|
|
15
|
+
selector:
|
|
16
|
+
matchLabels:
|
|
17
|
+
app: httpd
|
|
18
|
+
replicas: 3
|
|
19
|
+
template:
|
|
20
|
+
metadata:
|
|
21
|
+
labels:
|
|
22
|
+
app: httpd
|
|
23
|
+
spec:
|
|
24
|
+
containers:
|
|
25
|
+
- name: httpd
|
|
26
|
+
image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
|
|
27
|
+
ports:
|
|
28
|
+
- containerPort: 8080`,
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
'v1.ConfigMap': [
|
|
32
|
+
{
|
|
33
|
+
title: 'Basic ConfigMap',
|
|
34
|
+
description: 'A basic ConfigMap example with properties and file data',
|
|
35
|
+
yaml: `apiVersion: v1
|
|
36
|
+
kind: ConfigMap
|
|
37
|
+
metadata:
|
|
38
|
+
name: example
|
|
39
|
+
namespace: default
|
|
40
|
+
data:
|
|
41
|
+
example.property.1: hello
|
|
42
|
+
example.property.2: world
|
|
43
|
+
example.property.file: |-
|
|
44
|
+
property.1=value-1
|
|
45
|
+
property.2=value-2
|
|
46
|
+
property.3=value-3`,
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
'batch/v1.CronJob': [
|
|
50
|
+
{
|
|
51
|
+
title: 'Basic CronJob',
|
|
52
|
+
description: 'A basic CronJob example that runs daily',
|
|
53
|
+
yaml: `apiVersion: batch/v1
|
|
54
|
+
kind: CronJob
|
|
55
|
+
metadata:
|
|
56
|
+
name: example
|
|
57
|
+
spec:
|
|
58
|
+
schedule: "@daily"
|
|
59
|
+
jobTemplate:
|
|
60
|
+
spec:
|
|
61
|
+
template:
|
|
62
|
+
spec:
|
|
63
|
+
containers:
|
|
64
|
+
- name: hello
|
|
65
|
+
image: busybox
|
|
66
|
+
args:
|
|
67
|
+
- /bin/sh
|
|
68
|
+
- -c
|
|
69
|
+
- date; echo Hello from the Kubernetes cluster
|
|
70
|
+
restartPolicy: OnFailure`,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
'v1.PersistentVolume': [
|
|
74
|
+
{
|
|
75
|
+
title: 'Basic PersistentVolume',
|
|
76
|
+
description: 'A basic PersistentVolume example with NFS storage',
|
|
77
|
+
yaml: `apiVersion: v1
|
|
78
|
+
kind: PersistentVolume
|
|
79
|
+
metadata:
|
|
80
|
+
name: example
|
|
81
|
+
spec:
|
|
82
|
+
capacity:
|
|
83
|
+
storage: 5Gi
|
|
84
|
+
accessModes:
|
|
85
|
+
- ReadWriteOnce
|
|
86
|
+
persistentVolumeReclaimPolicy: Retain
|
|
87
|
+
storageClassName: slow
|
|
88
|
+
nfs:
|
|
89
|
+
path: /tmp
|
|
90
|
+
server: 172.17.0.2`,
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
'autoscaling/v2.HorizontalPodAutoscaler': [
|
|
94
|
+
{
|
|
95
|
+
title: 'Basic HorizontalPodAutoscaler',
|
|
96
|
+
description: 'A basic HPA example with CPU utilization target',
|
|
97
|
+
yaml: `apiVersion: autoscaling/v2
|
|
98
|
+
kind: HorizontalPodAutoscaler
|
|
99
|
+
metadata:
|
|
100
|
+
name: example
|
|
101
|
+
spec:
|
|
102
|
+
scaleTargetRef:
|
|
103
|
+
apiVersion: apps/v1
|
|
104
|
+
kind: Deployment
|
|
105
|
+
name: example
|
|
106
|
+
minReplicas: 1
|
|
107
|
+
maxReplicas: 3
|
|
108
|
+
metrics:
|
|
109
|
+
- type: Resource
|
|
110
|
+
resource:
|
|
111
|
+
name: cpu
|
|
112
|
+
target:
|
|
113
|
+
averageUtilization: 50
|
|
114
|
+
type: Utilization`,
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
'apps/v1.DaemonSet': [
|
|
118
|
+
{
|
|
119
|
+
title: 'Basic DaemonSet',
|
|
120
|
+
description: 'A basic DaemonSet example with nginx container',
|
|
121
|
+
yaml: `apiVersion: apps/v1
|
|
122
|
+
kind: DaemonSet
|
|
123
|
+
metadata:
|
|
124
|
+
name: example
|
|
125
|
+
spec:
|
|
126
|
+
selector:
|
|
127
|
+
matchLabels:
|
|
128
|
+
app: httpd
|
|
129
|
+
template:
|
|
130
|
+
metadata:
|
|
131
|
+
labels:
|
|
132
|
+
app: httpd
|
|
133
|
+
spec:
|
|
134
|
+
containers:
|
|
135
|
+
- name: httpd
|
|
136
|
+
image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
|
|
137
|
+
ports:
|
|
138
|
+
- containerPort: 8080`,
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
'v1.PersistentVolumeClaim': [
|
|
142
|
+
{
|
|
143
|
+
title: 'Basic PersistentVolumeClaim',
|
|
144
|
+
description: 'A basic PVC example requesting 1Gi storage',
|
|
145
|
+
yaml: `apiVersion: v1
|
|
146
|
+
kind: PersistentVolumeClaim
|
|
147
|
+
metadata:
|
|
148
|
+
name: example
|
|
149
|
+
spec:
|
|
150
|
+
accessModes:
|
|
151
|
+
- ReadWriteOnce
|
|
152
|
+
volumeMode: Filesystem
|
|
153
|
+
resources:
|
|
154
|
+
requests:
|
|
155
|
+
storage: 1Gi`,
|
|
156
|
+
},
|
|
157
|
+
],
|
|
158
|
+
'v1.ResourceQuota': [
|
|
159
|
+
{
|
|
160
|
+
title: 'Compute ResourceQuota',
|
|
161
|
+
description: 'A ResourceQuota example for compute resources',
|
|
162
|
+
yaml: `apiVersion: v1
|
|
163
|
+
kind: ResourceQuota
|
|
164
|
+
metadata:
|
|
165
|
+
name: compute-quota
|
|
166
|
+
namespace: default
|
|
167
|
+
spec:
|
|
168
|
+
hard:
|
|
169
|
+
requests.cpu: '1'
|
|
170
|
+
requests.memory: 1Gi
|
|
171
|
+
limits.cpu: '2'
|
|
172
|
+
limits.memory: 2Gi`,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
title: 'Storage Class ResourceQuota',
|
|
176
|
+
description: 'A ResourceQuota example for storage class specific quotas',
|
|
177
|
+
yaml: `apiVersion: v1
|
|
178
|
+
kind: ResourceQuota
|
|
179
|
+
metadata:
|
|
180
|
+
name: storage-class-quota
|
|
181
|
+
namespace: default
|
|
182
|
+
spec:
|
|
183
|
+
hard:
|
|
184
|
+
requests.storage: 100Gi
|
|
185
|
+
persistentvolumeclaims: '100'
|
|
186
|
+
# For quota specific to a storage class, the storage class must have the same name
|
|
187
|
+
gold.storage-class.kubernetes.io/requests.storage: 3Gi
|
|
188
|
+
gold.storage-class.kubernetes.io/persistentvolumeclaims: '5'
|
|
189
|
+
silver.storage-class.kubernetes.io/requests.storage: 2Gi
|
|
190
|
+
silver.storage-class.kubernetes.io/persistentvolumeclaims: '3'
|
|
191
|
+
bronze.storage-class.kubernetes.io/requests.storage: 1Gi
|
|
192
|
+
bronze.storage-class.kubernetes.io/persistentvolumeclaims: '1'`,
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
title: 'Object Counts ResourceQuota',
|
|
196
|
+
description: 'A ResourceQuota example for object count limits',
|
|
197
|
+
yaml: `apiVersion: v1
|
|
198
|
+
kind: ResourceQuota
|
|
199
|
+
metadata:
|
|
200
|
+
name: object-counts
|
|
201
|
+
namespace: default
|
|
202
|
+
spec:
|
|
203
|
+
hard:
|
|
204
|
+
configmaps: "10"
|
|
205
|
+
persistentvolumeclaims: "4"
|
|
206
|
+
replicationcontrollers: "20"
|
|
207
|
+
secrets: "10"
|
|
208
|
+
services: "10"
|
|
209
|
+
services.loadbalancers: "2"`,
|
|
210
|
+
},
|
|
211
|
+
],
|
|
212
|
+
'v1.LimitRange': [
|
|
213
|
+
{
|
|
214
|
+
title: 'Memory LimitRange',
|
|
215
|
+
description: 'A LimitRange example for container memory limits',
|
|
216
|
+
yaml: `apiVersion: v1
|
|
217
|
+
kind: LimitRange
|
|
218
|
+
metadata:
|
|
219
|
+
name: mem-limit-range
|
|
220
|
+
spec:
|
|
221
|
+
limits:
|
|
222
|
+
- default:
|
|
223
|
+
memory: 512Mi
|
|
224
|
+
defaultRequest:
|
|
225
|
+
memory: 256Mi
|
|
226
|
+
type: Container`,
|
|
227
|
+
},
|
|
228
|
+
],
|
|
229
|
+
'apps/v1.StatefulSet': [
|
|
230
|
+
{
|
|
231
|
+
title: 'Basic StatefulSet',
|
|
232
|
+
description: 'A basic StatefulSet example with persistent storage',
|
|
233
|
+
yaml: `apiVersion: apps/v1
|
|
234
|
+
kind: StatefulSet
|
|
235
|
+
metadata:
|
|
236
|
+
name: example
|
|
237
|
+
spec:
|
|
238
|
+
serviceName: "httpd"
|
|
239
|
+
replicas: 3
|
|
240
|
+
selector:
|
|
241
|
+
matchLabels:
|
|
242
|
+
app: httpd
|
|
243
|
+
template:
|
|
244
|
+
metadata:
|
|
245
|
+
labels:
|
|
246
|
+
app: httpd
|
|
247
|
+
spec:
|
|
248
|
+
terminationGracePeriodSeconds: 10
|
|
249
|
+
containers:
|
|
250
|
+
- name: httpd
|
|
251
|
+
image: internal-docker-registry.cpaas-system.svc/demo-ns/nginx:alpine
|
|
252
|
+
ports:
|
|
253
|
+
- containerPort: 8080
|
|
254
|
+
name: web
|
|
255
|
+
volumeMounts:
|
|
256
|
+
- name: www
|
|
257
|
+
mountPath: /var/www/html
|
|
258
|
+
volumeClaimTemplates:
|
|
259
|
+
- metadata:
|
|
260
|
+
name: www
|
|
261
|
+
spec:
|
|
262
|
+
accessModes: [ "ReadWriteOnce" ]
|
|
263
|
+
storageClassName: my-storage-class
|
|
264
|
+
resources:
|
|
265
|
+
requests:
|
|
266
|
+
storage: 1Gi`,
|
|
267
|
+
},
|
|
268
|
+
],
|
|
269
|
+
'storage.k8s.io/v1.StorageClass': [
|
|
270
|
+
{
|
|
271
|
+
title: 'Basic StorageClass',
|
|
272
|
+
description: 'A basic StorageClass example',
|
|
273
|
+
yaml: `apiVersion: storage.k8s.io/v1
|
|
274
|
+
kind: StorageClass
|
|
275
|
+
metadata:
|
|
276
|
+
name: example
|
|
277
|
+
provisioner: my-provisioner
|
|
278
|
+
reclaimPolicy: Delete`,
|
|
279
|
+
},
|
|
280
|
+
],
|
|
281
|
+
'v1.Secret': [
|
|
282
|
+
{
|
|
283
|
+
title: 'Basic Secret',
|
|
284
|
+
description: 'A basic Secret example with username and password',
|
|
285
|
+
yaml: `apiVersion: v1
|
|
286
|
+
kind: Secret
|
|
287
|
+
metadata:
|
|
288
|
+
name: example
|
|
289
|
+
type: Opaque
|
|
290
|
+
stringData:
|
|
291
|
+
username: admin
|
|
292
|
+
password: opensesame`,
|
|
293
|
+
},
|
|
294
|
+
],
|
|
295
|
+
'app.k8s.io/v1beta1.Application': [
|
|
296
|
+
{
|
|
297
|
+
title: 'Basic Application',
|
|
298
|
+
description: 'A basic Application example with Deployment and Service',
|
|
299
|
+
yaml: `apiVersion: apps/v1
|
|
300
|
+
kind: Deployment
|
|
301
|
+
metadata:
|
|
302
|
+
labels:
|
|
303
|
+
app: nginx
|
|
304
|
+
name: nginx-deployment
|
|
305
|
+
namespace: yintest-ns1
|
|
306
|
+
spec:
|
|
307
|
+
replicas: 1
|
|
308
|
+
selector:
|
|
309
|
+
matchLabels:
|
|
310
|
+
app: nginx
|
|
311
|
+
template:
|
|
312
|
+
metadata:
|
|
313
|
+
labels:
|
|
314
|
+
app: nginx
|
|
315
|
+
spec:
|
|
316
|
+
containers:
|
|
317
|
+
- image: nginx:1.7.9
|
|
318
|
+
name: nginx
|
|
319
|
+
ports:
|
|
320
|
+
- containerPort: 80
|
|
321
|
+
---
|
|
322
|
+
apiVersion: v1
|
|
323
|
+
kind: Service
|
|
324
|
+
metadata:
|
|
325
|
+
labels:
|
|
326
|
+
app: nginx
|
|
327
|
+
name: nginx
|
|
328
|
+
namespace: yintest-ns1
|
|
329
|
+
spec:
|
|
330
|
+
ports:
|
|
331
|
+
- port: 80
|
|
332
|
+
protocol: TCP
|
|
333
|
+
targetPort: 80
|
|
334
|
+
selector:
|
|
335
|
+
app: nginx
|
|
336
|
+
type: ClusterIP`,
|
|
337
|
+
},
|
|
338
|
+
],
|
|
339
|
+
};
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC1leGFtcGxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb2RlL3lhbWwtc2lkZWJhci95YW1sLWV4YW1wbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFxQztJQUN0RSxvQkFBb0IsRUFBRTtRQUNwQjtZQUNFLEtBQUssRUFBRSxrQkFBa0I7WUFDekIsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFrQmtCO1NBQ3pCO0tBQ0Y7SUFFRCxjQUFjLEVBQUU7UUFDZDtZQUNFLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUFFLHlEQUF5RDtZQUN0RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7O3VCQVdXO1NBQ2xCO0tBQ0Y7SUFFRCxrQkFBa0IsRUFBRTtRQUNsQjtZQUNFLEtBQUssRUFBRSxlQUFlO1lBQ3RCLFdBQVcsRUFBRSx5Q0FBeUM7WUFDdEQsSUFBSSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7OzttQ0FpQnVCO1NBQzlCO0tBQ0Y7SUFFRCxxQkFBcUIsRUFBRTtRQUNyQjtZQUNFLEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7dUJBYVc7U0FDbEI7S0FDRjtJQUVELHdDQUF3QyxFQUFFO1FBQ3hDO1lBQ0UsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxXQUFXLEVBQUUsaURBQWlEO1lBQzlELElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBaUJjO1NBQ3JCO0tBQ0Y7SUFFRCxtQkFBbUIsRUFBRTtRQUNuQjtZQUNFLEtBQUssRUFBRSxpQkFBaUI7WUFDeEIsV0FBVyxFQUFFLGdEQUFnRDtZQUM3RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OzhCQWlCa0I7U0FDekI7S0FDRjtJQUVELDBCQUEwQixFQUFFO1FBQzFCO1lBQ0UsS0FBSyxFQUFFLDZCQUE2QjtZQUNwQyxXQUFXLEVBQUUsNENBQTRDO1lBQ3pELElBQUksRUFBRTs7Ozs7Ozs7OzttQkFVTztTQUNkO0tBQ0Y7SUFFRCxrQkFBa0IsRUFBRTtRQUNsQjtZQUNFLEtBQUssRUFBRSx1QkFBdUI7WUFDOUIsV0FBVyxFQUFFLCtDQUErQztZQUM1RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7dUJBVVc7U0FDbEI7UUFDRDtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7OzttRUFldUQ7U0FDOUQ7UUFDRDtZQUNFLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxJQUFJLEVBQUU7Ozs7Ozs7Ozs7OztnQ0FZb0I7U0FDM0I7S0FDRjtJQUVELGVBQWUsRUFBRTtRQUNmO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUsa0RBQWtEO1lBQy9ELElBQUksRUFBRTs7Ozs7Ozs7OztvQkFVUTtTQUNmO0tBQ0Y7SUFFRCxxQkFBcUIsRUFBRTtRQUNyQjtZQUNFLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsV0FBVyxFQUFFLHFEQUFxRDtZQUNsRSxJQUFJLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFpQ1c7U0FDbEI7S0FDRjtJQUVELGdDQUFnQyxFQUFFO1FBQ2hDO1lBQ0UsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixXQUFXLEVBQUUsOEJBQThCO1lBQzNDLElBQUksRUFBRTs7Ozs7c0JBS1U7U0FDakI7S0FDRjtJQUVELFdBQVcsRUFBRTtRQUNYO1lBQ0UsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFLG1EQUFtRDtZQUNoRSxJQUFJLEVBQUU7Ozs7Ozs7dUJBT1c7U0FDbEI7S0FDRjtJQUVELGdDQUFnQyxFQUFFO1FBQ2hDO1lBQ0UsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixXQUFXLEVBQUUseURBQXlEO1lBQ3RFLElBQUksRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQkFxQ007U0FDYjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFlhbWxFeGFtcGxlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogS3ViZXJuZXRlcyDotYTmupDnmoTlhoXnva4gWUFNTCDnpLrkvotcbiAqIOaMieeFpyBhcGlWZXJzaW9uLmtpbmQg55qE5qC85byP57uE57uHXG4gKi9cbmV4cG9ydCBjb25zdCBCVUlMVF9JTl9ZQU1MX0VYQU1QTEVTOiB7IFtrZXk6IHN0cmluZ106IFlhbWxFeGFtcGxlW10gfSA9IHtcbiAgJ2FwcHMvdjEuRGVwbG95bWVudCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIERlcGxveW1lbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIGRlcGxveW1lbnQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlbGVjdG9yOlxuICAgIG1hdGNoTGFiZWxzOlxuICAgICAgYXBwOiBodHRwZFxuICByZXBsaWNhczogM1xuICB0ZW1wbGF0ZTpcbiAgICBtZXRhZGF0YTpcbiAgICAgIGxhYmVsczpcbiAgICAgICAgYXBwOiBodHRwZFxuICAgIHNwZWM6XG4gICAgICBjb250YWluZXJzOlxuICAgICAgLSBuYW1lOiBodHRwZFxuICAgICAgICBpbWFnZTogaW50ZXJuYWwtZG9ja2VyLXJlZ2lzdHJ5LmNwYWFzLXN5c3RlbS5zdmMvZGVtby1ucy9uZ2lueDphbHBpbmVcbiAgICAgICAgcG9ydHM6XG4gICAgICAgIC0gY29udGFpbmVyUG9ydDogODA4MGAsXG4gICAgfSxcbiAgXSxcblxuICAndjEuQ29uZmlnTWFwJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgQ29uZmlnTWFwJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBDb25maWdNYXAgZXhhbXBsZSB3aXRoIHByb3BlcnRpZXMgYW5kIGZpbGUgZGF0YScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IENvbmZpZ01hcFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbiAgbmFtZXNwYWNlOiBkZWZhdWx0XG5kYXRhOlxuICBleGFtcGxlLnByb3BlcnR5LjE6IGhlbGxvXG4gIGV4YW1wbGUucHJvcGVydHkuMjogd29ybGRcbiAgZXhhbXBsZS5wcm9wZXJ0eS5maWxlOiB8LVxuICAgIHByb3BlcnR5LjE9dmFsdWUtMVxuICAgIHByb3BlcnR5LjI9dmFsdWUtMlxuICAgIHByb3BlcnR5LjM9dmFsdWUtM2AsXG4gICAgfSxcbiAgXSxcblxuICAnYmF0Y2gvdjEuQ3JvbkpvYic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIENyb25Kb2InLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIENyb25Kb2IgZXhhbXBsZSB0aGF0IHJ1bnMgZGFpbHknLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IGJhdGNoL3YxXG5raW5kOiBDcm9uSm9iXG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2NoZWR1bGU6IFwiQGRhaWx5XCJcbiAgam9iVGVtcGxhdGU6XG4gICAgc3BlYzpcbiAgICAgIHRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAgICAgLSBuYW1lOiBoZWxsb1xuICAgICAgICAgICAgaW1hZ2U6IGJ1c3lib3hcbiAgICAgICAgICAgIGFyZ3M6XG4gICAgICAgICAgICAtIC9iaW4vc2hcbiAgICAgICAgICAgIC0gLWNcbiAgICAgICAgICAgIC0gZGF0ZTsgZWNobyBIZWxsbyBmcm9tIHRoZSBLdWJlcm5ldGVzIGNsdXN0ZXJcbiAgICAgICAgICByZXN0YXJ0UG9saWN5OiBPbkZhaWx1cmVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlBlcnNpc3RlbnRWb2x1bWUnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBQZXJzaXN0ZW50Vm9sdW1lJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBQZXJzaXN0ZW50Vm9sdW1lIGV4YW1wbGUgd2l0aCBORlMgc3RvcmFnZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFBlcnNpc3RlbnRWb2x1bWVcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBjYXBhY2l0eTpcbiAgICBzdG9yYWdlOiA1R2lcbiAgYWNjZXNzTW9kZXM6XG4gICAgLSBSZWFkV3JpdGVPbmNlXG4gIHBlcnNpc3RlbnRWb2x1bWVSZWNsYWltUG9saWN5OiBSZXRhaW5cbiAgc3RvcmFnZUNsYXNzTmFtZTogc2xvd1xuICBuZnM6XG4gICAgcGF0aDogL3RtcFxuICAgIHNlcnZlcjogMTcyLjE3LjAuMmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXV0b3NjYWxpbmcvdjIuSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXInOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBIb3Jpem9udGFsUG9kQXV0b3NjYWxlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgYmFzaWMgSFBBIGV4YW1wbGUgd2l0aCBDUFUgdXRpbGl6YXRpb24gdGFyZ2V0JyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhdXRvc2NhbGluZy92Mlxua2luZDogSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXJcbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBzY2FsZVRhcmdldFJlZjpcbiAgICBhcGlWZXJzaW9uOiBhcHBzL3YxXG4gICAga2luZDogRGVwbG95bWVudFxuICAgIG5hbWU6IGV4YW1wbGVcbiAgbWluUmVwbGljYXM6IDFcbiAgbWF4UmVwbGljYXM6IDNcbiAgbWV0cmljczpcbiAgLSB0eXBlOiBSZXNvdXJjZVxuICAgIHJlc291cmNlOlxuICAgICAgbmFtZTogY3B1XG4gICAgICB0YXJnZXQ6XG4gICAgICAgIGF2ZXJhZ2VVdGlsaXphdGlvbjogNTBcbiAgICAgICAgdHlwZTogVXRpbGl6YXRpb25gLFxuICAgIH0sXG4gIF0sXG5cbiAgJ2FwcHMvdjEuRGFlbW9uU2V0JzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgRGFlbW9uU2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBEYWVtb25TZXQgZXhhbXBsZSB3aXRoIG5naW54IGNvbnRhaW5lcicsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGFlbW9uU2V0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxuc3BlYzpcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IGh0dHBkXG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IGh0dHBkXG4gICAgc3BlYzpcbiAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAtIG5hbWU6IGh0dHBkXG4gICAgICAgIGltYWdlOiBpbnRlcm5hbC1kb2NrZXItcmVnaXN0cnkuY3BhYXMtc3lzdGVtLnN2Yy9kZW1vLW5zL25naW54OmFscGluZVxuICAgICAgICBwb3J0czpcbiAgICAgICAgLSBjb250YWluZXJQb3J0OiA4MDgwYCxcbiAgICB9LFxuICBdLFxuXG4gICd2MS5QZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFBWQyBleGFtcGxlIHJlcXVlc3RpbmcgMUdpIHN0b3JhZ2UnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1cbm1ldGFkYXRhOlxuICBuYW1lOiBleGFtcGxlXG5zcGVjOlxuICBhY2Nlc3NNb2RlczpcbiAgICAtIFJlYWRXcml0ZU9uY2VcbiAgdm9sdW1lTW9kZTogRmlsZXN5c3RlbVxuICByZXNvdXJjZXM6XG4gICAgcmVxdWVzdHM6XG4gICAgICBzdG9yYWdlOiAxR2lgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLlJlc291cmNlUXVvdGEnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdDb21wdXRlIFJlc291cmNlUXVvdGEnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIFJlc291cmNlUXVvdGEgZXhhbXBsZSBmb3IgY29tcHV0ZSByZXNvdXJjZXMnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBSZXNvdXJjZVF1b3RhXG5tZXRhZGF0YTpcbiAgbmFtZTogY29tcHV0ZS1xdW90YVxuICBuYW1lc3BhY2U6IGRlZmF1bHRcbnNwZWM6XG4gIGhhcmQ6XG4gICAgcmVxdWVzdHMuY3B1OiAnMSdcbiAgICByZXF1ZXN0cy5tZW1vcnk6IDFHaVxuICAgIGxpbWl0cy5jcHU6ICcyJ1xuICAgIGxpbWl0cy5tZW1vcnk6IDJHaWAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogJ1N0b3JhZ2UgQ2xhc3MgUmVzb3VyY2VRdW90YScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgUmVzb3VyY2VRdW90YSBleGFtcGxlIGZvciBzdG9yYWdlIGNsYXNzIHNwZWNpZmljIHF1b3RhcycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFJlc291cmNlUXVvdGFcbm1ldGFkYXRhOlxuICBuYW1lOiBzdG9yYWdlLWNsYXNzLXF1b3RhXG4gIG5hbWVzcGFjZTogZGVmYXVsdFxuc3BlYzpcbiAgaGFyZDpcbiAgICByZXF1ZXN0cy5zdG9yYWdlOiAxMDBHaVxuICAgIHBlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICcxMDAnXG4gICAgIyBGb3IgcXVvdGEgc3BlY2lmaWMgdG8gYSBzdG9yYWdlIGNsYXNzLCB0aGUgc3RvcmFnZSBjbGFzcyBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZVxuICAgIGdvbGQuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3JlcXVlc3RzLnN0b3JhZ2U6IDNHaVxuICAgIGdvbGQuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3BlcnNpc3RlbnR2b2x1bWVjbGFpbXM6ICc1J1xuICAgIHNpbHZlci5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcmVxdWVzdHMuc3RvcmFnZTogMkdpXG4gICAgc2lsdmVyLnN0b3JhZ2UtY2xhc3Mua3ViZXJuZXRlcy5pby9wZXJzaXN0ZW50dm9sdW1lY2xhaW1zOiAnMydcbiAgICBicm9uemUuc3RvcmFnZS1jbGFzcy5rdWJlcm5ldGVzLmlvL3JlcXVlc3RzLnN0b3JhZ2U6IDFHaVxuICAgIGJyb256ZS5zdG9yYWdlLWNsYXNzLmt1YmVybmV0ZXMuaW8vcGVyc2lzdGVudHZvbHVtZWNsYWltczogJzEnYCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiAnT2JqZWN0IENvdW50cyBSZXNvdXJjZVF1b3RhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBSZXNvdXJjZVF1b3RhIGV4YW1wbGUgZm9yIG9iamVjdCBjb3VudCBsaW1pdHMnLFxuICAgICAgeWFtbDogYGFwaVZlcnNpb246IHYxXG5raW5kOiBSZXNvdXJjZVF1b3RhXG5tZXRhZGF0YTpcbiAgbmFtZTogb2JqZWN0LWNvdW50c1xuICBuYW1lc3BhY2U6IGRlZmF1bHRcbnNwZWM6XG4gIGhhcmQ6XG4gICAgY29uZmlnbWFwczogXCIxMFwiXG4gICAgcGVyc2lzdGVudHZvbHVtZWNsYWltczogXCI0XCJcbiAgICByZXBsaWNhdGlvbmNvbnRyb2xsZXJzOiBcIjIwXCJcbiAgICBzZWNyZXRzOiBcIjEwXCJcbiAgICBzZXJ2aWNlczogXCIxMFwiXG4gICAgc2VydmljZXMubG9hZGJhbGFuY2VyczogXCIyXCJgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ3YxLkxpbWl0UmFuZ2UnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdNZW1vcnkgTGltaXRSYW5nZScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgTGltaXRSYW5nZSBleGFtcGxlIGZvciBjb250YWluZXIgbWVtb3J5IGxpbWl0cycsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogdjFcbmtpbmQ6IExpbWl0UmFuZ2Vcbm1ldGFkYXRhOlxuICBuYW1lOiBtZW0tbGltaXQtcmFuZ2VcbnNwZWM6XG4gIGxpbWl0czpcbiAgLSBkZWZhdWx0OlxuICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIGRlZmF1bHRSZXF1ZXN0OlxuICAgICAgbWVtb3J5OiAyNTZNaVxuICAgIHR5cGU6IENvbnRhaW5lcmAsXG4gICAgfSxcbiAgXSxcblxuICAnYXBwcy92MS5TdGF0ZWZ1bFNldCc6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIFN0YXRlZnVsU2V0JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBTdGF0ZWZ1bFNldCBleGFtcGxlIHdpdGggcGVyc2lzdGVudCBzdG9yYWdlJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiBhcHBzL3YxXG5raW5kOiBTdGF0ZWZ1bFNldFxubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnNwZWM6XG4gIHNlcnZpY2VOYW1lOiBcImh0dHBkXCJcbiAgcmVwbGljYXM6IDNcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IGh0dHBkXG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IGh0dHBkXG4gICAgc3BlYzpcbiAgICAgIHRlcm1pbmF0aW9uR3JhY2VQZXJpb2RTZWNvbmRzOiAxMFxuICAgICAgY29udGFpbmVyczpcbiAgICAgIC0gbmFtZTogaHR0cGRcbiAgICAgICAgaW1hZ2U6IGludGVybmFsLWRvY2tlci1yZWdpc3RyeS5jcGFhcy1zeXN0ZW0uc3ZjL2RlbW8tbnMvbmdpbng6YWxwaW5lXG4gICAgICAgIHBvcnRzOlxuICAgICAgICAtIGNvbnRhaW5lclBvcnQ6IDgwODBcbiAgICAgICAgICBuYW1lOiB3ZWJcbiAgICAgICAgdm9sdW1lTW91bnRzOlxuICAgICAgICAtIG5hbWU6IHd3d1xuICAgICAgICAgIG1vdW50UGF0aDogL3Zhci93d3cvaHRtbFxuICB2b2x1bWVDbGFpbVRlbXBsYXRlczpcbiAgLSBtZXRhZGF0YTpcbiAgICAgIG5hbWU6IHd3d1xuICAgIHNwZWM6XG4gICAgICBhY2Nlc3NNb2RlczogWyBcIlJlYWRXcml0ZU9uY2VcIiBdXG4gICAgICBzdG9yYWdlQ2xhc3NOYW1lOiBteS1zdG9yYWdlLWNsYXNzXG4gICAgICByZXNvdXJjZXM6XG4gICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgIHN0b3JhZ2U6IDFHaWAsXG4gICAgfSxcbiAgXSxcblxuICAnc3RvcmFnZS5rOHMuaW8vdjEuU3RvcmFnZUNsYXNzJzogW1xuICAgIHtcbiAgICAgIHRpdGxlOiAnQmFzaWMgU3RvcmFnZUNsYXNzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBTdG9yYWdlQ2xhc3MgZXhhbXBsZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogc3RvcmFnZS5rOHMuaW8vdjFcbmtpbmQ6IFN0b3JhZ2VDbGFzc1xubWV0YWRhdGE6XG4gIG5hbWU6IGV4YW1wbGVcbnByb3Zpc2lvbmVyOiBteS1wcm92aXNpb25lclxucmVjbGFpbVBvbGljeTogRGVsZXRlYCxcbiAgICB9LFxuICBdLFxuXG4gICd2MS5TZWNyZXQnOiBbXG4gICAge1xuICAgICAgdGl0bGU6ICdCYXNpYyBTZWNyZXQnLFxuICAgICAgZGVzY3JpcHRpb246ICdBIGJhc2ljIFNlY3JldCBleGFtcGxlIHdpdGggdXNlcm5hbWUgYW5kIHBhc3N3b3JkJyxcbiAgICAgIHlhbWw6IGBhcGlWZXJzaW9uOiB2MVxua2luZDogU2VjcmV0XG5tZXRhZGF0YTpcbiAgbmFtZTogZXhhbXBsZVxudHlwZTogT3BhcXVlXG5zdHJpbmdEYXRhOlxuICB1c2VybmFtZTogYWRtaW5cbiAgcGFzc3dvcmQ6IG9wZW5zZXNhbWVgLFxuICAgIH0sXG4gIF0sXG5cbiAgJ2FwcC5rOHMuaW8vdjFiZXRhMS5BcHBsaWNhdGlvbic6IFtcbiAgICB7XG4gICAgICB0aXRsZTogJ0Jhc2ljIEFwcGxpY2F0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQSBiYXNpYyBBcHBsaWNhdGlvbiBleGFtcGxlIHdpdGggRGVwbG95bWVudCBhbmQgU2VydmljZScsXG4gICAgICB5YW1sOiBgYXBpVmVyc2lvbjogYXBwcy92MVxua2luZDogRGVwbG95bWVudFxubWV0YWRhdGE6XG4gIGxhYmVsczpcbiAgICBhcHA6IG5naW54XG4gIG5hbWU6IG5naW54LWRlcGxveW1lbnRcbiAgbmFtZXNwYWNlOiB5aW50ZXN0LW5zMVxuc3BlYzpcbiAgcmVwbGljYXM6IDFcbiAgc2VsZWN0b3I6XG4gICAgbWF0Y2hMYWJlbHM6XG4gICAgICBhcHA6IG5naW54XG4gIHRlbXBsYXRlOlxuICAgIG1ldGFkYXRhOlxuICAgICAgbGFiZWxzOlxuICAgICAgICBhcHA6IG5naW54XG4gICAgc3BlYzpcbiAgICAgIGNvbnRhaW5lcnM6XG4gICAgICAgIC0gaW1hZ2U6IG5naW54OjEuNy45XG4gICAgICAgICAgbmFtZTogbmdpbnhcbiAgICAgICAgICBwb3J0czpcbiAgICAgICAgICAgIC0gY29udGFpbmVyUG9ydDogODBcbi0tLVxuYXBpVmVyc2lvbjogdjFcbmtpbmQ6IFNlcnZpY2Vcbm1ldGFkYXRhOlxuICBsYWJlbHM6XG4gICAgYXBwOiBuZ2lueFxuICBuYW1lOiBuZ2lueFxuICBuYW1lc3BhY2U6IHlpbnRlc3QtbnMxXG5zcGVjOlxuICBwb3J0czpcbiAgICAtIHBvcnQ6IDgwXG4gICAgICBwcm90b2NvbDogVENQXG4gICAgICB0YXJnZXRQb3J0OiA4MFxuICBzZWxlY3RvcjpcbiAgICBhcHA6IG5naW54XG4gIHR5cGU6IENsdXN0ZXJJUGAsXG4gICAgfSxcbiAgXSxcbn07Il19
|
|
@@ -30,7 +30,7 @@ export class NestedTreeNodeComponent extends CdkNestedTreeNode {
|
|
|
30
30
|
},
|
|
31
31
|
], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
|
|
32
32
|
}], null, null); })();
|
|
33
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NestedTreeNodeComponent, { className: "NestedTreeNodeComponent"
|
|
33
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NestedTreeNodeComponent, { className: "NestedTreeNodeComponent" }); })();
|
|
34
34
|
export class TreeNodeDefDirective extends CdkTreeNodeDef {
|
|
35
35
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵTreeNodeDefDirective_BaseFactory; return function TreeNodeDefDirective_Factory(t) { return (ɵTreeNodeDefDirective_BaseFactory || (ɵTreeNodeDefDirective_BaseFactory = i0.ɵɵgetInheritedFactory(TreeNodeDefDirective)))(t || TreeNodeDefDirective); }; })(); }
|
|
36
36
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TreeNodeDefDirective, selectors: [["", "aclTreeNodeDef", ""]], inputs: { when: [0, "aclTreeNodeDefWhen", "when"] }, features: [i0.ɵɵProvidersFeature([{ provide: CdkTreeNodeDef, useExisting: TreeNodeDefDirective }]), i0.ɵɵInheritDefinitionFeature] }); }
|
|
@@ -24,5 +24,5 @@ export class TreeComponent extends CdkTree {
|
|
|
24
24
|
type: ViewChild,
|
|
25
25
|
args: [TreeNodeOutletDirective, { static: true }]
|
|
26
26
|
}] }); })();
|
|
27
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TreeComponent, { className: "TreeComponent"
|
|
27
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TreeComponent, { className: "TreeComponent" }); })();
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29tcG9uZW50cy90cmVlL3RyZWUvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvY29tcG9uZW50cy90cmVlL3RyZWUvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RUFBOEU7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFVcEQsTUFBTSxPQUFPLGFBQW9CLFNBQVEsT0FBYTt3TkFBekMsYUFBYSxTQUFiLGFBQWE7b0VBQWIsYUFBYTsyQkFDYix1QkFBdUI7Ozs7cUVBSHZCLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQ2pCL0QsOEJBQXVCO1lBQ3JCLDJCQUErQztZQUNqRCxpQkFBTTs7O2lGRGlCTyxhQUFhO2NBUnpCLFNBQVM7MkJBQ0UsVUFBVSxZQUNWLFNBQVMsaUJBRUosaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsT0FBTyxhQUNyQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLGVBQWUsRUFBRSxDQUFDO2dCQUlwRCxXQUFXO2tCQURuQixTQUFTO21CQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBRHpDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb24gKi9cbmltcG9ydCB7IENka1RyZWUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVHJlZU5vZGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuLi9vdXRsZXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdHJlZScsXG4gIGV4cG9ydEFzOiAnYWNsVHJlZScsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDZGtUcmVlLCB1c2VFeGlzdGluZzogVHJlZUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudDxULCBLPiBleHRlbmRzIENka1RyZWU8VCwgSz4ge1xuICBAVmlld0NoaWxkKFRyZWVOb2RlT3V0bGV0RGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBvdmVycmlkZSBfbm9kZU91dGxldDogVHJlZU5vZGVPdXRsZXREaXJlY3RpdmU7XG59XG4iLCI8ZGl2IGNsYXNzPVwidHJlZS1saXN0XCI+XG4gIDxuZy1jb250YWluZXIgYWNsVHJlZU5vZGVPdXRsZXQ+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -154,5 +154,5 @@ export class SpanComponent {
|
|
|
154
154
|
type: Component,
|
|
155
155
|
args: [{ template: `<span>{{ data | aclFieldNotAvailable }}</span>`, changeDetection: ChangeDetectionStrategy.Default, styles: ["span{word-break:break-all}\n"] }]
|
|
156
156
|
}], null, null); })();
|
|
157
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SpanComponent, { className: "SpanComponent"
|
|
157
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SpanComponent, { className: "SpanComponent" }); })();
|
|
158
158
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHktZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvZGlyZWN0aXZlcy9yZWFkb25seS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN0RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDSixXQUFXLEVBQ1gsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxTQUFTLEdBRVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLHNCQUFzQjtJQTJCakMsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFDbUIsT0FBa0I7SUFDbkMsNkNBQTZDO0lBQzVCLEdBQTZCLEVBQzdCLGdCQUFrQztJQUNuRCxnRkFBZ0Y7SUFHL0QsZ0JBQTBDO1FBUDFDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFFbEIsUUFBRyxHQUFILEdBQUcsQ0FBMEI7UUFDN0IscUJBQWdCLEdBQWhCLGdC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QXRCLHlDQUFzQjs7O0FBS2pDO0lBREMsZUFBZSxFQUFFOzhCQUNDLFVBQVU7aUVBQVU7aUZBTDVCLHNCQUFzQjtjQUpsQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsVUFBVSxFQUFFLElBQUk7YUFDakI7O3NCQXVDSSxJQUFJOztzQkFDSixRQUFRO3FCQXJDWCxnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLGlCQUFpQixNQUdqQixNQUFNO2tCQURMLEtBQUs7WUFhTixRQUFRO2tCQURQLEtBQUs7bUJBQUMsMEJBQTBCO1lBTWpDLE9BQU87a0JBRE4sS0FBSzttQkFBQyxpQ0FBaUM7WUFJcEMsUUFBUTtrQkFEWCxXQUFXO21CQUFDLFFBQVE7O0FBK0h2QixNQUFNLE9BQU8sYUFBYTtJQUd4QixPQUFPLENBQUMsS0FBUTtRQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OEVBTFUsYUFBYTtvRUFBYixhQUFhO1lBWGIsNEJBQU07WUFBQSxZQUFpQzs7WUFBQSxpQkFBTzs7WUFBeEMsY0FBaUM7WUFBakMsb0RBQWlDOzs7aUZBV3ZDLGFBQWE7Y0FaekIsU0FBUzsyQkFDRSxnREFBZ0QsbUJBU3pDLHVCQUF1QixDQUFDLE9BQU87O2tGQUVyQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqIEBtb2R1bGUgdXRpbHNcbiAqL1xuXG5pbXBvcnQgeyBGb3JtSXRlbUNvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7XG4gIENka1BvcnRhbE91dGxldCxcbiAgQ29tcG9uZW50UG9ydGFsLFxuICBUZW1wbGF0ZVBvcnRhbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBOZ0NvbnRyb2wsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHN0YXJ0V2l0aCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdXRpbHMvZGVjb3JhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1thY2xSZWFkb25seUZpZWxkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRvbmx5RmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIGFjbFJlYWRvbmx5RmllbGQ6IGJvb2xlYW47XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGFjbFJlYWRvbmx5RmllbGQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIGhpZGRlbjogYm9vbGVhbjtcblxuICBwcml2YXRlIGlzQ29udHJvbFJlcXVpcmVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzcGFuQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U3BhbkNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZUNvbnRleHQgPSB7fTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAvLyDoh6rlrprkuYnmqKHmnb9cbiAgQElucHV0KCdhY2xSZWFkb25seUZpZWxkVGVtcGxhdGUnKVxuICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyDoh6rlrprkuYnmqKHmnb9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdhY2xSZWFkb25seUZpZWxkVGVtcGxhdGVDb250ZXh0JylcbiAgY29udGV4dDogb2JqZWN0O1xuXG4gIEBIb3N0QmluZGluZygnaGlkZGVuJylcbiAgZ2V0IGlzSGlkZGVuKCkge1xuICAgIHJldHVybiB0aGlzLmhpZGRlbiB8fCB0aGlzLmFjbFJlYWRvbmx5RmllbGQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXIvZGVwcmVjYXRpb25cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAvLyDku4XogIPomZHlvZPliY1jb250cm9s77yM5a2QY29udHJvbOaXoOazleefpeaZk+eItkZvcm1JdGVtQ29udHJvbOWFg+e0oCDvvIzljIXoo7nkuoblpJrlsJHkuKpjb250cm9s77yM5Lul5Y+K5ZCE6Ieq5aSE5LqO5LuA5LmI54q25oCB77yM6K+l5oOF5Ya16Ieq6KGM5aSE55CGXG4gICAgQFNlbGYoKVxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRGlyZWN0aXZlOiBGb3JtSXRlbUNvbnRyb2xEaXJlY3RpdmUsXG4gICkge31cblxuICBwcml2YXRlIHNldFZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGUpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy50ZW1wbGF0ZUNvbnRleHQsIHtcbiAgICAgICAgJGltcGxpY2l0OiB2YWx1ZSxcbiAgICAgICAgLi4udGhpcy5jb250ZXh0LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3BhbkNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXREYXRhKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBjb250cm9sRW50aXR5ID0gdGhpcy5jb250cm9sLmNvbnRyb2w7XG4gICAgLy8gZm9ybUNvbnRyb2wgd2lsbCBjb21wb3NlIG11bHRpIHZhbGlkYXRvcnMgdG8gMSwgbm8gbWF0dGVyIGRlZmluZWQgaW4gdGVtcGxhdGUgbm9yIEZvcm1CdWlsZGVyXG4gICAgY29uc3QgeyB2YWxpZGF0b3IsIGFzeW5jVmFsaWRhdG9yIH0gPSBjb250cm9sRW50aXR5O1xuICAgIHRoaXMuaXNDb250cm9sUmVxdWlyZWQgPSB0aGlzLmNvbnRyb2xEaXJlY3RpdmU/LnJlcXVpcmVkIHx8IGZhbHNlO1xuICAgIGNvbnN0IHBvcnRhbE91dGxldCA9IG5ldyBDZGtQb3J0YWxPdXRsZXQodGhpcy5jZnIsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgY29uc3QgcG9ydGFsID0gdGhpcy50ZW1wbGF0ZVxuICAgICAgPyBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgICAgdGhpcy50ZW1wbGF0ZSxcbiAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgdGhpcy50ZW1wbGF0ZUNvbnRleHQsXG4gICAgICAgIClcbiAgICAgIDogbmV3IENvbXBvbmVudFBvcnRhbChTcGFuQ29tcG9uZW50LCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgY29uc3QgY29udGFpbmVyQXR0YWNoZWQkID0gdGhpcy5hY2xSZWFkb25seUZpZWxkJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIG1hcChpc1VwZGF0ZSA9PiB7XG4gICAgICAgIGlmICghaXNVcGRhdGUpIHtcbiAgICAgICAgICAvLyDph43nva5cbiAgICAgICAgICBpZiAodGhpcy5jb250cm9sRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xEaXJlY3RpdmUucmVxdWlyZWQgPSB0aGlzLmlzQ29udHJvbFJlcXVpcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocG9ydGFsT3V0bGV0Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHBvcnRhbE91dGxldC5kZXRhY2goKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hcHBseVZhbGlkYXRvcnMoY29udHJvbEVudGl0eSwgdmFsaWRhdG9yLCBhc3luY1ZhbGlkYXRvcik7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbERpcmVjdGl2ZSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbERpcmVjdGl2ZS5yZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGF0dGFjaFBvaW50ID0gcG9ydGFsT3V0bGV0LmF0dGFjaChwb3J0YWwpO1xuICAgICAgICBpZiAoIXRoaXMudGVtcGxhdGUpIHtcbiAgICAgICAgICB0aGlzLnNwYW5Db21wb25lbnRSZWYgPSBhdHRhY2hQb2ludCBhcyBDb21wb25lbnRSZWY8U3BhbkNvbXBvbmVudD47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbGVhclZhbGlkYXRvcnMoY29udHJvbEVudGl0eSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHNvdXJjZVZhbHVlJCA9IHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2wudmFsdWUpLFxuICAgICk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtzb3VyY2VWYWx1ZSQsIGNvbnRhaW5lckF0dGFjaGVkJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKFssIGF0dGFjaGVkXSkgPT4gISFhdHRhY2hlZCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChbdmFsdWVdKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VmFsaWRhdG9ycyhcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gICAgcmF3VmFsaWRhdG9yPzogVmFsaWRhdG9yRm4sXG4gICAgcmF3QXN5bmNWYWxpZGF0b3I/OiBBc3luY1ZhbGlkYXRvckZuLFxuICApIHtcbiAgICBpZiAoXG4gICAgICBjb250cm9sLnZhbGlkYXRvciA9PT0gcmF3VmFsaWRhdG9yICYmXG4gICAgICBjb250cm9sLmFzeW5jVmFsaWRhdG9yID09PSByYXdBc3luY1ZhbGlkYXRvclxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb250cm9sLnNldFZhbGlkYXRvcnMocmF3VmFsaWRhdG9yKTtcbiAgICBjb250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyhyYXdBc3luY1ZhbGlkYXRvcik7XG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyVmFsaWRhdG9ycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICAvLyBkZWxheSBjaGVja2luZyB2YWxpZGF0b3JzIGZvciBuZ01vZGVsXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGlmICghY29udHJvbC52YWxpZGF0b3IgJiYgIWNvbnRyb2wuYXN5bmNWYWxpZGF0b3IpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgIGNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPHNwYW4+e3sgZGF0YSB8IGFjbEZpZWxkTm90QXZhaWxhYmxlIH19PC9zcGFuPmAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIHNwYW4ge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG59KVxuZXhwb3J0IGNsYXNzIFNwYW5Db21wb25lbnQ8VCA9IHVua25vd24+IHtcbiAgZGF0YTogVDtcblxuICBzZXREYXRhKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5kYXRhID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable, inject } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, switchMap, shareReplay, catchError, of, tap, debounceTime, } from 'rxjs';
|
|
4
|
+
import { API_GATEWAY } from '../constants/constants';
|
|
5
|
+
import { WorkspaceHelperService } from './workspace-helper.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class KubernetesSchemaService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.http = inject(HttpClient);
|
|
10
|
+
// 移除可选依赖注入,改为直接注入
|
|
11
|
+
this.workspaceHelper = inject(WorkspaceHelperService);
|
|
12
|
+
this.initialized = false;
|
|
13
|
+
this.schemaCache = new Map();
|
|
14
|
+
this.schemaCache$$ = new BehaviorSubject(new Map());
|
|
15
|
+
}
|
|
16
|
+
get definitions() {
|
|
17
|
+
return this.schemaCache?.get(this.workspaceHelper?.baseParamsSnapshot.cluster)?.definitions;
|
|
18
|
+
}
|
|
19
|
+
// 延迟初始化方法
|
|
20
|
+
ensureInitialized() {
|
|
21
|
+
if (!this.initialized && this.workspaceHelper) {
|
|
22
|
+
this.workspaceHelper.baseParams.subscribe(() => {
|
|
23
|
+
this.clearCache();
|
|
24
|
+
});
|
|
25
|
+
this.initialized = true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 获取当前集群的 OpenAPI schema
|
|
30
|
+
*/
|
|
31
|
+
getOpenAPISchema() {
|
|
32
|
+
this.ensureInitialized();
|
|
33
|
+
// 如果没有 WorkspaceHelperService,返回 null
|
|
34
|
+
if (!this.workspaceHelper) {
|
|
35
|
+
console.warn('WorkspaceHelperService not available, cannot fetch OpenAPI schema');
|
|
36
|
+
return of(null);
|
|
37
|
+
}
|
|
38
|
+
return this.workspaceHelper.baseParams.pipe(switchMap(workspace => {
|
|
39
|
+
const cluster = workspace.cluster || 'global';
|
|
40
|
+
const cached = this.schemaCache.get(cluster);
|
|
41
|
+
if (cached) {
|
|
42
|
+
return of(cached);
|
|
43
|
+
}
|
|
44
|
+
return this.fetchOpenAPISchema(cluster).pipe(tap(schema => {
|
|
45
|
+
if (schema) {
|
|
46
|
+
this.schemaCache.set(cluster, schema);
|
|
47
|
+
this.schemaCache$$.next(new Map(this.schemaCache));
|
|
48
|
+
}
|
|
49
|
+
}), catchError(error => {
|
|
50
|
+
console.error(`Failed to fetch OpenAPI schema for cluster ${cluster}:`, error);
|
|
51
|
+
return of(null);
|
|
52
|
+
}));
|
|
53
|
+
}), shareReplay(1));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 根据 Kubernetes 资源类型获取对应的 schema
|
|
57
|
+
*/
|
|
58
|
+
getResourceSchema(apiVersion, kind) {
|
|
59
|
+
return this.getOpenAPISchema().pipe(switchMap(openApiDoc => {
|
|
60
|
+
if (!openApiDoc?.definitions) {
|
|
61
|
+
return of(null);
|
|
62
|
+
}
|
|
63
|
+
// 尝试多种可能的 schema key 格式
|
|
64
|
+
const possibleKeys = [
|
|
65
|
+
`${apiVersion}.${kind}`,
|
|
66
|
+
`${apiVersion}/${kind}`,
|
|
67
|
+
kind,
|
|
68
|
+
`io.k8s.api.${apiVersion.replace('/', '.')}.${kind}`,
|
|
69
|
+
`io.k8s.api.${apiVersion.split('/')[0]}.${apiVersion.split('/')[1] || 'v1'}.${kind}`,
|
|
70
|
+
];
|
|
71
|
+
for (const key of possibleKeys) {
|
|
72
|
+
const schema = openApiDoc.definitions[key];
|
|
73
|
+
if (schema) {
|
|
74
|
+
return of(schema);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// 如果没有找到精确匹配,尝试模糊匹配
|
|
78
|
+
const fuzzyKey = Object.keys(openApiDoc.definitions).find(key => key.toLowerCase().includes(kind.toLowerCase()));
|
|
79
|
+
if (fuzzyKey) {
|
|
80
|
+
return of(openApiDoc.definitions[fuzzyKey]);
|
|
81
|
+
}
|
|
82
|
+
return of(null);
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* 获取所有可用的资源定义
|
|
87
|
+
*/
|
|
88
|
+
getAllResourceDefinitions() {
|
|
89
|
+
return this.getOpenAPISchema().pipe(switchMap(openApiDoc => {
|
|
90
|
+
return of(openApiDoc?.definitions || null);
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 清理缓存
|
|
95
|
+
*/
|
|
96
|
+
clearCache() {
|
|
97
|
+
this.schemaCache.clear();
|
|
98
|
+
this.schemaCache$$.next(new Map());
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 获取缓存状态
|
|
102
|
+
*/
|
|
103
|
+
getCacheStatus() {
|
|
104
|
+
return this.schemaCache$$.asObservable();
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 检查 WorkspaceHelperService 是否可用
|
|
108
|
+
*/
|
|
109
|
+
isWorkspaceHelperAvailable() {
|
|
110
|
+
return !!this.workspaceHelper;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 从 Kubernetes API 获取 OpenAPI schema
|
|
114
|
+
*/
|
|
115
|
+
fetchOpenAPISchema(cluster) {
|
|
116
|
+
const url = `${API_GATEWAY}/kubernetes/${cluster}/openapi/v2`;
|
|
117
|
+
return this.http.get(url).pipe(debounceTime(500), catchError(error => {
|
|
118
|
+
console.error(`Failed to fetch OpenAPI schema for cluster ${cluster}:`, error);
|
|
119
|
+
return of(null);
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = function KubernetesSchemaService_Factory(t) { return new (t || KubernetesSchemaService)(); }; }
|
|
123
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: KubernetesSchemaService, factory: KubernetesSchemaService.ɵfac, providedIn: 'root' }); }
|
|
124
|
+
}
|
|
125
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KubernetesSchemaService, [{
|
|
126
|
+
type: Injectable,
|
|
127
|
+
args: [{ providedIn: 'root' }]
|
|
128
|
+
}], null, null); })();
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ViZXJuZXRlcy1zY2hlbWEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL2t1YmVybmV0ZXMtc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsRUFBRSxFQUNGLEdBQUcsRUFDSCxZQUFZLEdBQ2IsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQyxrQkFBa0I7UUFDVCxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRWxELGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ1gsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBNkIsQ0FBQztRQUNuRCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUVsRCxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7S0E2SmQ7SUEzSkMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQ2pELEVBQUUsV0FBVyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO0lBQ0YsaUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJ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QWtCLENBQUMsT0FBZTtRQUN4QyxNQUFNLEdBQUcsR0FBRyxHQUFHLFdBQVcsZUFBZSxPQUFPLGFBQWEsQ0FBQztRQUU5RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFvQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQy9DLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsOENBQThDLE9BQU8sR0FBRyxFQUN4RCxLQUFLLENBQ04sQ0FBQztZQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3dGQXJLVSx1QkFBdUI7dUVBQXZCLHVCQUF1QixXQUF2Qix1QkFBdUIsbUJBRFYsTUFBTTs7aUZBQ25CLHVCQUF1QjtjQURuQyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHNoYXJlUmVwbGF5LFxuICBjYXRjaEVycm9yLFxuICBvZixcbiAgdGFwLFxuICBkZWJvdW5jZVRpbWUsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBUElfR0FURVdBWSB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgT3BlbkFQSVYyRG9jdW1lbnQgfSBmcm9tICcuLi90eXBlcy9vcGVuYXBpJztcbmltcG9ydCB7IE9wZW5BUElWM1NjaGVtYU9iamVjdCB9IGZyb20gJy4uL3R5cGVzL3NjaGVtYSc7XG5cbmltcG9ydCB7IFdvcmtzcGFjZUhlbHBlclNlcnZpY2UgfSBmcm9tICcuL3dvcmtzcGFjZS1oZWxwZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgS3ViZXJuZXRlc1NjaGVtYVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIC8vIOenu+mZpOWPr+mAieS+nei1luazqOWFpe+8jOaUueS4uuebtOaOpeazqOWFpVxuICByZWFkb25seSB3b3Jrc3BhY2VIZWxwZXIgPSBpbmplY3QoV29ya3NwYWNlSGVscGVyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHNjaGVtYUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE9wZW5BUElWMkRvY3VtZW50PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNjaGVtYUNhY2hlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIE1hcDxzdHJpbmcsIE9wZW5BUElWMkRvY3VtZW50PlxuICA+KG5ldyBNYXAoKSk7XG5cbiAgZ2V0IGRlZmluaXRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYUNhY2hlPy5nZXQoXG4gICAgICB0aGlzLndvcmtzcGFjZUhlbHBlcj8uYmFzZVBhcmFtc1NuYXBzaG90LmNsdXN0ZXIsXG4gICAgKT8uZGVmaW5pdGlvbnM7XG4gIH1cblxuICAvLyDlu7bov5/liJ3lp4vljJbmlrnms5VcbiAgcHJpdmF0ZSBlbnN1cmVJbml0aWFsaXplZCgpIHtcbiAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQgJiYgdGhpcy53b3Jrc3BhY2VIZWxwZXIpIHtcbiAgICAgIHRoaXMud29ya3NwYWNlSGVscGVyLmJhc2VQYXJhbXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbGVhckNhY2hlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5blvZPliY3pm4bnvqTnmoQgT3BlbkFQSSBzY2hlbWFcbiAgICovXG4gIGdldE9wZW5BUElTY2hlbWEoKTogT2JzZXJ2YWJsZTxPcGVuQVBJVjJEb2N1bWVudCB8IG51bGw+IHtcbiAgICB0aGlzLmVuc3VyZUluaXRpYWxpemVkKCk7XG5cbiAgICAvLyDlpoLmnpzmsqHmnIkgV29ya3NwYWNlSGVscGVyU2VydmljZe+8jOi/lOWbniBudWxsXG4gICAgaWYgKCF0aGlzLndvcmtzcGFjZUhlbHBlcikge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAnV29ya3NwYWNlSGVscGVyU2VydmljZSBub3QgYXZhaWxhYmxlLCBjYW5ub3QgZmV0Y2ggT3BlbkFQSSBzY2hlbWEnLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy53b3Jrc3BhY2VIZWxwZXIuYmFzZVBhcmFtcy5waXBlKFxuICAgICAgc3dpdGNoTWFwKHdvcmtzcGFjZSA9PiB7XG4gICAgICAgIGNvbnN0IGNsdXN0ZXIgPSB3b3Jrc3BhY2UuY2x1c3RlciB8fCAnZ2xvYmFsJztcbiAgICAgICAgY29uc3QgY2FjaGVkID0gdGhpcy5zY2hlbWFDYWNoZS5nZXQoY2x1c3Rlcik7XG5cbiAgICAgICAgaWYgKGNhY2hlZCkge1xuICAgICAgICAgIHJldHVybiBvZihjYWNoZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hPcGVuQVBJU2NoZW1hKGNsdXN0ZXIpLnBpcGUoXG4gICAgICAgICAgdGFwKHNjaGVtYSA9PiB7XG4gICAgICAgICAgICBpZiAoc2NoZW1hKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2NoZW1hQ2FjaGUuc2V0KGNsdXN0ZXIsIHNjaGVtYSk7XG4gICAgICAgICAgICAgIHRoaXMuc2NoZW1hQ2FjaGUkJC5uZXh0KG5ldyBNYXAodGhpcy5zY2hlbWFDYWNoZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgYEZhaWxlZCB0byBmZXRjaCBPcGVuQVBJIHNjaGVtYSBmb3IgY2x1c3RlciAke2NsdXN0ZXJ9OmAsXG4gICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmoLnmja4gS3ViZXJuZXRlcyDotYTmupDnsbvlnovojrflj5blr7nlupTnmoQgc2NoZW1hXG4gICAqL1xuICBnZXRSZXNvdXJjZVNjaGVtYShcbiAgICBhcGlWZXJzaW9uOiBzdHJpbmcsXG4gICAga2luZDogc3RyaW5nLFxuICApOiBPYnNlcnZhYmxlPE9wZW5BUElWM1NjaGVtYU9iamVjdCB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRPcGVuQVBJU2NoZW1hKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChvcGVuQXBpRG9jID0+IHtcbiAgICAgICAgaWYgKCFvcGVuQXBpRG9jPy5kZWZpbml0aW9ucykge1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIOWwneivleWkmuenjeWPr+iDveeahCBzY2hlbWEga2V5IOagvOW8j1xuICAgICAgICBjb25zdCBwb3NzaWJsZUtleXMgPSBbXG4gICAgICAgICAgYCR7YXBpVmVyc2lvbn0uJHtraW5kfWAsXG4gICAgICAgICAgYCR7YXBpVmVyc2lvbn0vJHtraW5kfWAsXG4gICAgICAgICAga2luZCxcbiAgICAgICAgICBgaW8uazhzLmFwaS4ke2FwaVZlcnNpb24ucmVwbGFjZSgnLycsICcuJyl9LiR7a2luZH1gLFxuICAgICAgICAgIGBpby5rOHMuYXBpLiR7YXBpVmVyc2lvbi5zcGxpdCgnLycpWzBdfS4ke2FwaVZlcnNpb24uc3BsaXQoJy8nKVsxXSB8fCAndjEnfS4ke2tpbmR9YCxcbiAgICAgICAgXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBwb3NzaWJsZUtleXMpIHtcbiAgICAgICAgICBjb25zdCBzY2hlbWEgPSBvcGVuQXBpRG9jLmRlZmluaXRpb25zW2tleV07XG4gICAgICAgICAgaWYgKHNjaGVtYSkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHNjaGVtYSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8g5aaC5p6c5rKh5pyJ5om+5Yiw57K+56Gu5Yy56YWN77yM5bCd6K+V5qih57OK5Yy56YWNXG4gICAgICAgIGNvbnN0IGZ1enp5S2V5ID0gT2JqZWN0LmtleXMob3BlbkFwaURvYy5kZWZpbml0aW9ucykuZmluZChrZXkgPT5cbiAgICAgICAgICBrZXkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhraW5kLnRvTG93ZXJDYXNlKCkpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChmdXp6eUtleSkge1xuICAgICAgICAgIHJldHVybiBvZihvcGVuQXBpRG9jLmRlZmluaXRpb25zW2Z1enp5S2V5XSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPluaJgOacieWPr+eUqOeahOi1hOa6kOWumuS5iVxuICAgKi9cbiAgZ2V0QWxsUmVzb3VyY2VEZWZpbml0aW9ucygpOiBPYnNlcnZhYmxlPFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgT3BlbkFQSVYzU2NoZW1hT2JqZWN0XG4gID4gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3BlbkFQSVNjaGVtYSgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAob3BlbkFwaURvYyA9PiB7XG4gICAgICAgIHJldHVybiBvZihvcGVuQXBpRG9jPy5kZWZpbml0aW9ucyB8fCBudWxsKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICog5riF55CG57yT5a2YXG4gICAqL1xuICBjbGVhckNhY2hlKCk6IHZvaWQge1xuICAgIHRoaXMuc2NoZW1hQ2FjaGUuY2xlYXIoKTtcbiAgICB0aGlzLnNjaGVtYUNhY2hlJCQubmV4dChuZXcgTWFwKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPlue8k+WtmOeKtuaAgVxuICAgKi9cbiAgZ2V0Q2FjaGVTdGF0dXMoKTogT2JzZXJ2YWJsZTxNYXA8c3RyaW5nLCBPcGVuQVBJVjJEb2N1bWVudD4+IHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWFDYWNoZSQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIOajgOafpSBXb3Jrc3BhY2VIZWxwZXJTZXJ2aWNlIOaYr+WQpuWPr+eUqFxuICAgKi9cbiAgaXNXb3Jrc3BhY2VIZWxwZXJBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy53b3Jrc3BhY2VIZWxwZXI7XG4gIH1cblxuICAvKipcbiAgICog5LuOIEt1YmVybmV0ZXMgQVBJIOiOt+WPliBPcGVuQVBJIHNjaGVtYVxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaE9wZW5BUElTY2hlbWEoY2x1c3Rlcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxPcGVuQVBJVjJEb2N1bWVudD4ge1xuICAgIGNvbnN0IHVybCA9IGAke0FQSV9HQVRFV0FZfS9rdWJlcm5ldGVzLyR7Y2x1c3Rlcn0vb3BlbmFwaS92MmA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcGVuQVBJVjJEb2N1bWVudD4odXJsKS5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBgRmFpbGVkIHRvIGZldGNoIE9wZW5BUEkgc2NoZW1hIGZvciBjbHVzdGVyICR7Y2x1c3Rlcn06YCxcbiAgICAgICAgICBlcnJvcixcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -4,6 +4,7 @@ export * from './custom-code-editor-intl.service';
|
|
|
4
4
|
export * from './feature-gate.service';
|
|
5
5
|
export * from './intercept-deactivate.service';
|
|
6
6
|
export * from './k8s-util.service';
|
|
7
|
+
export * from './kubernetes-schema.service';
|
|
7
8
|
export * from './silently-navigate.service';
|
|
8
9
|
export * from './time.service';
|
|
9
10
|
export * from './ui-state.service';
|
|
@@ -15,4 +16,4 @@ export * from './context.service';
|
|
|
15
16
|
export * from './disaster-recovery.service';
|
|
16
17
|
export * from './plugin-util.service';
|
|
17
18
|
export { EncodeUrlParamsSafelyInterceptor } from './encode-url-param.interceptor';
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3NlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdWktcGFnaW5hdG9yLWludGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1aS10b29sdGlwLWNvcHktaW50bC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWNvZGUtZWRpdG9yLWludGwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZ2F0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0LWRlYWN0aXZhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy11dGlsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9rdWJlcm5ldGVzLXNjaGVtYS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2lsZW50bHktbmF2aWdhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3VpLXN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi93b3Jrc3BhY2UtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9vbi1yZXNpemUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3lhbWwtdXRpbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1yb3ctZHVwbGljYXRlL2Zvcm0tcm93LWR1cGxpY2F0ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzYXN0ZXItcmVjb3Zlcnkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbi11dGlsLnNlcnZpY2UnO1xuZXhwb3J0IHsgRW5jb2RlVXJsUGFyYW1zU2FmZWx5SW50ZXJjZXB0b3IgfSBmcm9tICcuL2VuY29kZS11cmwtcGFyYW0uaW50ZXJjZXB0b3InO1xuIl19
|
|
@@ -19,9 +19,10 @@ export class WorkspaceHelperService {
|
|
|
19
19
|
this._baseActivatedRoute = route;
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = function WorkspaceHelperService_Factory(t) { return new (t || WorkspaceHelperService)(); }; }
|
|
22
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WorkspaceHelperService, factory: WorkspaceHelperService.ɵfac }); }
|
|
22
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: WorkspaceHelperService, factory: WorkspaceHelperService.ɵfac, providedIn: 'root' }); }
|
|
23
23
|
}
|
|
24
24
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkspaceHelperService, [{
|
|
25
|
-
type: Injectable
|
|
25
|
+
type: Injectable,
|
|
26
|
+
args: [{ providedIn: 'root' }]
|
|
26
27
|
}], null, null); })();
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvc2VydmljZXMvd29ya3NwYWNlLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFbUIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBWSxJQUFJLENBQUMsQ0FBQztRQUc1RCxlQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FpQjlFO0lBZkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFpQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBcUI7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO3VGQXBCVSxzQkFBc0I7dUVBQXRCLHNCQUFzQixXQUF0QixzQkFBc0IsbUJBRFQsTUFBTTs7aUZBQ25CLHNCQUFzQjtjQURsQyxVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnLi4vdXRpbHMvd29ya3NwYWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2VIZWxwZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlUGFyYW1zJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtzcGFjZT4obnVsbCk7XG4gIHByaXZhdGUgX2Jhc2VBY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgcmVhZG9ubHkgYmFzZVBhcmFtcyA9IHRoaXMuYmFzZVBhcmFtcyQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlsdGVyKEJvb2xlYW4pKTtcblxuICBnZXQgYmFzZVBhcmFtc1NuYXBzaG90KCkge1xuICAgIHJldHVybiB0aGlzLmJhc2VQYXJhbXMkJC52YWx1ZTtcbiAgfVxuXG4gIGdldCBiYXNlQWN0aXZhdGVkUm91dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Jhc2VBY3RpdmF0ZWRSb3V0ZTtcbiAgfVxuXG4gIHNldEJhc2VQYXJhbXMocGFyYW1zOiBXb3Jrc3BhY2UpIHtcbiAgICB0aGlzLmJhc2VQYXJhbXMkJC5uZXh0KHBhcmFtcyk7XG4gIH1cblxuICBzZXRCYXNlQWN0aXZhdGVkUm91dGUocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgdGhpcy5fYmFzZUFjdGl2YXRlZFJvdXRlID0gcm91dGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL29wZW5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wZW5BUElWM1NjaGVtYU9iamVjdCB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuQVBJVjJEb2N1bWVudCB7XG4gIHN3YWdnZXI6IHN0cmluZztcbiAgaW5mbzoge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdmVyc2lvbjogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB9O1xuICBob3N0Pzogc3RyaW5nO1xuICBiYXNlUGF0aD86IHN0cmluZztcbiAgc2NoZW1lcz86IHN0cmluZ1tdO1xuICBjb25zdW1lcz86IHN0cmluZ1tdO1xuICBwcm9kdWNlcz86IHN0cmluZ1tdO1xuICBwYXRoczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZGVmaW5pdGlvbnM6IFJlY29yZDxzdHJpbmcsIE9wZW5BUElWM1NjaGVtYU9iamVjdD47XG4gIHBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICByZXNwb25zZXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZWN1cml0eURlZmluaXRpb25zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgc2VjdXJpdHk/OiBhbnlbXTtcbiAgdGFncz86IGFueVtdO1xuICBleHRlcm5hbERvY3M/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hUHJvcGVydHkge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBwcm9wZXJ0aWVzPzogeyBba2V5OiBzdHJpbmddOiBPcGVuQVBJVjNTY2hlbWFPYmplY3QgfTtcbiAgaXRlbXM/OiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hQnJlYWRjcnVtYiB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nW107XG4gIHNjaGVtYTogT3BlbkFQSVYzU2NoZW1hT2JqZWN0O1xufVxuIl19
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export * from './commons';
|
|
7
7
|
export * from './helpers';
|
|
8
|
+
export * from './openapi';
|
|
8
9
|
export * from './schema';
|
|
9
10
|
export * from './resource-definitions';
|
|
10
11
|
export * from './k8s/public-api';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL3R5cGVzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHR5cGVzXG4gKiBAcHJlZmVycmVkXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9jb21tb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL29wZW5hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNvdXJjZS1kZWZpbml0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2s4cy9wdWJsaWMtYXBpJztcbiJdfQ==
|