@alauda-fe/network 1.0.5 → 1.0.6

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 (52) hide show
  1. package/esm2022/index.mjs +1 -15
  2. package/esm2022/lib/types/k8s-exports.mjs +24 -2
  3. package/index.d.ts +0 -14
  4. package/lib/types/k8s-exports.d.ts +152 -1
  5. package/package.json +1 -1
  6. package/styles.css +1 -1
  7. package/esm2022/lib/components/loadbalancer-spec-form/component.mjs +0 -251
  8. package/esm2022/lib/components/service-annotations-form/annotations.component.mjs +0 -675
  9. package/esm2022/lib/components/service-annotations-form-item/annotations.component.mjs +0 -105
  10. package/esm2022/lib/features/network-policy/components/add-peer-rule-handler/component.mjs +0 -69
  11. package/esm2022/lib/features/network-policy/components/ip-block-display/component.mjs +0 -54
  12. package/esm2022/lib/features/network-policy/components/label-selector-display/component.mjs +0 -117
  13. package/esm2022/lib/features/network-policy/components/peer-container/component.mjs +0 -81
  14. package/esm2022/lib/features/network-policy/components/pod-review/component.mjs +0 -250
  15. package/esm2022/lib/features/network-policy/components/rule-table/component.mjs +0 -269
  16. package/esm2022/lib/features/network-policy/form/network-policy/component.mjs +0 -429
  17. package/esm2022/lib/features/network-policy/form/network-policy-ip-block/component.mjs +0 -102
  18. package/esm2022/lib/features/network-policy/form/network-policy-peer/component.mjs +0 -247
  19. package/esm2022/lib/features/network-policy/form/network-policy-ports/component.mjs +0 -161
  20. package/esm2022/lib/features/network-policy/form/network-policy-remote-except-input/component.mjs +0 -128
  21. package/esm2022/lib/features/network-policy/form/network-policy-rule/component.mjs +0 -142
  22. package/esm2022/lib/services/alb-api.service.mjs +0 -68
  23. package/esm2022/lib/services/subnet-util.service.mjs +0 -118
  24. package/esm2022/lib/types/alb-exports.mjs +0 -14
  25. package/esm2022/lib/types/metallb-exports.mjs +0 -2
  26. package/esm2022/lib/utils/alb-exports.mjs +0 -108
  27. package/esm2022/lib/utils/alb-internals.mjs +0 -2
  28. package/esm2022/lib/utils/common-exports.mjs +0 -22
  29. package/esm2022/lib/utils/validators-exports.mjs +0 -44
  30. package/lib/components/loadbalancer-spec-form/component.d.ts +0 -34
  31. package/lib/components/service-annotations-form/annotations.component.d.ts +0 -74
  32. package/lib/components/service-annotations-form-item/annotations.component.d.ts +0 -14
  33. package/lib/features/network-policy/components/add-peer-rule-handler/component.d.ts +0 -8
  34. package/lib/features/network-policy/components/ip-block-display/component.d.ts +0 -7
  35. package/lib/features/network-policy/components/label-selector-display/component.d.ts +0 -13
  36. package/lib/features/network-policy/components/peer-container/component.d.ts +0 -18
  37. package/lib/features/network-policy/components/pod-review/component.d.ts +0 -37
  38. package/lib/features/network-policy/components/rule-table/component.d.ts +0 -21
  39. package/lib/features/network-policy/form/network-policy/component.d.ts +0 -70
  40. package/lib/features/network-policy/form/network-policy-ip-block/component.d.ts +0 -23
  41. package/lib/features/network-policy/form/network-policy-peer/component.d.ts +0 -43
  42. package/lib/features/network-policy/form/network-policy-ports/component.d.ts +0 -17
  43. package/lib/features/network-policy/form/network-policy-remote-except-input/component.d.ts +0 -23
  44. package/lib/features/network-policy/form/network-policy-rule/component.d.ts +0 -28
  45. package/lib/services/alb-api.service.d.ts +0 -18
  46. package/lib/services/subnet-util.service.d.ts +0 -26
  47. package/lib/types/alb-exports.d.ts +0 -52
  48. package/lib/types/metallb-exports.d.ts +0 -65
  49. package/lib/utils/alb-exports.d.ts +0 -16
  50. package/lib/utils/alb-internals.d.ts +0 -10
  51. package/lib/utils/common-exports.d.ts +0 -5
  52. package/lib/utils/validators-exports.d.ts +0 -16
