cdk8s-plus-36 0.0.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +105714 -0
- package/CODE_OF_CONDUCT.md +3 -0
- package/CONTRIBUTING.md +185 -0
- package/DCO +34 -0
- package/LICENSE +202 -0
- package/NOTICE +1 -0
- package/OWNERS.md +5 -0
- package/README.md +21 -34
- package/SECURITY.md +5 -0
- package/cdk8s.yaml +13 -0
- package/docs/java.md +156096 -0
- package/docs/plus/config-map.md +98 -0
- package/docs/plus/container.md +133 -0
- package/docs/plus/cronjob.md +67 -0
- package/docs/plus/deployment.md +232 -0
- package/docs/plus/horizontal-pod-autoscaler.md +226 -0
- package/docs/plus/ingress.md +68 -0
- package/docs/plus/job.md +48 -0
- package/docs/plus/namespace.md +58 -0
- package/docs/plus/network-policy.md +341 -0
- package/docs/plus/pod.md +455 -0
- package/docs/plus/pv.md +82 -0
- package/docs/plus/pvc.md +77 -0
- package/docs/plus/rbac.md +104 -0
- package/docs/plus/secret.md +32 -0
- package/docs/plus/service-account.md +35 -0
- package/docs/plus/service.md +41 -0
- package/docs/plus/volume.md +84 -0
- package/docs/python.md +167536 -0
- package/docs/typescript.md +145485 -0
- package/git-hooks/README.md +9 -0
- package/git-hooks/prepare-commit-msg +18 -0
- package/git-hooks/setup.sh +10 -0
- package/lib/_action.d.ts +26 -0
- package/lib/_action.js +72 -0
- package/lib/api-resource.d.ts +298 -0
- package/lib/api-resource.js +438 -0
- package/lib/base.d.ts +79 -0
- package/lib/base.js +124 -0
- package/lib/config-map.d.ts +126 -0
- package/lib/config-map.js +199 -0
- package/lib/container.d.ts +1057 -0
- package/lib/container.js +944 -0
- package/lib/cron-job.d.ts +138 -0
- package/lib/cron-job.js +170 -0
- package/lib/daemon-set.d.ts +45 -0
- package/lib/daemon-set.js +91 -0
- package/lib/deployment.d.ts +235 -0
- package/lib/deployment.js +274 -0
- package/lib/handler.d.ts +62 -0
- package/lib/handler.js +88 -0
- package/lib/horizontal-pod-autoscaler.d.ts +500 -0
- package/lib/horizontal-pod-autoscaler.js +629 -0
- package/lib/imports/k8s.d.ts +27283 -0
- package/lib/imports/k8s.js +20112 -0
- package/lib/index.d.ts +26 -0
- package/lib/index.js +66 -0
- package/lib/ingress.d.ts +230 -0
- package/lib/ingress.js +282 -0
- package/lib/job.d.ts +64 -0
- package/lib/job.js +101 -0
- package/lib/namespace.d.ts +128 -0
- package/lib/namespace.js +148 -0
- package/lib/network-policy.d.ts +311 -0
- package/lib/network-policy.js +383 -0
- package/lib/pod.d.ts +1097 -0
- package/lib/pod.js +1227 -0
- package/lib/probe.d.ts +181 -0
- package/lib/probe.js +124 -0
- package/lib/pv.d.ts +375 -0
- package/lib/pv.js +387 -0
- package/lib/pvc.d.ts +163 -0
- package/lib/pvc.js +204 -0
- package/lib/role-binding.d.ts +138 -0
- package/lib/role-binding.js +207 -0
- package/lib/role.d.ts +268 -0
- package/lib/role.js +441 -0
- package/lib/secret.d.ts +195 -0
- package/lib/secret.js +221 -0
- package/lib/service-account.d.ts +83 -0
- package/lib/service-account.js +148 -0
- package/lib/service.d.ts +289 -0
- package/lib/service.js +235 -0
- package/lib/stateful-set.d.ts +206 -0
- package/lib/stateful-set.js +291 -0
- package/lib/utils.d.ts +4 -0
- package/lib/utils.js +33 -0
- package/lib/volume.d.ts +577 -0
- package/lib/volume.js +410 -0
- package/lib/workload.d.ts +121 -0
- package/lib/workload.js +158 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
- package/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/brace-expansion/README.md +157 -0
- package/node_modules/brace-expansion/index.js +394 -0
- package/node_modules/brace-expansion/package.json +49 -0
- package/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/minimatch/README.md +491 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
- package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/ast.js +747 -0
- package/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts +12 -0
- package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/escape.js +22 -0
- package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts +98 -0
- package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/index.js +1023 -0
- package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts +17 -0
- package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js +24 -0
- package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
- package/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/ast.js +743 -0
- package/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
- package/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts +12 -0
- package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/escape.js +18 -0
- package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/node_modules/minimatch/dist/esm/index.d.ts +98 -0
- package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/index.js +1007 -0
- package/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/node_modules/minimatch/dist/esm/package.json +3 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts +17 -0
- package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/node_modules/minimatch/dist/esm/unescape.js +20 -0
- package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/node_modules/minimatch/package.json +82 -0
- package/package.json +172 -6
- package/rotate.md +82 -0
package/lib/job.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ApiObject, Duration } from 'cdk8s';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
import * as k8s from './imports/k8s';
|
|
4
|
+
import * as workload from './workload';
|
|
5
|
+
/**
|
|
6
|
+
* Properties for `Job`.
|
|
7
|
+
*/
|
|
8
|
+
export interface JobProps extends workload.WorkloadProps {
|
|
9
|
+
/**
|
|
10
|
+
* Specifies the duration the job may be active before the system tries to terminate it.
|
|
11
|
+
*
|
|
12
|
+
* @default - If unset, then there is no deadline.
|
|
13
|
+
*/
|
|
14
|
+
readonly activeDeadline?: Duration;
|
|
15
|
+
/**
|
|
16
|
+
* Specifies the number of retries before marking this job failed.
|
|
17
|
+
*
|
|
18
|
+
* @default - If not set, system defaults to 6.
|
|
19
|
+
*/
|
|
20
|
+
readonly backoffLimit?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Limits the lifetime of a Job that has finished execution (either Complete
|
|
23
|
+
* or Failed). If this field is set, after the Job finishes, it is eligible to
|
|
24
|
+
* be automatically deleted. When the Job is being deleted, its lifecycle
|
|
25
|
+
* guarantees (e.g. finalizers) will be honored. If this field is set to zero,
|
|
26
|
+
* the Job becomes eligible to be deleted immediately after it finishes. This
|
|
27
|
+
* field is alpha-level and is only honored by servers that enable the
|
|
28
|
+
* `TTLAfterFinished` feature.
|
|
29
|
+
*
|
|
30
|
+
* @default - If this field is unset, the Job won't be automatically deleted.
|
|
31
|
+
*/
|
|
32
|
+
readonly ttlAfterFinished?: Duration;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A Job creates one or more Pods and ensures that a specified number of them successfully terminate. As pods successfully complete,
|
|
36
|
+
* the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete.
|
|
37
|
+
* Deleting a Job will clean up the Pods it created. A simple case is to create one Job object in order to reliably run one Pod to completion.
|
|
38
|
+
* The Job object will start a new Pod if the first Pod fails or is deleted (for example due to a node hardware failure or a node reboot).
|
|
39
|
+
* You can also use a Job to run multiple Pods in parallel.
|
|
40
|
+
*/
|
|
41
|
+
export declare class Job extends workload.Workload {
|
|
42
|
+
/**
|
|
43
|
+
* Duration before job is terminated. If undefined, there is no deadline.
|
|
44
|
+
*/
|
|
45
|
+
readonly activeDeadline?: Duration;
|
|
46
|
+
/**
|
|
47
|
+
* Number of retries before marking failed.
|
|
48
|
+
*/
|
|
49
|
+
readonly backoffLimit?: number;
|
|
50
|
+
/**
|
|
51
|
+
* TTL before the job is deleted after it is finished.
|
|
52
|
+
*/
|
|
53
|
+
readonly ttlAfterFinished?: Duration;
|
|
54
|
+
/**
|
|
55
|
+
* @see base.Resource.apiObject
|
|
56
|
+
*/
|
|
57
|
+
protected readonly apiObject: ApiObject;
|
|
58
|
+
readonly resourceType = "jobs";
|
|
59
|
+
constructor(scope: Construct, id: string, props?: JobProps);
|
|
60
|
+
/**
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
_toKube(): k8s.JobSpec;
|
|
64
|
+
}
|
package/lib/job.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Job = void 0;
|
|
37
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
38
|
+
const cdk8s_1 = require("cdk8s");
|
|
39
|
+
const k8s = __importStar(require("./imports/k8s"));
|
|
40
|
+
const pod = __importStar(require("./pod"));
|
|
41
|
+
const workload = __importStar(require("./workload"));
|
|
42
|
+
/**
|
|
43
|
+
* A Job creates one or more Pods and ensures that a specified number of them successfully terminate. As pods successfully complete,
|
|
44
|
+
* the Job tracks the successful completions. When a specified number of successful completions is reached, the task (ie, Job) is complete.
|
|
45
|
+
* Deleting a Job will clean up the Pods it created. A simple case is to create one Job object in order to reliably run one Pod to completion.
|
|
46
|
+
* The Job object will start a new Pod if the first Pod fails or is deleted (for example due to a node hardware failure or a node reboot).
|
|
47
|
+
* You can also use a Job to run multiple Pods in parallel.
|
|
48
|
+
*/
|
|
49
|
+
class Job extends workload.Workload {
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.Job", version: "2.0.0" };
|
|
51
|
+
/**
|
|
52
|
+
* Duration before job is terminated. If undefined, there is no deadline.
|
|
53
|
+
*/
|
|
54
|
+
activeDeadline;
|
|
55
|
+
/**
|
|
56
|
+
* Number of retries before marking failed.
|
|
57
|
+
*/
|
|
58
|
+
backoffLimit;
|
|
59
|
+
/**
|
|
60
|
+
* TTL before the job is deleted after it is finished.
|
|
61
|
+
*/
|
|
62
|
+
ttlAfterFinished;
|
|
63
|
+
/**
|
|
64
|
+
* @see base.Resource.apiObject
|
|
65
|
+
*/
|
|
66
|
+
apiObject;
|
|
67
|
+
resourceType = 'jobs';
|
|
68
|
+
constructor(scope, id, props = {}) {
|
|
69
|
+
super(scope, id, {
|
|
70
|
+
restartPolicy: pod.RestartPolicy.NEVER,
|
|
71
|
+
select: false,
|
|
72
|
+
...props,
|
|
73
|
+
});
|
|
74
|
+
this.apiObject = new k8s.KubeJob(this, 'Resource', {
|
|
75
|
+
metadata: props.metadata,
|
|
76
|
+
spec: cdk8s_1.Lazy.any({ produce: () => this._toKube() }),
|
|
77
|
+
});
|
|
78
|
+
this.activeDeadline = props.activeDeadline;
|
|
79
|
+
this.backoffLimit = props.backoffLimit;
|
|
80
|
+
this.ttlAfterFinished = props.ttlAfterFinished;
|
|
81
|
+
if (this.isolate) {
|
|
82
|
+
this.connections.isolate();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
_toKube() {
|
|
89
|
+
return {
|
|
90
|
+
template: {
|
|
91
|
+
metadata: this.podMetadata.toJson(),
|
|
92
|
+
spec: this._toPodSpec(),
|
|
93
|
+
},
|
|
94
|
+
activeDeadlineSeconds: this.activeDeadline?.toSeconds(),
|
|
95
|
+
backoffLimit: this.backoffLimit,
|
|
96
|
+
ttlSecondsAfterFinished: this.ttlAfterFinished ? this.ttlAfterFinished.toSeconds() : undefined,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.Job = Job;
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2pvYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWtEO0FBRWxELG1EQUFxQztBQUNyQywyQ0FBNkI7QUFDN0IscURBQXVDO0FBb0N2Qzs7Ozs7O0dBTUc7QUFDSCxNQUFhLEdBQUksU0FBUSxRQUFRLENBQUMsUUFBUTs7SUFFeEM7O09BRUc7SUFDYSxjQUFjLENBQVk7SUFFMUM7O09BRUc7SUFDYSxZQUFZLENBQVU7SUFFdEM7O09BRUc7SUFDYSxnQkFBZ0IsQ0FBWTtJQUU1Qzs7T0FFRztJQUNnQixTQUFTLENBQVk7SUFFeEIsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUV0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQWtCLEVBQUU7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLO1lBQ3RDLE1BQU0sRUFBRSxLQUFLO1lBQ2IsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNqRCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsSUFBSSxFQUFFLFlBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBRS9DLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtnQkFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7YUFDeEI7WUFDRCxxQkFBcUIsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRTtZQUN2RCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDL0YsQ0FBQztJQUNKLENBQUM7O0FBMURILGtCQTREQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdCwgTGF6eSwgRHVyYXRpb24gfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGs4cyBmcm9tICcuL2ltcG9ydHMvazhzJztcbmltcG9ydCAqIGFzIHBvZCBmcm9tICcuL3BvZCc7XG5pbXBvcnQgKiBhcyB3b3JrbG9hZCBmcm9tICcuL3dvcmtsb2FkJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgSm9iYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKb2JQcm9wcyBleHRlbmRzIHdvcmtsb2FkLldvcmtsb2FkUHJvcHMge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGR1cmF0aW9uIHRoZSBqb2IgbWF5IGJlIGFjdGl2ZSBiZWZvcmUgdGhlIHN5c3RlbSB0cmllcyB0byB0ZXJtaW5hdGUgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSWYgdW5zZXQsIHRoZW4gdGhlcmUgaXMgbm8gZGVhZGxpbmUuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVEZWFkbGluZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiByZXRyaWVzIGJlZm9yZSBtYXJraW5nIHRoaXMgam9iIGZhaWxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiBub3Qgc2V0LCBzeXN0ZW0gZGVmYXVsdHMgdG8gNi5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2tvZmZMaW1pdD86IG51bWJlcjtcblxuICAvKipcbiAgICogTGltaXRzIHRoZSBsaWZldGltZSBvZiBhIEpvYiB0aGF0IGhhcyBmaW5pc2hlZCBleGVjdXRpb24gKGVpdGhlciBDb21wbGV0ZVxuICAgKiBvciBGYWlsZWQpLiBJZiB0aGlzIGZpZWxkIGlzIHNldCwgYWZ0ZXIgdGhlIEpvYiBmaW5pc2hlcywgaXQgaXMgZWxpZ2libGUgdG9cbiAgICogYmUgYXV0b21hdGljYWxseSBkZWxldGVkLiBXaGVuIHRoZSBKb2IgaXMgYmVpbmcgZGVsZXRlZCwgaXRzIGxpZmVjeWNsZVxuICAgKiBndWFyYW50ZWVzIChlLmcuIGZpbmFsaXplcnMpIHdpbGwgYmUgaG9ub3JlZC4gSWYgdGhpcyBmaWVsZCBpcyBzZXQgdG8gemVybyxcbiAgICogdGhlIEpvYiBiZWNvbWVzIGVsaWdpYmxlIHRvIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgZmluaXNoZXMuIFRoaXNcbiAgICogZmllbGQgaXMgYWxwaGEtbGV2ZWwgYW5kIGlzIG9ubHkgaG9ub3JlZCBieSBzZXJ2ZXJzIHRoYXQgZW5hYmxlIHRoZVxuICAgKiBgVFRMQWZ0ZXJGaW5pc2hlZGAgZmVhdHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBJZiB0aGlzIGZpZWxkIGlzIHVuc2V0LCB0aGUgSm9iIHdvbid0IGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bEFmdGVyRmluaXNoZWQ/OiBEdXJhdGlvbjtcblxufVxuXG4vKipcbiAqIEEgSm9iIGNyZWF0ZXMgb25lIG9yIG1vcmUgUG9kcyBhbmQgZW5zdXJlcyB0aGF0IGEgc3BlY2lmaWVkIG51bWJlciBvZiB0aGVtIHN1Y2Nlc3NmdWxseSB0ZXJtaW5hdGUuIEFzIHBvZHMgc3VjY2Vzc2Z1bGx5IGNvbXBsZXRlLFxuICogdGhlIEpvYiB0cmFja3MgdGhlIHN1Y2Nlc3NmdWwgY29tcGxldGlvbnMuIFdoZW4gYSBzcGVjaWZpZWQgbnVtYmVyIG9mIHN1Y2Nlc3NmdWwgY29tcGxldGlvbnMgaXMgcmVhY2hlZCwgdGhlIHRhc2sgKGllLCBKb2IpIGlzIGNvbXBsZXRlLlxuICogRGVsZXRpbmcgYSBKb2Igd2lsbCBjbGVhbiB1cCB0aGUgUG9kcyBpdCBjcmVhdGVkLiBBIHNpbXBsZSBjYXNlIGlzIHRvIGNyZWF0ZSBvbmUgSm9iIG9iamVjdCBpbiBvcmRlciB0byByZWxpYWJseSBydW4gb25lIFBvZCB0byBjb21wbGV0aW9uLlxuICogVGhlIEpvYiBvYmplY3Qgd2lsbCBzdGFydCBhIG5ldyBQb2QgaWYgdGhlIGZpcnN0IFBvZCBmYWlscyBvciBpcyBkZWxldGVkIChmb3IgZXhhbXBsZSBkdWUgdG8gYSBub2RlIGhhcmR3YXJlIGZhaWx1cmUgb3IgYSBub2RlIHJlYm9vdCkuXG4gKiBZb3UgY2FuIGFsc28gdXNlIGEgSm9iIHRvIHJ1biBtdWx0aXBsZSBQb2RzIGluIHBhcmFsbGVsLlxuICovXG5leHBvcnQgY2xhc3MgSm9iIGV4dGVuZHMgd29ya2xvYWQuV29ya2xvYWQge1xuXG4gIC8qKlxuICAgKiBEdXJhdGlvbiBiZWZvcmUgam9iIGlzIHRlcm1pbmF0ZWQuIElmIHVuZGVmaW5lZCwgdGhlcmUgaXMgbm8gZGVhZGxpbmUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlRGVhZGxpbmU/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHJldHJpZXMgYmVmb3JlIG1hcmtpbmcgZmFpbGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJhY2tvZmZMaW1pdD86IG51bWJlcjtcblxuICAvKipcbiAgICogVFRMIGJlZm9yZSB0aGUgam9iIGlzIGRlbGV0ZWQgYWZ0ZXIgaXQgaXMgZmluaXNoZWQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHRsQWZ0ZXJGaW5pc2hlZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBAc2VlIGJhc2UuUmVzb3VyY2UuYXBpT2JqZWN0XG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBpT2JqZWN0OiBBcGlPYmplY3Q7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlVHlwZSA9ICdqb2JzJztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSm9iUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcmVzdGFydFBvbGljeTogcG9kLlJlc3RhcnRQb2xpY3kuTkVWRVIsXG4gICAgICBzZWxlY3Q6IGZhbHNlLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwaU9iamVjdCA9IG5ldyBrOHMuS3ViZUpvYih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBtZXRhZGF0YTogcHJvcHMubWV0YWRhdGEsXG4gICAgICBzcGVjOiBMYXp5LmFueSh7IHByb2R1Y2U6ICgpID0+IHRoaXMuX3RvS3ViZSgpIH0pLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hY3RpdmVEZWFkbGluZSA9IHByb3BzLmFjdGl2ZURlYWRsaW5lO1xuICAgIHRoaXMuYmFja29mZkxpbWl0ID0gcHJvcHMuYmFja29mZkxpbWl0O1xuICAgIHRoaXMudHRsQWZ0ZXJGaW5pc2hlZCA9IHByb3BzLnR0bEFmdGVyRmluaXNoZWQ7XG5cbiAgICBpZiAodGhpcy5pc29sYXRlKSB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25zLmlzb2xhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3RvS3ViZSgpOiBrOHMuSm9iU3BlYyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgIG1ldGFkYXRhOiB0aGlzLnBvZE1ldGFkYXRhLnRvSnNvbigpLFxuICAgICAgICBzcGVjOiB0aGlzLl90b1BvZFNwZWMoKSxcbiAgICAgIH0sXG4gICAgICBhY3RpdmVEZWFkbGluZVNlY29uZHM6IHRoaXMuYWN0aXZlRGVhZGxpbmU/LnRvU2Vjb25kcygpLFxuICAgICAgYmFja29mZkxpbWl0OiB0aGlzLmJhY2tvZmZMaW1pdCxcbiAgICAgIHR0bFNlY29uZHNBZnRlckZpbmlzaGVkOiB0aGlzLnR0bEFmdGVyRmluaXNoZWQgPyB0aGlzLnR0bEFmdGVyRmluaXNoZWQudG9TZWNvbmRzKCkgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { ApiObject } from 'cdk8s';
|
|
2
|
+
import { Construct, IConstruct } from 'constructs';
|
|
3
|
+
import * as base from './base';
|
|
4
|
+
import * as k8s from './imports/k8s';
|
|
5
|
+
import * as networkpolicy from './network-policy';
|
|
6
|
+
import * as pod from './pod';
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for selecting namespaces.
|
|
9
|
+
*/
|
|
10
|
+
export interface NamespaceSelectorConfig {
|
|
11
|
+
/**
|
|
12
|
+
* A selector to select namespaces by labels.
|
|
13
|
+
*/
|
|
14
|
+
readonly labelSelector?: pod.LabelSelector;
|
|
15
|
+
/**
|
|
16
|
+
* A list of names to select namespaces by names.
|
|
17
|
+
*/
|
|
18
|
+
readonly names?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Represents an object that can select namespaces.
|
|
22
|
+
*/
|
|
23
|
+
export interface INamespaceSelector extends IConstruct {
|
|
24
|
+
/**
|
|
25
|
+
* Return the configuration of this selector.
|
|
26
|
+
*/
|
|
27
|
+
toNamespaceSelectorConfig(): NamespaceSelectorConfig;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Properties for `Namespace`.
|
|
31
|
+
*/
|
|
32
|
+
export interface NamespaceProps extends base.ResourceProps {
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* In Kubernetes, namespaces provides a mechanism for isolating groups of resources within a single cluster.
|
|
36
|
+
* Names of resources need to be unique within a namespace, but not across namespaces.
|
|
37
|
+
* Namespace-based scoping is applicable only for namespaced objects (e.g. Deployments, Services, etc) and
|
|
38
|
+
* not for cluster-wide objects (e.g. StorageClass, Nodes, PersistentVolumes, etc).
|
|
39
|
+
*/
|
|
40
|
+
export declare class Namespace extends base.Resource implements INamespaceSelector, networkpolicy.INetworkPolicyPeer {
|
|
41
|
+
/**
|
|
42
|
+
* @see https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#automatic-labelling
|
|
43
|
+
*/
|
|
44
|
+
static readonly NAME_LABEL = "kubernetes.io/metadata.name";
|
|
45
|
+
/**
|
|
46
|
+
* @see base.Resource.apiObject
|
|
47
|
+
*/
|
|
48
|
+
protected readonly apiObject: ApiObject;
|
|
49
|
+
readonly resourceType: string;
|
|
50
|
+
private readonly _pods;
|
|
51
|
+
constructor(scope: Construct, id: string, props?: NamespaceProps);
|
|
52
|
+
/**
|
|
53
|
+
* @see INamespaceSelector.toNamespaceSelectorConfig()
|
|
54
|
+
*/
|
|
55
|
+
toNamespaceSelectorConfig(): NamespaceSelectorConfig;
|
|
56
|
+
/**
|
|
57
|
+
* @see INetworkPolicyPeer.toNetworkPolicyPeerConfig()
|
|
58
|
+
*/
|
|
59
|
+
toNetworkPolicyPeerConfig(): networkpolicy.NetworkPolicyPeerConfig;
|
|
60
|
+
/**
|
|
61
|
+
* @see INetworkPolicyPeer.toPodSelector()
|
|
62
|
+
*/
|
|
63
|
+
toPodSelector(): pod.IPodSelector | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
_toKube(): k8s.NamespaceSpec;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Options for `Namespaces.select`.
|
|
71
|
+
*/
|
|
72
|
+
export interface NamespacesSelectOptions {
|
|
73
|
+
/**
|
|
74
|
+
* Labels the namespaces must have.
|
|
75
|
+
* This is equivalent to using an 'Is' selector.
|
|
76
|
+
*
|
|
77
|
+
* @default - no strict labels requirements.
|
|
78
|
+
*/
|
|
79
|
+
readonly labels?: {
|
|
80
|
+
[key: string]: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Namespaces must satisfy these selectors.
|
|
84
|
+
* The selectors query labels, just like the `labels` property, but they
|
|
85
|
+
* provide a more advanced matching mechanism.
|
|
86
|
+
*
|
|
87
|
+
* @default - no selector requirements.
|
|
88
|
+
*/
|
|
89
|
+
readonly expressions?: pod.LabelExpression[];
|
|
90
|
+
/**
|
|
91
|
+
* Namespaces names must be one of these.
|
|
92
|
+
*
|
|
93
|
+
* @default - no name requirements.
|
|
94
|
+
*/
|
|
95
|
+
readonly names?: string[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Represents a group of namespaces.
|
|
99
|
+
*/
|
|
100
|
+
export declare class Namespaces extends Construct implements INamespaceSelector, networkpolicy.INetworkPolicyPeer {
|
|
101
|
+
private readonly expressions?;
|
|
102
|
+
private readonly names?;
|
|
103
|
+
private readonly labels?;
|
|
104
|
+
/**
|
|
105
|
+
* Select specific namespaces.
|
|
106
|
+
*/
|
|
107
|
+
static select(scope: Construct, id: string, options: NamespacesSelectOptions): Namespaces;
|
|
108
|
+
/**
|
|
109
|
+
* Select all namespaces.
|
|
110
|
+
*/
|
|
111
|
+
static all(scope: Construct, id: string): Namespaces;
|
|
112
|
+
private readonly _pods;
|
|
113
|
+
constructor(scope: Construct, id: string, expressions?: pod.LabelExpression[] | undefined, names?: string[] | undefined, labels?: {
|
|
114
|
+
[key: string]: string;
|
|
115
|
+
} | undefined);
|
|
116
|
+
/**
|
|
117
|
+
* @see INamespaceSelector.toNamespaceSelectorConfig()
|
|
118
|
+
*/
|
|
119
|
+
toNamespaceSelectorConfig(): NamespaceSelectorConfig;
|
|
120
|
+
/**
|
|
121
|
+
* @see INetworkPolicyPeer.toNetworkPolicyPeerConfig()
|
|
122
|
+
*/
|
|
123
|
+
toNetworkPolicyPeerConfig(): networkpolicy.NetworkPolicyPeerConfig;
|
|
124
|
+
/**
|
|
125
|
+
* @see INetworkPolicyPeer.toPodSelector()
|
|
126
|
+
*/
|
|
127
|
+
toPodSelector(): pod.IPodSelector | undefined;
|
|
128
|
+
}
|
package/lib/namespace.js
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.Namespaces = exports.Namespace = void 0;
|
|
37
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
38
|
+
const cdk8s_1 = require("cdk8s");
|
|
39
|
+
const constructs_1 = require("constructs");
|
|
40
|
+
const base = __importStar(require("./base"));
|
|
41
|
+
const k8s = __importStar(require("./imports/k8s"));
|
|
42
|
+
const pod = __importStar(require("./pod"));
|
|
43
|
+
/**
|
|
44
|
+
* In Kubernetes, namespaces provides a mechanism for isolating groups of resources within a single cluster.
|
|
45
|
+
* Names of resources need to be unique within a namespace, but not across namespaces.
|
|
46
|
+
* Namespace-based scoping is applicable only for namespaced objects (e.g. Deployments, Services, etc) and
|
|
47
|
+
* not for cluster-wide objects (e.g. StorageClass, Nodes, PersistentVolumes, etc).
|
|
48
|
+
*/
|
|
49
|
+
class Namespace extends base.Resource {
|
|
50
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.Namespace", version: "2.0.0" };
|
|
51
|
+
/**
|
|
52
|
+
* @see https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#automatic-labelling
|
|
53
|
+
*/
|
|
54
|
+
static NAME_LABEL = 'kubernetes.io/metadata.name';
|
|
55
|
+
/**
|
|
56
|
+
* @see base.Resource.apiObject
|
|
57
|
+
*/
|
|
58
|
+
apiObject;
|
|
59
|
+
resourceType = 'namespaces';
|
|
60
|
+
_pods;
|
|
61
|
+
constructor(scope, id, props = {}) {
|
|
62
|
+
super(scope, id);
|
|
63
|
+
this.apiObject = new k8s.KubeNamespace(this, 'Resource', {
|
|
64
|
+
metadata: props.metadata,
|
|
65
|
+
spec: cdk8s_1.Lazy.any({ produce: () => this._toKube() }),
|
|
66
|
+
});
|
|
67
|
+
this._pods = pod.Pods.all(this, 'Pods', {
|
|
68
|
+
namespaces: Namespaces.select(this, 'Namespaces', { names: [this.name] }),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @see INamespaceSelector.toNamespaceSelectorConfig()
|
|
73
|
+
*/
|
|
74
|
+
toNamespaceSelectorConfig() {
|
|
75
|
+
return { names: [this.name] };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @see INetworkPolicyPeer.toNetworkPolicyPeerConfig()
|
|
79
|
+
*/
|
|
80
|
+
toNetworkPolicyPeerConfig() {
|
|
81
|
+
return this._pods.toNetworkPolicyPeerConfig();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @see INetworkPolicyPeer.toPodSelector()
|
|
85
|
+
*/
|
|
86
|
+
toPodSelector() {
|
|
87
|
+
return this._pods.toPodSelector();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
_toKube() {
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.Namespace = Namespace;
|
|
97
|
+
/**
|
|
98
|
+
* Represents a group of namespaces.
|
|
99
|
+
*/
|
|
100
|
+
class Namespaces extends constructs_1.Construct {
|
|
101
|
+
expressions;
|
|
102
|
+
names;
|
|
103
|
+
labels;
|
|
104
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk8s-plus-36.Namespaces", version: "2.0.0" };
|
|
105
|
+
/**
|
|
106
|
+
* Select specific namespaces.
|
|
107
|
+
*/
|
|
108
|
+
static select(scope, id, options) {
|
|
109
|
+
return new Namespaces(scope, id, options.expressions, options.names, options.labels);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Select all namespaces.
|
|
113
|
+
*/
|
|
114
|
+
static all(scope, id) {
|
|
115
|
+
return Namespaces.select(scope, id, { expressions: [], labels: {} });
|
|
116
|
+
}
|
|
117
|
+
_pods;
|
|
118
|
+
constructor(scope, id, expressions, names, labels) {
|
|
119
|
+
super(scope, id);
|
|
120
|
+
this.expressions = expressions;
|
|
121
|
+
this.names = names;
|
|
122
|
+
this.labels = labels;
|
|
123
|
+
this._pods = pod.Pods.all(this, 'Pods', { namespaces: this });
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @see INamespaceSelector.toNamespaceSelectorConfig()
|
|
127
|
+
*/
|
|
128
|
+
toNamespaceSelectorConfig() {
|
|
129
|
+
return {
|
|
130
|
+
labelSelector: pod.LabelSelector.of({ expressions: this.expressions, labels: this.labels }),
|
|
131
|
+
names: this.names,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @see INetworkPolicyPeer.toNetworkPolicyPeerConfig()
|
|
136
|
+
*/
|
|
137
|
+
toNetworkPolicyPeerConfig() {
|
|
138
|
+
return this._pods.toNetworkPolicyPeerConfig();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* @see INetworkPolicyPeer.toPodSelector()
|
|
142
|
+
*/
|
|
143
|
+
toPodSelector() {
|
|
144
|
+
return this._pods.toPodSelector();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.Namespaces = Namespaces;
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25hbWVzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQXdDO0FBQ3hDLDJDQUFtRDtBQUNuRCw2Q0FBK0I7QUFDL0IsbURBQXFDO0FBRXJDLDJDQUE2QjtBQWlDN0I7Ozs7O0dBS0c7QUFDSCxNQUFhLFNBQVUsU0FBUSxJQUFJLENBQUMsUUFBUTs7SUFFMUM7O09BRUc7SUFDSSxNQUFNLENBQVUsVUFBVSxHQUFHLDZCQUE2QixDQUFDO0lBRWxFOztPQUVHO0lBQ2dCLFNBQVMsQ0FBWTtJQUV4QixZQUFZLEdBQVcsWUFBWSxDQUFDO0lBRW5DLEtBQUssQ0FBVztJQUVqQyxZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUF3QixFQUFFO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN2RCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsSUFBSSxFQUFFLFlBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3RDLFVBQVUsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUMxRSxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQXhESCw4QkEwREM7QUFpQ0Q7O0dBRUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQW1CcEI7SUFDQTtJQUNBOztJQW5CbkI7O09BRUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE9BQWdDO1FBQ2pGLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBZ0IsRUFBRSxFQUFVO1FBQzVDLE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRWdCLEtBQUssQ0FBVztJQUVqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUNyQixXQUFtQyxFQUNuQyxLQUFnQixFQUNoQixNQUFrQztRQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSEEsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBNEI7UUFHbkQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU87WUFDTCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFFO1lBQzVGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBakRILGdDQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdCwgTGF6eSB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgYmFzZSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0ICogYXMgazhzIGZyb20gJy4vaW1wb3J0cy9rOHMnO1xuaW1wb3J0ICogYXMgbmV0d29ya3BvbGljeSBmcm9tICcuL25ldHdvcmstcG9saWN5JztcbmltcG9ydCAqIGFzIHBvZCBmcm9tICcuL3BvZCc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3Igc2VsZWN0aW5nIG5hbWVzcGFjZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZXNwYWNlU2VsZWN0b3JDb25maWcge1xuXG4gIC8qKlxuICAgKiBBIHNlbGVjdG9yIHRvIHNlbGVjdCBuYW1lc3BhY2VzIGJ5IGxhYmVscy5cbiAgICovXG4gIHJlYWRvbmx5IGxhYmVsU2VsZWN0b3I/OiBwb2QuTGFiZWxTZWxlY3RvcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIG5hbWVzIHRvIHNlbGVjdCBuYW1lc3BhY2VzIGJ5IG5hbWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIG9iamVjdCB0aGF0IGNhbiBzZWxlY3QgbmFtZXNwYWNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFtZXNwYWNlU2VsZWN0b3IgZXh0ZW5kcyBJQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGlzIHNlbGVjdG9yLlxuICAgKi9cbiAgdG9OYW1lc3BhY2VTZWxlY3RvckNvbmZpZygpOiBOYW1lc3BhY2VTZWxlY3RvckNvbmZpZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgTmFtZXNwYWNlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYW1lc3BhY2VQcm9wcyBleHRlbmRzIGJhc2UuUmVzb3VyY2VQcm9wcyB7fVxuXG4vKipcbiAqIEluIEt1YmVybmV0ZXMsIG5hbWVzcGFjZXMgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIGlzb2xhdGluZyBncm91cHMgb2YgcmVzb3VyY2VzIHdpdGhpbiBhIHNpbmdsZSBjbHVzdGVyLlxuICogTmFtZXMgb2YgcmVzb3VyY2VzIG5lZWQgdG8gYmUgdW5pcXVlIHdpdGhpbiBhIG5hbWVzcGFjZSwgYnV0IG5vdCBhY3Jvc3MgbmFtZXNwYWNlcy5cbiAqIE5hbWVzcGFjZS1iYXNlZCBzY29waW5nIGlzIGFwcGxpY2FibGUgb25seSBmb3IgbmFtZXNwYWNlZCBvYmplY3RzIChlLmcuIERlcGxveW1lbnRzLCBTZXJ2aWNlcywgZXRjKSBhbmRcbiAqIG5vdCBmb3IgY2x1c3Rlci13aWRlIG9iamVjdHMgKGUuZy4gU3RvcmFnZUNsYXNzLCBOb2RlcywgUGVyc2lzdGVudFZvbHVtZXMsIGV0YykuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYW1lc3BhY2UgZXh0ZW5kcyBiYXNlLlJlc291cmNlIGltcGxlbWVudHMgSU5hbWVzcGFjZVNlbGVjdG9yLCBuZXR3b3JrcG9saWN5LklOZXR3b3JrUG9saWN5UGVlciB7XG5cbiAgLyoqXG4gICAqIEBzZWUgaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvY29uY2VwdHMvb3ZlcnZpZXcvd29ya2luZy13aXRoLW9iamVjdHMvbmFtZXNwYWNlcy8jYXV0b21hdGljLWxhYmVsbGluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBOQU1FX0xBQkVMID0gJ2t1YmVybmV0ZXMuaW8vbWV0YWRhdGEubmFtZSc7XG5cbiAgLyoqXG4gICAqIEBzZWUgYmFzZS5SZXNvdXJjZS5hcGlPYmplY3RcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcGlPYmplY3Q6IEFwaU9iamVjdDtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmcgPSAnbmFtZXNwYWNlcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcG9kczogcG9kLlBvZHM7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOYW1lc3BhY2VQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuYXBpT2JqZWN0ID0gbmV3IGs4cy5LdWJlTmFtZXNwYWNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG1ldGFkYXRhOiBwcm9wcy5tZXRhZGF0YSxcbiAgICAgIHNwZWM6IExhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy5fdG9LdWJlKCkgfSksXG4gICAgfSk7XG5cbiAgICB0aGlzLl9wb2RzID0gcG9kLlBvZHMuYWxsKHRoaXMsICdQb2RzJywge1xuICAgICAgbmFtZXNwYWNlczogTmFtZXNwYWNlcy5zZWxlY3QodGhpcywgJ05hbWVzcGFjZXMnLCB7IG5hbWVzOiBbdGhpcy5uYW1lXSB9KSxcbiAgICB9KTtcblxuICB9XG5cbiAgLyoqXG4gICAqIEBzZWUgSU5hbWVzcGFjZVNlbGVjdG9yLnRvTmFtZXNwYWNlU2VsZWN0b3JDb25maWcoKVxuICAgKi9cbiAgcHVibGljIHRvTmFtZXNwYWNlU2VsZWN0b3JDb25maWcoKTogTmFtZXNwYWNlU2VsZWN0b3JDb25maWcge1xuICAgIHJldHVybiB7IG5hbWVzOiBbdGhpcy5uYW1lXSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBzZWUgSU5ldHdvcmtQb2xpY3lQZWVyLnRvTmV0d29ya1BvbGljeVBlZXJDb25maWcoKVxuICAgKi9cbiAgcHVibGljIHRvTmV0d29ya1BvbGljeVBlZXJDb25maWcoKTogbmV0d29ya3BvbGljeS5OZXR3b3JrUG9saWN5UGVlckNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BvZHMudG9OZXR3b3JrUG9saWN5UGVlckNvbmZpZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzZWUgSU5ldHdvcmtQb2xpY3lQZWVyLnRvUG9kU2VsZWN0b3IoKVxuICAgKi9cbiAgcHVibGljIHRvUG9kU2VsZWN0b3IoKTogcG9kLklQb2RTZWxlY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvZHMudG9Qb2RTZWxlY3RvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF90b0t1YmUoKTogazhzLk5hbWVzcGFjZVNwZWMge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYE5hbWVzcGFjZXMuc2VsZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYW1lc3BhY2VzU2VsZWN0T3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIExhYmVscyB0aGUgbmFtZXNwYWNlcyBtdXN0IGhhdmUuXG4gICAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB1c2luZyBhbiAnSXMnIHNlbGVjdG9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHN0cmljdCBsYWJlbHMgcmVxdWlyZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogTmFtZXNwYWNlcyBtdXN0IHNhdGlzZnkgdGhlc2Ugc2VsZWN0b3JzLlxuICAgKiBUaGUgc2VsZWN0b3JzIHF1ZXJ5IGxhYmVscywganVzdCBsaWtlIHRoZSBgbGFiZWxzYCBwcm9wZXJ0eSwgYnV0IHRoZXlcbiAgICogcHJvdmlkZSBhIG1vcmUgYWR2YW5jZWQgbWF0Y2hpbmcgbWVjaGFuaXNtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHNlbGVjdG9yIHJlcXVpcmVtZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGV4cHJlc3Npb25zPzogcG9kLkxhYmVsRXhwcmVzc2lvbltdO1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2VzIG5hbWVzIG11c3QgYmUgb25lIG9mIHRoZXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWUgcmVxdWlyZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXM/OiBzdHJpbmdbXTtcblxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBncm91cCBvZiBuYW1lc3BhY2VzLlxuICovXG5leHBvcnQgY2xhc3MgTmFtZXNwYWNlcyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElOYW1lc3BhY2VTZWxlY3RvciwgbmV0d29ya3BvbGljeS5JTmV0d29ya1BvbGljeVBlZXIge1xuXG4gIC8qKlxuICAgKiBTZWxlY3Qgc3BlY2lmaWMgbmFtZXNwYWNlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VsZWN0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IE5hbWVzcGFjZXNTZWxlY3RPcHRpb25zKTogTmFtZXNwYWNlcyB7XG4gICAgcmV0dXJuIG5ldyBOYW1lc3BhY2VzKHNjb3BlLCBpZCwgb3B0aW9ucy5leHByZXNzaW9ucywgb3B0aW9ucy5uYW1lcywgb3B0aW9ucy5sYWJlbHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdCBhbGwgbmFtZXNwYWNlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYWxsKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBOYW1lc3BhY2VzIHtcbiAgICByZXR1cm4gTmFtZXNwYWNlcy5zZWxlY3Qoc2NvcGUsIGlkLCB7IGV4cHJlc3Npb25zOiBbXSwgbGFiZWxzOiB7fSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BvZHM6IHBvZC5Qb2RzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBleHByZXNzaW9ucz86IHBvZC5MYWJlbEV4cHJlc3Npb25bXSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzPzogc3RyaW5nW10sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYWJlbHM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuX3BvZHMgPSBwb2QuUG9kcy5hbGwodGhpcywgJ1BvZHMnLCB7IG5hbWVzcGFjZXM6IHRoaXMgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHNlZSBJTmFtZXNwYWNlU2VsZWN0b3IudG9OYW1lc3BhY2VTZWxlY3RvckNvbmZpZygpXG4gICAqL1xuICBwdWJsaWMgdG9OYW1lc3BhY2VTZWxlY3RvckNvbmZpZygpOiBOYW1lc3BhY2VTZWxlY3RvckNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsU2VsZWN0b3I6IHBvZC5MYWJlbFNlbGVjdG9yLm9mKHsgZXhwcmVzc2lvbnM6IHRoaXMuZXhwcmVzc2lvbnMsIGxhYmVsczogdGhpcy5sYWJlbHMgfSApLFxuICAgICAgbmFtZXM6IHRoaXMubmFtZXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc2VlIElOZXR3b3JrUG9saWN5UGVlci50b05ldHdvcmtQb2xpY3lQZWVyQ29uZmlnKClcbiAgICovXG4gIHB1YmxpYyB0b05ldHdvcmtQb2xpY3lQZWVyQ29uZmlnKCk6IG5ldHdvcmtwb2xpY3kuTmV0d29ya1BvbGljeVBlZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9wb2RzLnRvTmV0d29ya1BvbGljeVBlZXJDb25maWcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc2VlIElOZXR3b3JrUG9saWN5UGVlci50b1BvZFNlbGVjdG9yKClcbiAgICovXG4gIHB1YmxpYyB0b1BvZFNlbGVjdG9yKCk6IHBvZC5JUG9kU2VsZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb2RzLnRvUG9kU2VsZWN0b3IoKTtcbiAgfVxuXG59XG4iXX0=
|