@@ -1,108 +0,0 @@
1
- import { toUnitNumM, toUnitMi, IP_PATTERN_BASE, } from '@alauda-fe/common';
2
- import { sortBy, union } from 'lodash-es';
3
- import { SpecModel, } from '../types/alb-exports';
4
- const DEFINED_RESOURCE_LIMITS = [
5
- {
6
- specModel: SpecModel.SMALL,
7
- resourceLimit: {
8
- cpu: {
9
- value: 200,
10
- unit: 'm',
11
- },
12
- memory: {
13
- value: 256,
14
- unit: 'Mi',
15
- },
16
- },
17
- },
18
- {
19
- specModel: SpecModel.MEDIUM,
20
- resourceLimit: {
21
- cpu: {
22
- value: 2,
23
- unit: 'core',
24
- },
25
- memory: {
26
- value: 1,
27
- unit: 'Gi',
28
- },
29
- },
30
- },
31
- {
32
- specModel: SpecModel.LARGE,
33
- resourceLimit: {
34
- cpu: {
35
- value: 4,
36
- unit: 'core',
37
- },
38
- memory: {
39
- value: 2,
40
- unit: 'Gi',
41
- },
42
- },
43
- },
44
- ];
45
- export const formatResourceLimit = ({ value, unit, }) => value || value === 0 ? value + (unit === 'core' ? '' : unit) : undefined;
46
- export const parseResourceLimit = (plainResourceLimit = {}) => {
47
- const { cpu, memory } = plainResourceLimit;
48
- const resourceLimitModel = DEFINED_RESOURCE_LIMITS.find(({ resourceLimit }) => cpu === formatResourceLimit(resourceLimit.cpu) &&
49
- memory === formatResourceLimit(resourceLimit.memory));
50
- return {
51
- specModel: resourceLimitModel?.specModel || SpecModel.CUSTOMIZE,
52
- resourceLimit: plainResourceLimit,
53
- };
54
- };
55
- export const RESOURCE_LIMIT_MAPPER = DEFINED_RESOURCE_LIMITS.reduce((acc, curr) => {
56
- acc[curr.specModel] = curr.resourceLimit;
57
- return acc;
58
- }, {});
59
- export function getResourceLimit(resource) {
60
- const resources = resource?.spec?.config?.resources;
61
- const { specModel, resourceLimit } = parseResourceLimit(resources?.limits || resources?.requests);
62
- if (specModel !== SpecModel.CUSTOMIZE) {
63
- return {
64
- specModel,
65
- resourceLimit: RESOURCE_LIMIT_MAPPER[specModel],
66
- };
67
- }
68
- const cpuMValue = parseInt(toUnitNumM(resourceLimit.cpu));
69
- const memoryMiValue = parseInt(toUnitMi(resourceLimit.memory));
70
- const cpuCoreValue = cpuMValue / 1000;
71
- const isCore = Number.isNaN(cpuCoreValue) || cpuCoreValue === Math.floor(cpuCoreValue);
72
- const memoryGiValue = memoryMiValue / 1024;
73
- const isGi = Number.isNaN(memoryGiValue) || memoryGiValue === Math.floor(memoryGiValue);
74
- return {
75
- specModel,
76
- resourceLimit: {
77
- cpu: {
78
- value: cpuMValue === 0 ? 0 : (isCore ? cpuCoreValue : cpuMValue) || null,
79
- unit: isCore ? 'core' : 'm',
80
- },
81
- memory: {
82
- value: memoryMiValue === 0
83
- ? 0
84
- : (isGi ? memoryGiValue : memoryMiValue) || null,
85
- unit: isGi ? 'Gi' : 'Mi',
86
- },
87
- },
88
- };
89
- }
90
- export const METALLB = 'metallb';
91
- export const METALLB_NS = `${METALLB}-system`;
92
- export function parseAddresses(alb2) {
93
- const ipAddress = [
94
- ...(alb2?.status?.detail?.address?.host ?? []),
95
- ...(alb2?.status?.detail?.address?.ipv4 ?? []),
96
- ...(alb2?.status?.detail?.address?.ipv6 ?? []),
97
- ...(alb2?.spec?.address ? alb2?.spec?.address?.split(',') : []),
98
- ];
99
- return union(ipAddress);
100
- }
101
- export function getAddressPriority(address) {
102
- const reg = new RegExp(IP_PATTERN_BASE);
103
- return address.includes(':') ? 2 : reg.test(address) ? 1 : 0;
104
- }
105
- export function sortAddressesByPriority(addresses) {
106
- return sortBy(addresses, getAddressPriority);
107
- }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi91dGlscy9hbGItZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixlQUFlLEdBRWhCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFMUMsT0FBTyxFQUVMLFNBQVMsR0FFVixNQUFNLHNCQUFzQixDQUFDO0FBSzlCLE1BQU0sdUJBQXVCLEdBQTRCO0lBQ3ZEO1FBQ0UsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQzFCLGFBQWEsRUFBRTtZQUNiLEdBQUcsRUFBRTtnQkFDSCxLQUFLLEVBQUUsR0FBRztnQkFDVixJQUFJLEVBQUUsR0FBRzthQUNWO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxHQUFHO2dCQUNWLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxTQUFTLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDM0IsYUFBYSxFQUFFO1lBQ2IsR0FBRyxFQUFFO2dCQUNILEtBQUssRUFBRSxDQUFDO2dCQUNSLElBQUksRUFBRSxNQUFNO2FBQ2I7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGO0tBQ0Y7SUFDRDtRQUNFLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztRQUMxQixhQUFhLEVBQUU7WUFDYixHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLE1BQU07YUFDYjtZQUNELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsQ0FBQztnQkFDUixJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0Y7S0FDRjtDQUNGLENBQUM7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O0lBQ3hDLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFNBQW1CO0lBQ3pELE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0b1VuaXROdW1NLFxuICB0b1VuaXRNaSxcbiAgSVBfUEFUVEVSTl9CQVNFLFxuICBMb29zZVZhbHVlT2YsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IHNvcnRCeSwgdW5pb24gfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQge1xuICBQbGFpblJlc291cmNlTGltaXQsXG4gIFNwZWNNb2RlbCxcbiAgQWxiUmVzb3VyY2VMaW1pdE1vZGVsLFxufSBmcm9tICcuLi90eXBlcy9hbGItZXhwb3J0cyc7XG5pbXBvcnQgeyBBTEIyIH0gZnJvbSAnLi4vdHlwZXMvazhzLWV4cG9ydHMnO1xuXG5pbXBvcnQgeyBSZXNvdXJjZUxpbWl0IH0gZnJvbSAnLi9hbGItaW50ZXJuYWxzJztcblxuY29uc3QgREVGSU5FRF9SRVNPVVJDRV9MSU1JVFM6IEFsYlJlc291cmNlTGltaXRNb2RlbFtdID0gW1xuICB7XG4gICAgc3BlY01vZGVsOiBTcGVjTW9kZWwuU01BTEwsXG4gICAgcmVzb3VyY2VMaW1pdDoge1xuICAgICAgY3B1OiB7XG4gICAgICAgIHZhbHVlOiAyMDAsXG4gICAgICAgIHVuaXQ6ICdtJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDI1NixcbiAgICAgICAgdW5pdDogJ01pJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIHNwZWNNb2RlbDogU3BlY01vZGVsLk1FRElVTSxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgIHVuaXQ6ICdjb3JlJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgIHVuaXQ6ICdHaScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBzcGVjTW9kZWw6IFNwZWNNb2RlbC5MQVJHRSxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6IDQsXG4gICAgICAgIHVuaXQ6ICdjb3JlJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgIHVuaXQ6ICdHaScsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZm9ybWF0UmVzb3VyY2VMaW1pdCA9ICh7XG4gIHZhbHVlLFxuICB1bml0LFxufTogTG9vc2VWYWx1ZU9mPFJlc291cmNlTGltaXQ+KSA9PlxuICB2YWx1ZSB8fCB2YWx1ZSA9PT0gMCA/IHZhbHVlICsgKHVuaXQgPT09ICdjb3JlJyA/ICcnIDogdW5pdCkgOiB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlc291cmNlTGltaXQgPSAoXG4gIHBsYWluUmVzb3VyY2VMaW1pdDogUGxhaW5SZXNvdXJjZUxpbWl0ID0ge30sXG4pOiB7XG4gIHNwZWNNb2RlbDogU3BlY01vZGVsO1xuICByZXNvdXJjZUxpbWl0OiBQbGFpblJlc291cmNlTGltaXQ7XG59ID0+IHtcbiAgY29uc3QgeyBjcHUsIG1lbW9yeSB9ID0gcGxhaW5SZXNvdXJjZUxpbWl0O1xuXG4gIGNvbnN0IHJlc291cmNlTGltaXRNb2RlbCA9IERFRklORURfUkVTT1VSQ0VfTElNSVRTLmZpbmQoXG4gICAgKHsgcmVzb3VyY2VMaW1pdCB9KSA9PlxuICAgICAgY3B1ID09PSBmb3JtYXRSZXNvdXJjZUxpbWl0KHJlc291cmNlTGltaXQuY3B1KSAmJlxuICAgICAgbWVtb3J5ID09PSBmb3JtYXRSZXNvdXJjZUxpbWl0KHJlc291cmNlTGltaXQubWVtb3J5KSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHNwZWNNb2RlbDogcmVzb3VyY2VMaW1pdE1vZGVsPy5zcGVjTW9kZWwgfHwgU3BlY01vZGVsLkNVU1RPTUlaRSxcbiAgICByZXNvdXJjZUxpbWl0OiBwbGFpblJlc291cmNlTGltaXQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfTElNSVRfTUFQUEVSID0gREVGSU5FRF9SRVNPVVJDRV9MSU1JVFMucmVkdWNlPFxuICBQYXJ0aWFsPFJlY29yZDxTcGVjTW9kZWwsIFJlc291cmNlTGltaXQ+PlxuPigoYWNjLCBjdXJyKSA9PiB7XG4gIGFjY1tjdXJyLnNwZWNNb2RlbF0gPSBjdXJyLnJlc291cmNlTGltaXQ7XG4gIHJldHVybiBhY2M7XG59LCB7fSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZUxpbWl0KHJlc291cmNlOiBBTEIyKTogQWxiUmVzb3VyY2VMaW1pdE1vZGVsIHtcbiAgY29uc3QgcmVzb3VyY2VzID0gcmVzb3VyY2U/LnNwZWM/LmNvbmZpZz8ucmVzb3VyY2VzO1xuXG4gIGNvbnN0IHsgc3BlY01vZGVsLCByZXNvdXJjZUxpbWl0IH0gPSBwYXJzZVJlc291cmNlTGltaXQoXG4gICAgcmVzb3VyY2VzPy5saW1pdHMgfHwgcmVzb3VyY2VzPy5yZXF1ZXN0cyxcbiAgKTtcblxuICBpZiAoc3BlY01vZGVsICE9PSBTcGVjTW9kZWwuQ1VTVE9NSVpFKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNwZWNNb2RlbCxcbiAgICAgIHJlc291cmNlTGltaXQ6IFJFU09VUkNFX0xJTUlUX01BUFBFUltzcGVjTW9kZWxdLFxuICAgIH07XG4gIH1cblxuICBjb25zdCBjcHVNVmFsdWUgPSBwYXJzZUludCh0b1VuaXROdW1NKHJlc291cmNlTGltaXQuY3B1KSk7XG4gIGNvbnN0IG1lbW9yeU1pVmFsdWUgPSBwYXJzZUludCh0b1VuaXRNaShyZXNvdXJjZUxpbWl0Lm1lbW9yeSkpO1xuXG4gIGNvbnN0IGNwdUNvcmVWYWx1ZSA9IGNwdU1WYWx1ZSAvIDEwMDA7XG4gIGNvbnN0IGlzQ29yZSA9XG4gICAgTnVtYmVyLmlzTmFOKGNwdUNvcmVWYWx1ZSkgfHwgY3B1Q29yZVZhbHVlID09PSBNYXRoLmZsb29yKGNwdUNvcmVWYWx1ZSk7XG5cbiAgY29uc3QgbWVtb3J5R2lWYWx1ZSA9IG1lbW9yeU1pVmFsdWUgLyAxMDI0O1xuICBjb25zdCBpc0dpID1cbiAgICBOdW1iZXIuaXNOYU4obWVtb3J5R2lWYWx1ZSkgfHwgbWVtb3J5R2lWYWx1ZSA9PT0gTWF0aC5mbG9vcihtZW1vcnlHaVZhbHVlKTtcblxuICByZXR1cm4ge1xuICAgIHNwZWNNb2RlbCxcbiAgICByZXNvdXJjZUxpbWl0OiB7XG4gICAgICBjcHU6IHtcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgY3B1TVZhbHVlID09PSAwID8gMCA6IChpc0NvcmUgPyBjcHVDb3JlVmFsdWUgOiBjcHVNVmFsdWUpIHx8IG51bGwsXG4gICAgICAgIHVuaXQ6IGlzQ29yZSA/ICdjb3JlJyA6ICdtJyxcbiAgICAgIH0sXG4gICAgICBtZW1vcnk6IHtcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgbWVtb3J5TWlWYWx1ZSA9PT0gMFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IChpc0dpID8gbWVtb3J5R2lWYWx1ZSA6IG1lbW9yeU1pVmFsdWUpIHx8IG51bGwsXG4gICAgICAgIHVuaXQ6IGlzR2kgPyAnR2knIDogJ01pJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IE1FVEFMTEIgPSAnbWV0YWxsYic7XG5leHBvcnQgY29uc3QgTUVUQUxMQl9OUyA9IGAke01FVEFMTEJ9LXN5c3RlbWAgYXMgY29uc3Q7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUFkZHJlc3NlcyhhbGIyOiBBTEIyKSB7XG4gIGNvbnN0IGlwQWRkcmVzcyA9IFtcbiAgICAuLi4oYWxiMj8uc3RhdHVzPy5kZXRhaWw/LmFkZHJlc3M/Lmhvc3QgPz8gW10pLFxuICAgIC4uLihhbGIyPy5zdGF0dXM/LmRldGFpbD8uYWRkcmVzcz8uaXB2NCA/PyBbXSksXG4gICAgLi4uKGFsYjI/LnN0YXR1cz8uZGV0YWlsPy5hZGRyZXNzPy5pcHY2ID8/IFtdKSxcbiAgICAuLi4oYWxiMj8uc3BlYz8uYWRkcmVzcyA/IGFsYjI/LnNwZWM/LmFkZHJlc3M/LnNwbGl0KCcsJykgOiBbXSksXG4gIF07XG4gIHJldHVybiB1bmlvbihpcEFkZHJlc3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc1ByaW9yaXR5KGFkZHJlc3M6IHN0cmluZykge1xuICBjb25zdCByZWcgPSBuZXcgUmVnRXhwKElQX1BBVFRFUk5fQkFTRSk7XG4gIHJldHVybiBhZGRyZXNzLmluY2x1ZGVzKCc6JykgPyAyIDogcmVnLnRlc3QoYWRkcmVzcykgPyAxIDogMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNvcnRBZGRyZXNzZXNCeVByaW9yaXR5KGFkZHJlc3Nlczogc3RyaW5nW10pIHtcbiAgcmV0dXJuIHNvcnRCeShhZGRyZXNzZXMsIGdldEFkZHJlc3NQcmlvcml0eSk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLWludGVybmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvbmV0d29yay9zcmMvbGliL3V0aWxzL2FsYi1pbnRlcm5hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VMaW1pdCB7XG4gIGNwdToge1xuICAgIHZhbHVlOiBudW1iZXI7XG4gICAgdW5pdDogJ2NvcmUnIHwgJ20nO1xuICB9O1xuICBtZW1vcnk6IHtcbiAgICB2YWx1ZTogbnVtYmVyO1xuICAgIHVuaXQ6ICdHaScgfCAnTWknO1xuICB9O1xufVxuIl19
@@ -1,22 +0,0 @@
1
- function _getMatchedDomain(domains, domain) {
2
- for (const d of domains) {
3
- if (d.spec.kind === 'full' && d.spec.name === domain) {
4
- return d;
5
- }
6
- if (d.spec.kind === 'extensive' && domain.endsWith(d.spec.name.slice(1))) {
7
- return d;
8
- }
9
- }
10
- }
11
- export function getMatchedDomain(domains, domain) {
12
- const matched = _getMatchedDomain(domains, domain);
13
- if (matched?.spec.kind === 'extensive') {
14
- const d = matched.spec.name;
15
- return {
16
- // `test.alauda.io` + `*.alauda.io` -> test
17
- subDomain: domain.slice(0, domain.length - d.length + 1),
18
- domain: d,
19
- };
20
- }
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWV4cG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL25ldHdvcmsvc3JjL2xpYi91dGlscy9jb21tb24tZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxTQUFTLGlCQUFpQixDQUFDLE9BQWlCLEVBQUUsTUFBYztJQUMxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFpQixFQUFFLE1BQWM7SUFDaEUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELElBQUksT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDNUIsT0FBTztZQUNMLDJDQUEyQztZQUMzQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN4RCxNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbWFpbiB9IGZyb20gJy4uL3R5cGVzL2s4cy1leHBvcnRzJztcblxuZnVuY3Rpb24gX2dldE1hdGNoZWREb21haW4oZG9tYWluczogRG9tYWluW10sIGRvbWFpbjogc3RyaW5nKSB7XG4gIGZvciAoY29uc3QgZCBvZiBkb21haW5zKSB7XG4gICAgaWYgKGQuc3BlYy5raW5kID09PSAnZnVsbCcgJiYgZC5zcGVjLm5hbWUgPT09IGRvbWFpbikge1xuICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuXG4gICAgaWYgKGQuc3BlYy5raW5kID09PSAnZXh0ZW5zaXZlJyAmJiBkb21haW4uZW5kc1dpdGgoZC5zcGVjLm5hbWUuc2xpY2UoMSkpKSB7XG4gICAgICByZXR1cm4gZDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWREb21haW4oZG9tYWluczogRG9tYWluW10sIGRvbWFpbjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZWQgPSBfZ2V0TWF0Y2hlZERvbWFpbihkb21haW5zLCBkb21haW4pO1xuICBpZiAobWF0Y2hlZD8uc3BlYy5raW5kID09PSAnZXh0ZW5zaXZlJykge1xuICAgIGNvbnN0IGQgPSBtYXRjaGVkLnNwZWMubmFtZTtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gYHRlc3QuYWxhdWRhLmlvYCArIGAqLmFsYXVkYS5pb2AgLT4gdGVzdFxuICAgICAgc3ViRG9tYWluOiBkb21haW4uc2xpY2UoMCwgZG9tYWluLmxlbmd0aCAtIGQubGVuZ3RoICsgMSksXG4gICAgICBkb21haW46IGQsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,44 +0,0 @@
1
- import { DOMAIN_PATTERN, publishRef, } from '@alauda-fe/common';
2
- import { Validators } from '@angular/forms';
3
- import { map } from 'rxjs';
4
- export const getHostPrefixErrorMapper = (translate) => ({
5
- hostPrefixExtensivePosition: translate.get('network.domain_extensive_starts_tip'),
6
- hostPrefixPattern: translate.get('network.host_prefix_pattern_error'),
7
- maxlength: translate.get('network.extra_long_domain_name'),
8
- hostPrefixIncludeDotError: translate.get('network.host_prefix_input_dot_error'),
9
- });
10
- export const getHostPrefixErrorMapper$ = (translate) => translate.locale$.pipe(map(() => getHostPrefixErrorMapper(translate)), publishRef());
11
- export const hostPrefixValidator = (hostPrefixCtrl) => {
12
- let hostPrefix = hostPrefixCtrl.value;
13
- if (!hostPrefix) {
14
- return;
15
- }
16
- if (hostPrefix.includes('.')) {
17
- return {
18
- hostPrefixIncludeDotError: true,
19
- };
20
- }
21
- if (hostPrefix.includes('*')) {
22
- if (hostPrefix === '*') {
23
- return;
24
- }
25
- const startExtensive = hostPrefix.startsWith('*.');
26
- if (hostPrefix.lastIndexOf('*') !== 0 ||
27
- (hostPrefix.length > 1 && !startExtensive)) {
28
- return {
29
- hostPrefixExtensivePosition: true,
30
- };
31
- }
32
- if (startExtensive) {
33
- hostPrefix = hostPrefix.slice(2);
34
- }
35
- }
36
- if (!DOMAIN_PATTERN.pattern.test(hostPrefix + '.example.org')) {
37
- return { hostPrefixPattern: true };
38
- }
39
- };
40
- export const getHostPrefixCompleteValidators = (domainLength) => [
41
- hostPrefixValidator,
42
- Validators.maxLength(domainLength),
43
- ];
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy1leHBvcnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9uZXR3b3JrL3NyYy9saWIvdXRpbHMvdmFsaWRhdG9ycy1leHBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBRWQsVUFBVSxHQUNYLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFxQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RSwyQkFBMkIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUN4QyxxQ0FBcUMsQ0FDdEM7SUFDRCxpQkFBaUIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDO0lBQ3JFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDO0lBQzFELHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQ3RDLHFDQUFxQyxDQUN0QztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsU0FBMkIsRUFBRSxFQUFFLENBQ3ZFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDOUMsVUFBVSxFQUFFLENBQ2IsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLGNBQStCLEVBQ2IsRUFBRTtJQUNwQixJQUFJLFVBQVUsR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBRTlDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixPQUFPO0lBQ1QsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdCLE9BQU87WUFDTCx5QkFBeUIsRUFBRSxJQUFJO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0IsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDdkIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5ELElBQ0UsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ2pDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDMUMsQ0FBQztZQUNELE9BQU87Z0JBQ0wsMkJBQTJCLEVBQUUsSUFBSTthQUNsQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFlBQW9CLEVBQUUsRUFBRSxDQUFDO0lBQ3ZFLG1CQUFtQjtJQUNuQixVQUFVLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQztDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRE9NQUlOX1BBVFRFUk4sXG4gIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJ0BhbGF1ZGEtZmUvY29tbW9uJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdFByZWZpeEVycm9yTWFwcGVyID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT4gKHtcbiAgaG9zdFByZWZpeEV4dGVuc2l2ZVBvc2l0aW9uOiB0cmFuc2xhdGUuZ2V0KFxuICAgICduZXR3b3JrLmRvbWFpbl9leHRlbnNpdmVfc3RhcnRzX3RpcCcsXG4gICksXG4gIGhvc3RQcmVmaXhQYXR0ZXJuOiB0cmFuc2xhdGUuZ2V0KCduZXR3b3JrLmhvc3RfcHJlZml4X3BhdHRlcm5fZXJyb3InKSxcbiAgbWF4bGVuZ3RoOiB0cmFuc2xhdGUuZ2V0KCduZXR3b3JrLmV4dHJhX2xvbmdfZG9tYWluX25hbWUnKSxcbiAgaG9zdFByZWZpeEluY2x1ZGVEb3RFcnJvcjogdHJhbnNsYXRlLmdldChcbiAgICAnbmV0d29yay5ob3N0X3ByZWZpeF9pbnB1dF9kb3RfZXJyb3InLFxuICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0UHJlZml4RXJyb3JNYXBwZXIkID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkgPT5cbiAgdHJhbnNsYXRlLmxvY2FsZSQucGlwZShcbiAgICBtYXAoKCkgPT4gZ2V0SG9zdFByZWZpeEVycm9yTWFwcGVyKHRyYW5zbGF0ZSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGhvc3RQcmVmaXhWYWxpZGF0b3IgPSAoXG4gIGhvc3RQcmVmaXhDdHJsOiBBYnN0cmFjdENvbnRyb2wsXG4pOiBWYWxpZGF0aW9uRXJyb3JzID0+IHtcbiAgbGV0IGhvc3RQcmVmaXg6IHN0cmluZyA9IGhvc3RQcmVmaXhDdHJsLnZhbHVlO1xuXG4gIGlmICghaG9zdFByZWZpeCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChob3N0UHJlZml4LmluY2x1ZGVzKCcuJykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaG9zdFByZWZpeEluY2x1ZGVEb3RFcnJvcjogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGhvc3RQcmVmaXguaW5jbHVkZXMoJyonKSkge1xuICAgIGlmIChob3N0UHJlZml4ID09PSAnKicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydEV4dGVuc2l2ZSA9IGhvc3RQcmVmaXguc3RhcnRzV2l0aCgnKi4nKTtcblxuICAgIGlmIChcbiAgICAgIGhvc3RQcmVmaXgubGFzdEluZGV4T2YoJyonKSAhPT0gMCB8fFxuICAgICAgKGhvc3RQcmVmaXgubGVuZ3RoID4gMSAmJiAhc3RhcnRFeHRlbnNpdmUpXG4gICAgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBob3N0UHJlZml4RXh0ZW5zaXZlUG9zaXRpb246IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChzdGFydEV4dGVuc2l2ZSkge1xuICAgICAgaG9zdFByZWZpeCA9IGhvc3RQcmVmaXguc2xpY2UoMik7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFET01BSU5fUEFUVEVSTi5wYXR0ZXJuLnRlc3QoaG9zdFByZWZpeCArICcuZXhhbXBsZS5vcmcnKSkge1xuICAgIHJldHVybiB7IGhvc3RQcmVmaXhQYXR0ZXJuOiB0cnVlIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0UHJlZml4Q29tcGxldGVWYWxpZGF0b3JzID0gKGRvbWFpbkxlbmd0aDogbnVtYmVyKSA9PiBbXG4gIGhvc3RQcmVmaXhWYWxpZGF0b3IsXG4gIFZhbGlkYXRvcnMubWF4TGVuZ3RoKGRvbWFpbkxlbmd0aCksXG5dO1xuIl19
@@ -1,34 +0,0 @@
1
- import { BaseResourceFormGroupComponent } from 'ng-resource-form-util';
2
- import { AlbResourceLimitModel, SpecModel } from '../../types/alb-exports';
3
- import * as i0 from "@angular/core";
4
- export declare class LoadBalancerSpecFormComponent extends BaseResourceFormGroupComponent<AlbResourceLimitModel> {
5
- SpecModel: typeof SpecModel;
6
- SPEC_MODEL_TIPS: {
7
- model: SpecModel;
8
- tip: string;
9
- }[];
10
- POSITIVE_INT_PATTERN: {
11
- pattern: RegExp;
12
- tip: string;
13
- };
14
- createForm(): import("@angular/forms").FormGroup<{
15
- specModel: import("@angular/forms").FormControl<SpecModel>;
16
- resourceLimit: import("@angular/forms").FormGroup<{
17
- cpu: import("@angular/forms").FormGroup<{
18
- value: import("@angular/forms").FormControl<number>;
19
- unit: import("@angular/forms").FormControl<"core" | "m">;
20
- }>;
21
- memory: import("@angular/forms").FormGroup<{
22
- value: import("@angular/forms").FormControl<number>;
23
- unit: import("@angular/forms").FormControl<"Gi" | "Mi">;
24
- }>;
25
- }>;
26
- }>;
27
- getDefaultFormModel(): {
28
- specModel: SpecModel;
29
- resourceLimit: import("../../utils/alb-internals").ResourceLimit;
30
- };
31
- onSpecModelChange(specModel: SpecModel): void;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadBalancerSpecFormComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadBalancerSpecFormComponent, "acl-alb-spec-form", never, {}, {}, never, never, true, never>;
34
- }
@@ -1,74 +0,0 @@
1
- import { BaseStringMapFormComponent, KeyValueTuple, StringMap, TranslateKey } from '@alauda-fe/common';
2
- import { Injector } from '@angular/core';
3
- import { FormArray, FormControl } from '@angular/forms';
4
- import { ClusterType } from '../../utils/cluster-exports';
5
- import * as i0 from "@angular/core";
6
- declare enum PRODUCT_BASE_HREF_MAP {
7
- devops = "/console-devops/",
8
- acp = "/console-acp/",
9
- asm = "/console-asm/",
10
- dataservices = "/console-dataservices/",
11
- cec = "/console-cec/",
12
- platform = "/console-platform/"
13
- }
14
- export interface AnnotationConfigOption {
15
- key: string;
16
- tip: TranslateKey;
17
- doc?: {
18
- tip: TranslateKey;
19
- tipPrefix?: TranslateKey;
20
- path?: string;
21
- rawUrl?: string;
22
- product?: keyof typeof PRODUCT_BASE_HREF_MAP;
23
- };
24
- value?: {
25
- example: string;
26
- tip: TranslateKey;
27
- docLink: string;
28
- };
29
- values?: Array<{
30
- value: string;
31
- tip?: TranslateKey;
32
- }>;
33
- }
34
- export declare const KNOWN_ANNOTATIONS: Partial<Record<ClusterType, {
35
- label: string;
36
- docLink: string;
37
- options: AnnotationConfigOption[];
38
- }>>;
39
- export declare class ServiceAnnotationsFormComponent extends BaseStringMapFormComponent {
40
- private readonly baseDomain;
41
- isUpdate: boolean;
42
- clusterType: ClusterType;
43
- resourceName: string;
44
- private readonly translate;
45
- protected readonly baseHref: string;
46
- readonly readonlyPartialKeys: string[];
47
- annotationsErrorsMapper: import("rxjs").Observable<{
48
- key: {
49
- namePattern: string;
50
- prefixPattern: string;
51
- nameTooLong: string;
52
- prefixTooLong: string;
53
- };
54
- }>;
55
- KNOWN_ANNOTATIONS: Partial<Record<ClusterType, {
56
- label: string;
57
- docLink: string;
58
- options: AnnotationConfigOption[];
59
- }>>;
60
- constructor(injector: Injector, baseDomain: string);
61
- filterOptions(options: AnnotationConfigOption[] | undefined, index: number): AnnotationConfigOption[];
62
- getConfigOption(options: AnnotationConfigOption[] | undefined, key: string): AnnotationConfigOption;
63
- isReadonly(key: string): boolean;
64
- getDefaultFormModel(): KeyValueTuple[];
65
- adaptResourceModel(resource: StringMap): [string, string][];
66
- getKeyValidators(): typeof import("@alauda-fe/common").k8sResourceLabelKeyValidator;
67
- isLabelReadonly(control: FormArray<FormControl<string>>): boolean;
68
- getActiveConfigOption(options: AnnotationConfigOption[] | undefined, key: string): AnnotationConfigOption;
69
- onKeySelected(control: FormArray<FormControl<string>>): void;
70
- showDocLink(baseHref: string, product?: keyof typeof PRODUCT_BASE_HREF_MAP): boolean;
71
- static ɵfac: i0.ɵɵFactoryDeclaration<ServiceAnnotationsFormComponent, never>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<ServiceAnnotationsFormComponent, "acl-service-annotations-form", never, { "isUpdate": { "alias": "isUpdate"; "required": true; }; "clusterType": { "alias": "clusterType"; "required": true; }; "resourceName": { "alias": "resourceName"; "required": true; }; }, {}, never, ["*"], true, never>;
73
- }
74
- export {};
@@ -1,14 +0,0 @@
1
- import { StringMap } from '@alauda-fe/common';
2
- import { BaseResourceFormComponent } from 'ng-resource-form-util';
3
- import { ClusterType } from '../../utils/cluster-exports';
4
- import * as i0 from "@angular/core";
5
- export declare class ServiceAnnotationsFormItemComponent extends BaseResourceFormComponent<StringMap> {
6
- isUpdate: boolean;
7
- clusterType: ClusterType;
8
- inService: boolean;
9
- get resourceName(): "annotation" | "network.service_annotations";
10
- isPublicCloud: (clusterType?: string) => boolean;
11
- createForm(): import("@angular/forms").FormControl<{}>;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<ServiceAnnotationsFormItemComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<ServiceAnnotationsFormItemComponent, "acl-service-annotations-form-item", never, { "isUpdate": { "alias": "isUpdate"; "required": true; }; "clusterType": { "alias": "clusterType"; "required": true; }; "inService": { "alias": "inService"; "required": false; }; }, {}, never, ["*"], true, never>;
14
- }
@@ -1,8 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export type NetworkPolicyPeerType = 'ipBlock' | 'namespaceLevel' | 'clusterLevel';
4
- export declare class PeerRuleHandlerComponent {
5
- peerTypeChange: EventEmitter<NetworkPolicyPeerType>;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<PeerRuleHandlerComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<PeerRuleHandlerComponent, "acl-peer-rule-handler", never, {}, { "peerTypeChange": "peerTypeChange"; }, never, never, true, never>;
8
- }
@@ -1,7 +0,0 @@
1
- import { IPBlock } from '../../../../types/k8s-exports';
2
- import * as i0 from "@angular/core";
3
- export declare class IPBlockDisplayComponent {
4
- ipBlock: IPBlock;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<IPBlockDisplayComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<IPBlockDisplayComponent, "acl-ip-block-display", never, { "ipBlock": { "alias": "ipBlock"; "required": true; }; }, {}, never, never, true, never>;
7
- }
@@ -1,13 +0,0 @@
1
- import { LabelSelector, matchExpressionsToString, StringMap } from '@alauda-fe/common';
2
- import * as i0 from "@angular/core";
3
- export declare const matchLabelsToString: (params?: StringMap) => string;
4
- export declare class LabelSelectorDisplayComponent {
5
- type: 'podSelector' | 'namespaceSelector';
6
- selector: LabelSelector;
7
- showTitle: boolean;
8
- emptyPlaceholder: string;
9
- matchExpressionsToString: typeof matchExpressionsToString;
10
- matchLabelsToString: (params?: StringMap) => string;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<LabelSelectorDisplayComponent, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<LabelSelectorDisplayComponent, "acl-label-selector-display", never, { "type": { "alias": "type"; "required": true; }; "selector": { "alias": "selector"; "required": true; }; "showTitle": { "alias": "showTitle"; "required": false; }; "emptyPlaceholder": { "alias": "emptyPlaceholder"; "required": false; }; }, {}, never, never, true, never>;
13
- }
@@ -1,18 +0,0 @@
1
- import { EventEmitter, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class PeerTitleDirective {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<PeerTitleDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<PeerTitleDirective, "[alkPeerTitle]", never, {}, {}, never, never, true, never>;
6
- }
7
- export declare class PeerFooterDirective {
8
- static ɵfac: i0.ɵɵFactoryDeclaration<PeerFooterDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<PeerFooterDirective, "[alkPeerFooter]", never, {}, {}, never, never, true, never>;
10
- }
11
- export declare class NetworkPolicyPeerContainerComponent {
12
- peerTitleTemplate: TemplateRef<any>;
13
- peerFooterTemplate: TemplateRef<any>;
14
- deleteRule: EventEmitter<void>;
15
- get hasPeerFooter(): boolean;
16
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyPeerContainerComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyPeerContainerComponent, "acl-network-policy-peer-container", never, {}, { "deleteRule": "deleteRule"; }, ["peerTitleTemplate", "peerFooterTemplate"], ["[alkPeerTitle]", "*", "[alkPeerFooter]"], true, never>;
18
- }
@@ -1,37 +0,0 @@
1
- import { K8sApiService, K8sUtilService, Pod, StringMap, WorkspaceParams } from '@alauda-fe/common';
2
- import { HttpClient } from '@angular/common/http';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- type PodMap = Record<string, Pod[]>;
6
- export declare class PodPreviewComponent {
7
- private readonly k8sApi;
8
- private readonly k8sUtil;
9
- private readonly http;
10
- hint: string;
11
- podLabelSelector: StringMap;
12
- namespaceLabelSelector: StringMap;
13
- baseParams: WorkspaceParams;
14
- baseParams$: Observable<WorkspaceParams>;
15
- podMapExpandState: Record<string, boolean>;
16
- isEmpty: {
17
- <T extends {
18
- __trapAny: any;
19
- }>(value?: T): boolean;
20
- (value: string): value is "";
21
- (value: Map<any, any> | Set<any> | import("lodash").List<any> | null | undefined): boolean;
22
- (value: object): boolean;
23
- <T extends object>(value: T | null | undefined): value is import("lodash").EmptyObjectOf<T> | null | undefined;
24
- (value?: any): boolean;
25
- };
26
- private readonly projects$;
27
- private readonly namespaces$;
28
- private readonly pods$;
29
- podMap$: Observable<PodMap>;
30
- constructor(k8sApi: K8sApiService, k8sUtil: K8sUtilService, http: HttpClient);
31
- private getPods;
32
- private getClusterNamespaces;
33
- private getClusterProjects;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<PodPreviewComponent, never>;
35
- static ɵcmp: i0.ɵɵComponentDeclaration<PodPreviewComponent, "acl-pod-preview", never, { "hint": { "alias": "hint"; "required": true; }; "podLabelSelector": { "alias": "podLabelSelector"; "required": false; }; "namespaceLabelSelector": { "alias": "namespaceLabelSelector"; "required": false; }; "baseParams": { "alias": "baseParams"; "required": true; }; }, {}, never, never, true, never>;
36
- }
37
- export {};
@@ -1,21 +0,0 @@
1
- import { LabelSelector } from '@alauda-fe/common';
2
- import { IPBlock, NetworkPolicyPort, PolicyType } from '../../../../types/k8s-exports';
3
- import { NetworkPolicyPeerType } from '../add-peer-rule-handler/component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../../../../types/k8s-exports";
6
- interface RuleListModel {
7
- peerType?: NetworkPolicyPeerType;
8
- namespaceSelector?: LabelSelector;
9
- podSelector?: LabelSelector;
10
- ipBlock?: IPBlock;
11
- ports?: NetworkPolicyPort[];
12
- }
13
- export declare class NetworkPolicyRuleTableComponent {
14
- rules: RuleListModel[];
15
- policyType: Lowercase<PolicyType>;
16
- COLUMNS: string[];
17
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyRuleTableComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyRuleTableComponent, "acl-network-policy-rule-table", never, { "rules": { "alias": "rules"; "required": true; }; "policyType": { "alias": "policyType"; "required": true; }; }, {}, never, never, true, never>;
19
- static ngAcceptInputType_rules: i1.NetworkPolicyIngressRule[] | i1.NetworkPolicyEgressRule[];
20
- }
21
- export {};
@@ -1,70 +0,0 @@
1
- import { DialogService } from '@alauda/ui';
2
- import { K8sUtilService, TranslateService, Workspace } from '@alauda-fe/common';
3
- import { Injector } from '@angular/core';
4
- import { FormArray } from '@angular/forms';
5
- import { BaseResourceFormGroupComponent } from 'ng-resource-form-util';
6
- import { NetworkPolicy, PolicyType } from '../../../../types/k8s-exports';
7
- import * as i0 from "@angular/core";
8
- export declare class NetworkPolicyFormComponent extends BaseResourceFormGroupComponent<NetworkPolicy> {
9
- private readonly k8sUtil;
10
- private readonly translate;
11
- private readonly dialog;
12
- baseParams: Workspace;
13
- isUpdate: boolean;
14
- get ingressRuleFormArray(): FormArray;
15
- get ingressRuleControls(): import("@angular/forms").AbstractControl<any, any>[];
16
- get egressRuleFormArray(): FormArray;
17
- get egressRuleControls(): import("@angular/forms").AbstractControl<any, any>[];
18
- K8S_RESOURCE_NAME_START_WITH_CHARS_ONLY: {
19
- pattern: RegExp;
20
- tip: string;
21
- };
22
- labelValidator: {
23
- key: typeof import("@alauda-fe/common").k8sResourceLabelKeyValidator;
24
- value: import("@angular/forms").ValidatorFn;
25
- };
26
- labelErrorMapper$: import("rxjs").Observable<{
27
- key: {
28
- namePattern: string;
29
- prefixPattern: string;
30
- nameTooLong: string;
31
- prefixTooLong: string;
32
- };
33
- value: {
34
- pattern: string;
35
- maxlength: string;
36
- };
37
- }>;
38
- PolicyTypes: readonly ["ingress", "egress"];
39
- displayNameKey: string;
40
- ruleDisabledStateMap: Record<'ingress' | 'egress', boolean>;
41
- constructor(injector: Injector, k8sUtil: K8sUtilService, translate: TranslateService, dialog: DialogService);
42
- createForm(): import("@angular/forms").FormGroup<{
43
- metadata: import("@angular/forms").FormGroup<{
44
- name: import("@angular/forms").FormControl<string>;
45
- namespace: import("@angular/forms").FormControl<string>;
46
- annotations: import("@angular/forms").FormGroup<{
47
- [x: string]: import("@angular/forms").FormControl<string>;
48
- }>;
49
- }>;
50
- spec: import("@angular/forms").FormGroup<{
51
- podSelector: import("@angular/forms").FormGroup<{
52
- matchLabels: import("@angular/forms").FormControl<any>;
53
- }>;
54
- ingress: FormArray<import("@angular/forms").FormControl<unknown>>;
55
- egress: FormArray<import("@angular/forms").FormControl<unknown>>;
56
- policyTypes: import("@angular/forms").FormControl<any[]>;
57
- }>;
58
- }>;
59
- getOnFormArrayResizeFn(): () => import("@angular/forms").FormControl<{}>;
60
- adaptResourceModel(resource: NetworkPolicy): NetworkPolicy;
61
- ruleDisabledChanged(disabled: boolean, policyType: Lowercase<PolicyType>): Promise<void>;
62
- addRule(policyType: Lowercase<PolicyType>): void;
63
- removeRule(index: number, policyType: Lowercase<PolicyType>): void;
64
- private ruleDisabledConfirm;
65
- private addPolicyType;
66
- private removePolicyType;
67
- private updateRuleDisabledStateMap;
68
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyFormComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyFormComponent, "acl-network-policy-form", never, { "baseParams": { "alias": "baseParams"; "required": true; }; "isUpdate": { "alias": "isUpdate"; "required": false; }; }, {}, never, never, true, never>;
70
- }
@@ -1,23 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import { AbstractControl } from '@angular/forms';
3
- import { BaseResourceFormGroupComponent } from 'ng-resource-form-util';
4
- import { Observable } from 'rxjs';
5
- import { NetworkUtilService } from '../../../../services/network-util.service';
6
- import { IPBlock } from '../../../../types/k8s-exports';
7
- import * as i0 from "@angular/core";
8
- export declare class NetworkPolicyIpBlockFormComponent extends BaseResourceFormGroupComponent<IPBlock> {
9
- private readonly networkUtil;
10
- cluster: string;
11
- cluster$: Observable<string>;
12
- networkMode$: Observable<"v4" | "v6" | "dual">;
13
- constructor(injector: Injector, networkUtil: NetworkUtilService);
14
- createForm(): import("@angular/forms").FormGroup<{
15
- cidr: import("@angular/forms").FormControl<string>;
16
- except: import("@angular/forms").FormControl<any[]>;
17
- }>;
18
- asyncValidateCidr(ctrl: AbstractControl): Observable<{
19
- cidrPattern: boolean;
20
- }>;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyIpBlockFormComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyIpBlockFormComponent, "acl-network-policy-ip-block-form", never, { "cluster": { "alias": "cluster"; "required": true; }; }, {}, never, never, true, never>;
23
- }
@@ -1,43 +0,0 @@
1
- import { TranslateService, Workspace } from '@alauda-fe/common';
2
- import { EventEmitter, Injector } from '@angular/core';
3
- import { BaseResourceFormGroupComponent } from 'ng-resource-form-util';
4
- import { NetworkPolicyPeer, PolicyType } from '../../../../types/k8s-exports';
5
- import { NetworkPolicyPeerType } from '../../components/add-peer-rule-handler/component';
6
- import * as i0 from "@angular/core";
7
- export declare const getPeerType: (peer: NetworkPolicyPeer) => NetworkPolicyPeerType;
8
- export declare class NetworkPolicyPeerFormComponent extends BaseResourceFormGroupComponent<NetworkPolicyPeer> {
9
- private readonly translate;
10
- baseParams: Workspace;
11
- policyType: Lowercase<PolicyType>;
12
- peer: NetworkPolicyPeer;
13
- deletePeer: EventEmitter<void>;
14
- labelValidator: {
15
- key: typeof import("@alauda-fe/common").k8sResourceLabelKeyValidator;
16
- value: import("@angular/forms").ValidatorFn;
17
- };
18
- labelErrorMapper$: import("rxjs").Observable<{
19
- key: {
20
- namePattern: string;
21
- prefixPattern: string;
22
- nameTooLong: string;
23
- prefixTooLong: string;
24
- };
25
- value: {
26
- pattern: string;
27
- maxlength: string;
28
- };
29
- }>;
30
- getPeerType: (peer: NetworkPolicyPeer) => NetworkPolicyPeerType;
31
- constructor(injector: Injector, translate: TranslateService);
32
- createForm(): import("@angular/forms").FormGroup<{
33
- ipBlock: import("@angular/forms").FormControl<import("../../../../types/k8s-exports").IPBlock>;
34
- podSelector: import("@angular/forms").FormGroup<{
35
- matchLabels: import("@angular/forms").FormControl<import("@alauda-fe/common").LabelSelector>;
36
- }>;
37
- namespaceSelector: import("@angular/forms").FormGroup<{
38
- matchLabels: import("@angular/forms").FormControl<import("@alauda-fe/common").LabelSelector>;
39
- }>;
40
- }>;
41
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyPeerFormComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyPeerFormComponent, "acl-network-policy-peer-form", never, { "baseParams": { "alias": "baseParams"; "required": true; }; "policyType": { "alias": "policyType"; "required": true; }; "peer": { "alias": "peer"; "required": true; }; }, { "deletePeer": "deletePeer"; }, never, never, true, never>;
43
- }
@@ -1,17 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import { ControlContainer, FormGroup } from '@angular/forms';
3
- import { BaseResourceFormArrayComponent, OnFormArrayResizeFn } from 'ng-resource-form-util';
4
- import { NetworkPolicyPort, PolicyType } from '../../../../types/k8s-exports';
5
- import * as i0 from "@angular/core";
6
- export declare class NetworkPolicyPortsFormComponent extends BaseResourceFormArrayComponent<NetworkPolicyPort, NetworkPolicyPort, FormGroup> {
7
- readonly controlContainer: ControlContainer;
8
- policyType: Lowercase<PolicyType>;
9
- PROTOCOLS: readonly ["TCP", "UDP"];
10
- constructor(injector: Injector, controlContainer: ControlContainer);
11
- getOnFormArrayResizeFn(): OnFormArrayResizeFn;
12
- adaptFormModel(formModel: NetworkPolicyPort[]): NetworkPolicyPort[];
13
- private createNewPortControl;
14
- private portValidator;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyPortsFormComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyPortsFormComponent, "acl-network-policy-ports-form", never, { "policyType": { "alias": "policyType"; "required": true; }; }, {}, never, never, true, never>;
17
- }
@@ -1,23 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import { AbstractControl, FormControl } from '@angular/forms';
3
- import { BaseResourceFormArrayComponent } from 'ng-resource-form-util';
4
- import { Observable } from 'rxjs';
5
- import { NetworkMode } from '../../../../utils/cidr-exports';
6
- import * as i0 from "@angular/core";
7
- export declare class NetworkPolicyExceptRemoteInputFormComponent extends BaseResourceFormArrayComponent implements OnInit {
8
- remoteIpBlock: string;
9
- remoteIpBlock$: Observable<string>;
10
- networkMode: NetworkMode;
11
- networkMode$: Observable<NetworkMode>;
12
- ngOnInit(): void;
13
- getOnFormArrayResizeFn(): () => FormControl<string>;
14
- ipValidator: (ctrl: AbstractControl) => {
15
- cidrPattern: boolean;
16
- };
17
- cidrValidator: (exceptRemoteIp: FormControl) => Observable<{
18
- includes: boolean;
19
- }>;
20
- showRowError(): boolean;
21
- static ɵfac: i0.ɵɵFactoryDeclaration<NetworkPolicyExceptRemoteInputFormComponent, never>;
22
- static ɵcmp: i0.ɵɵComponentDeclaration<NetworkPolicyExceptRemoteInputFormComponent, "acl-network-policy-remote-ip-except-input", never, { "remoteIpBlock": { "alias": "remoteIpBlock"; "required": false; }; "networkMode": { "alias": "networkMode"; "required": false; }; }, {}, never, never, true, never>;
23
- }