cdk8s-aws-cdk 0.0.5

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 (94) hide show
  1. package/.gitattributes +21 -0
  2. package/.jsii +4392 -0
  3. package/API.md +2204 -0
  4. package/LICENSE +202 -0
  5. package/README.md +201 -0
  6. package/changelog.md +2 -0
  7. package/examples/rds-db-instance/README.md +0 -0
  8. package/examples/rds-db-instance/cdk.out/RdsDBInstanceStack.assets.json +19 -0
  9. package/examples/rds-db-instance/cdk.out/RdsDBInstanceStack.template.json +86 -0
  10. package/examples/rds-db-instance/cdk.out/cdk.out +1 -0
  11. package/examples/rds-db-instance/cdk.out/manifest.json +230 -0
  12. package/examples/rds-db-instance/cdk.out/tree.json +171 -0
  13. package/examples/rds-db-instance/main.ts +136 -0
  14. package/lib/adapter.d.ts +37 -0
  15. package/lib/adapter.d.ts.map +1 -0
  16. package/lib/adapter.js +196 -0
  17. package/lib/chart.d.ts +19 -0
  18. package/lib/chart.d.ts.map +1 -0
  19. package/lib/chart.js +63 -0
  20. package/lib/imports/cloudcontrol.services.k8s.aws.d.ts +106 -0
  21. package/lib/imports/cloudcontrol.services.k8s.aws.d.ts.map +1 -0
  22. package/lib/imports/cloudcontrol.services.k8s.aws.js +92 -0
  23. package/lib/imports/dynamotables-dynamodb.services.k8s.aws.d.ts +430 -0
  24. package/lib/imports/dynamotables-dynamodb.services.k8s.aws.d.ts.map +1 -0
  25. package/lib/imports/dynamotables-dynamodb.services.k8s.aws.js +314 -0
  26. package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.d.ts +173 -0
  27. package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.d.ts.map +1 -0
  28. package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.js +156 -0
  29. package/lib/imports/fieldexports-services.k8s.aws.d.ts +159 -0
  30. package/lib/imports/fieldexports-services.k8s.aws.d.ts.map +1 -0
  31. package/lib/imports/fieldexports-services.k8s.aws.js +151 -0
  32. package/lib/imports/iampolicies-iam.services.k8s.aws.d.ts +135 -0
  33. package/lib/imports/iampolicies-iam.services.k8s.aws.d.ts.map +1 -0
  34. package/lib/imports/iampolicies-iam.services.k8s.aws.js +109 -0
  35. package/lib/imports/iamroles-iam.services.k8s.aws.d.ts +143 -0
  36. package/lib/imports/iamroles-iam.services.k8s.aws.d.ts.map +1 -0
  37. package/lib/imports/iamroles-iam.services.k8s.aws.js +112 -0
  38. package/lib/imports/k8s.d.ts +18619 -0
  39. package/lib/imports/k8s.d.ts.map +1 -0
  40. package/lib/imports/k8s.js +14701 -0
  41. package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.d.ts +280 -0
  42. package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.d.ts.map +1 -0
  43. package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.js +183 -0
  44. package/lib/imports/lambdafunctions-lambda.services.k8s.aws.d.ts +343 -0
  45. package/lib/imports/lambdafunctions-lambda.services.k8s.aws.d.ts.map +1 -0
  46. package/lib/imports/lambdafunctions-lambda.services.k8s.aws.js +225 -0
  47. package/lib/imports/rdsdbinstances-rds.services.k8s.aws.d.ts +790 -0
  48. package/lib/imports/rdsdbinstances-rds.services.k8s.aws.d.ts.map +1 -0
  49. package/lib/imports/rdsdbinstances-rds.services.k8s.aws.js +217 -0
  50. package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.d.ts +114 -0
  51. package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.d.ts.map +1 -0
  52. package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.js +108 -0
  53. package/lib/imports/s3buckets-s3.services.k8s.aws.d.ts +2253 -0
  54. package/lib/imports/s3buckets-s3.services.k8s.aws.d.ts.map +1 -0
  55. package/lib/imports/s3buckets-s3.services.k8s.aws.js +1672 -0
  56. package/lib/imports/sfnmachines-sfn.services.k8s.aws.d.ts +203 -0
  57. package/lib/imports/sfnmachines-sfn.services.k8s.aws.d.ts.map +1 -0
  58. package/lib/imports/sfnmachines-sfn.services.k8s.aws.js +174 -0
  59. package/lib/imports/snstopics-sns.services.k8s.aws.d.ts +106 -0
  60. package/lib/imports/snstopics-sns.services.k8s.aws.d.ts.map +1 -0
  61. package/lib/imports/snstopics-sns.services.k8s.aws.js +110 -0
  62. package/lib/index.d.ts +4 -0
  63. package/lib/index.d.ts.map +1 -0
  64. package/lib/index.js +16 -0
  65. package/lib/mappers/base.d.ts +23 -0
  66. package/lib/mappers/base.d.ts.map +1 -0
  67. package/lib/mappers/base.js +20 -0
  68. package/lib/mappers/ec2-security-group.d.ts +9 -0
  69. package/lib/mappers/ec2-security-group.d.ts.map +1 -0
  70. package/lib/mappers/ec2-security-group.js +33 -0
  71. package/lib/mappers/iam-policy.d.ts +9 -0
  72. package/lib/mappers/iam-policy.d.ts.map +1 -0
  73. package/lib/mappers/iam-policy.js +32 -0
  74. package/lib/mappers/iam-role.d.ts +9 -0
  75. package/lib/mappers/iam-role.d.ts.map +1 -0
  76. package/lib/mappers/iam-role.js +34 -0
  77. package/lib/mappers/index.d.ts +9 -0
  78. package/lib/mappers/index.d.ts.map +1 -0
  79. package/lib/mappers/index.js +21 -0
  80. package/lib/mappers/lambda-function.d.ts +9 -0
  81. package/lib/mappers/lambda-function.d.ts.map +1 -0
  82. package/lib/mappers/lambda-function.js +37 -0
  83. package/lib/mappers/rds-db-instance.d.ts +10 -0
  84. package/lib/mappers/rds-db-instance.d.ts.map +1 -0
  85. package/lib/mappers/rds-db-instance.js +65 -0
  86. package/lib/mappers/rds-db-subnet-group.d.ts +9 -0
  87. package/lib/mappers/rds-db-subnet-group.d.ts.map +1 -0
  88. package/lib/mappers/rds-db-subnet-group.js +34 -0
  89. package/lib/mappers/s3-bucket.d.ts +9 -0
  90. package/lib/mappers/s3-bucket.d.ts.map +1 -0
  91. package/lib/mappers/s3-bucket.js +53 -0
  92. package/package.json +129 -0
  93. package/releasetag.txt +1 -0
  94. package/version.txt +1 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJson_SecurityGroupSpecVpcRefFrom = exports.toJson_SecurityGroupSpecTagSpecificationsTags = exports.toJson_SecurityGroupSpecVpcRef = exports.toJson_SecurityGroupSpecTagSpecifications = exports.toJson_SecurityGroupSpec = exports.toJson_SecurityGroupProps = exports.SecurityGroup = void 0;
4
+ // generated by cdk8s
5
+ const cdk8s_1 = require("cdk8s");
6
+ /**
7
+ * SecurityGroup is the Schema for the SecurityGroups API
8
+ *
9
+ * @schema SecurityGroup
10
+ */
11
+ class SecurityGroup extends cdk8s_1.ApiObject {
12
+ /**
13
+ * Defines a "SecurityGroup" API object
14
+ * @param scope the scope in which to define this object
15
+ * @param id a scope-local name for the object
16
+ * @param props initialization props
17
+ */
18
+ constructor(scope, id, props = {}) {
19
+ super(scope, id, {
20
+ ...SecurityGroup.GVK,
21
+ ...props,
22
+ });
23
+ }
24
+ /**
25
+ * Renders a Kubernetes manifest for "SecurityGroup".
26
+ *
27
+ * This can be used to inline resource manifests inside other objects (e.g. as templates).
28
+ *
29
+ * @param props initialization props
30
+ */
31
+ static manifest(props = {}) {
32
+ return {
33
+ ...SecurityGroup.GVK,
34
+ ...toJson_SecurityGroupProps(props),
35
+ };
36
+ }
37
+ /**
38
+ * Renders the object to Kubernetes JSON.
39
+ */
40
+ toJson() {
41
+ const resolved = super.toJson();
42
+ return {
43
+ ...SecurityGroup.GVK,
44
+ ...toJson_SecurityGroupProps(resolved),
45
+ };
46
+ }
47
+ }
48
+ exports.SecurityGroup = SecurityGroup;
49
+ /**
50
+ * Returns the apiVersion and kind for "SecurityGroup"
51
+ */
52
+ SecurityGroup.GVK = {
53
+ apiVersion: 'ec2.services.k8s.aws/v1alpha1',
54
+ kind: 'SecurityGroup',
55
+ };
56
+ /**
57
+ * Converts an object of type 'SecurityGroupProps' to JSON representation.
58
+ */
59
+ /* eslint-disable max-len, quote-props */
60
+ function toJson_SecurityGroupProps(obj) {
61
+ if (obj === undefined) {
62
+ return undefined;
63
+ }
64
+ const result = {
65
+ 'metadata': obj.metadata,
66
+ 'spec': toJson_SecurityGroupSpec(obj.spec),
67
+ };
68
+ // filter undefined values
69
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
70
+ }
71
+ exports.toJson_SecurityGroupProps = toJson_SecurityGroupProps;
72
+ /**
73
+ * Converts an object of type 'SecurityGroupSpec' to JSON representation.
74
+ */
75
+ /* eslint-disable max-len, quote-props */
76
+ function toJson_SecurityGroupSpec(obj) {
77
+ var _a;
78
+ if (obj === undefined) {
79
+ return undefined;
80
+ }
81
+ const result = {
82
+ 'description': obj.description,
83
+ 'name': obj.name,
84
+ 'tagSpecifications': (_a = obj.tagSpecifications) === null || _a === void 0 ? void 0 : _a.map(y => toJson_SecurityGroupSpecTagSpecifications(y)),
85
+ 'vpcID': obj.vpcId,
86
+ 'vpcRef': toJson_SecurityGroupSpecVpcRef(obj.vpcRef),
87
+ };
88
+ // filter undefined values
89
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
90
+ }
91
+ exports.toJson_SecurityGroupSpec = toJson_SecurityGroupSpec;
92
+ /**
93
+ * Converts an object of type 'SecurityGroupSpecTagSpecifications' to JSON representation.
94
+ */
95
+ /* eslint-disable max-len, quote-props */
96
+ function toJson_SecurityGroupSpecTagSpecifications(obj) {
97
+ var _a;
98
+ if (obj === undefined) {
99
+ return undefined;
100
+ }
101
+ const result = {
102
+ 'resourceType': obj.resourceType,
103
+ 'tags': (_a = obj.tags) === null || _a === void 0 ? void 0 : _a.map(y => toJson_SecurityGroupSpecTagSpecificationsTags(y)),
104
+ };
105
+ // filter undefined values
106
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
107
+ }
108
+ exports.toJson_SecurityGroupSpecTagSpecifications = toJson_SecurityGroupSpecTagSpecifications;
109
+ /**
110
+ * Converts an object of type 'SecurityGroupSpecVpcRef' to JSON representation.
111
+ */
112
+ /* eslint-disable max-len, quote-props */
113
+ function toJson_SecurityGroupSpecVpcRef(obj) {
114
+ if (obj === undefined) {
115
+ return undefined;
116
+ }
117
+ const result = {
118
+ 'from': toJson_SecurityGroupSpecVpcRefFrom(obj.from),
119
+ };
120
+ // filter undefined values
121
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
122
+ }
123
+ exports.toJson_SecurityGroupSpecVpcRef = toJson_SecurityGroupSpecVpcRef;
124
+ /**
125
+ * Converts an object of type 'SecurityGroupSpecTagSpecificationsTags' to JSON representation.
126
+ */
127
+ /* eslint-disable max-len, quote-props */
128
+ function toJson_SecurityGroupSpecTagSpecificationsTags(obj) {
129
+ if (obj === undefined) {
130
+ return undefined;
131
+ }
132
+ const result = {
133
+ 'key': obj.key,
134
+ 'value': obj.value,
135
+ };
136
+ // filter undefined values
137
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
138
+ }
139
+ exports.toJson_SecurityGroupSpecTagSpecificationsTags = toJson_SecurityGroupSpecTagSpecificationsTags;
140
+ /**
141
+ * Converts an object of type 'SecurityGroupSpecVpcRefFrom' to JSON representation.
142
+ */
143
+ /* eslint-disable max-len, quote-props */
144
+ function toJson_SecurityGroupSpecVpcRefFrom(obj) {
145
+ if (obj === undefined) {
146
+ return undefined;
147
+ }
148
+ const result = {
149
+ 'name': obj.name,
150
+ };
151
+ // filter undefined values
152
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
153
+ }
154
+ exports.toJson_SecurityGroupSpecVpcRefFrom = toJson_SecurityGroupSpecVpcRefFrom;
155
+ /* eslint-enable max-len, quote-props */
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyc2VjdXJpdHlncm91cHMtZWMyLnNlcnZpY2VzLms4cy5hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0cy9lYzJzZWN1cml0eWdyb3Vwcy1lYzIuc2VydmljZXMuazhzLmF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQkFBcUI7QUFDckIsaUNBQXVFO0FBSXZFOzs7O0dBSUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxpQkFBUztJQXVCMUM7Ozs7O09BS0c7SUFDSCxZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUE0QixFQUFFO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxhQUFhLENBQUMsR0FBRztZQUNwQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBekJEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBNEIsRUFBRTtRQUNuRCxPQUFPO1lBQ0wsR0FBRyxhQUFhLENBQUMsR0FBRztZQUNwQixHQUFHLHlCQUF5QixDQUFDLEtBQUssQ0FBQztTQUNwQyxDQUFDO0lBQ0osQ0FBQztJQWVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxhQUFhLENBQUMsR0FBRztZQUNwQixHQUFHLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztTQUN2QyxDQUFDO0lBQ0osQ0FBQzs7QUE5Q0gsc0NBK0NDO0FBOUNDOztHQUVHO0FBQ29CLGlCQUFHLEdBQXFCO0lBQzdDLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0MsSUFBSSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQztBQStESjs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQix5QkFBeUIsQ0FBQyxHQUFtQztJQUMzRSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFBRSxPQUFPLFNB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O0FBUkQsc0dBUUM7QUFnQkQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0Isa0NBQWtDLENBQUMsR0FBNEM7SUFDN0YsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQUUsT0FBTyxTQUFTLENBQUM7S0FBRTtJQUM1QyxNQUFNLE1BQU0sR0FBRztRQUNiLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSTtLQUNqQixDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUFQRCxnRkFPQztBQUNELHdDQUF3QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGdlbmVyYXRlZCBieSBjZGs4c1xuaW1wb3J0IHsgQXBpT2JqZWN0LCBBcGlPYmplY3RNZXRhZGF0YSwgR3JvdXBWZXJzaW9uS2luZCB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cbi8qKlxuICogU2VjdXJpdHlHcm91cCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgU2VjdXJpdHlHcm91cHMgQVBJXG4gKlxuICogQHNjaGVtYSBTZWN1cml0eUdyb3VwXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eUdyb3VwIGV4dGVuZHMgQXBpT2JqZWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwaVZlcnNpb24gYW5kIGtpbmQgZm9yIFwiU2VjdXJpdHlHcm91cFwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdWSzogR3JvdXBWZXJzaW9uS2luZCA9IHtcbiAgICBhcGlWZXJzaW9uOiAnZWMyLnNlcnZpY2VzLms4cy5hd3MvdjFhbHBoYTEnLFxuICAgIGtpbmQ6ICdTZWN1cml0eUdyb3VwJyxcbiAgfTtcblxuICAvKipcbiAgICogUmVuZGVycyBhIEt1YmVybmV0ZXMgbWFuaWZlc3QgZm9yIFwiU2VjdXJpdHlHcm91cFwiLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGlubGluZSByZXNvdXJjZSBtYW5pZmVzdHMgaW5zaWRlIG90aGVyIG9iamVjdHMgKGUuZy4gYXMgdGVtcGxhdGVzKS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIGluaXRpYWxpemF0aW9uIHByb3BzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hbmlmZXN0KHByb3BzOiBTZWN1cml0eUdyb3VwUHJvcHMgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlNlY3VyaXR5R3JvdXAuR1ZLLFxuICAgICAgLi4udG9Kc29uX1NlY3VyaXR5R3JvdXBQcm9wcyhwcm9wcyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgXCJTZWN1cml0eUdyb3VwXCIgQVBJIG9iamVjdFxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgYSBzY29wZS1sb2NhbCBuYW1lIGZvciB0aGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTZWN1cml0eUdyb3VwUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4uU2VjdXJpdHlHcm91cC5HVkssXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBvYmplY3QgdG8gS3ViZXJuZXRlcyBKU09OLlxuICAgKi9cbiAgcHVibGljIHRvSnNvbigpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gc3VwZXIudG9Kc29uKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uU2VjdXJpdHlHcm91cC5HVkssXG4gICAgICAuLi50b0pzb25fU2VjdXJpdHlHcm91cFByb3BzKHJlc29sdmVkKSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogU2VjdXJpdHlHcm91cCBpcyB0aGUgU2NoZW1hIGZvciB0aGUgU2VjdXJpdHlHcm91cHMgQVBJXG4gKlxuICogQHNjaGVtYSBTZWN1cml0eUdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFByb3BzIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgU2VjdXJpdHlHcm91cCNtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogU2VjdXJpdHlHcm91cFNwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBTZWN1cml0eUdyb3VwLlxuICAgKiBEZXNjcmliZXMgYSBzZWN1cml0eSBncm91cC5cbiAgICpcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwI3NwZWNcbiAgICovXG4gIHJlYWRvbmx5IHNwZWM/OiBTZWN1cml0eUdyb3VwU3BlYztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdTZWN1cml0eUdyb3VwUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1NlY3VyaXR5R3JvdXBQcm9wcyhvYmo6IFNlY3VyaXR5R3JvdXBQcm9wcyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ21ldGFkYXRhJzogb2JqLm1ldGFkYXRhLFxuICAgICdzcGVjJzogdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjKG9iai5zcGVjKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBTZWN1cml0eUdyb3VwU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIFNlY3VyaXR5R3JvdXAuXG4gKiBEZXNjcmliZXMgYSBzZWN1cml0eSBncm91cC5cbiAqXG4gKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFNwZWMge1xuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBmb3IgdGhlIHNlY3VyaXR5IGdyb3VwLiBUaGlzIGlzIGluZm9ybWF0aW9uYWwgb25seS5cbiAgICogQ29uc3RyYWludHM6IFVwIHRvIDI1NSBjaGFyYWN0ZXJzIGluIGxlbmd0aFxuICAgKiBDb25zdHJhaW50cyBmb3IgRUMyLUNsYXNzaWM6IEFTQ0lJIGNoYXJhY3RlcnNcbiAgICogQ29uc3RyYWludHMgZm9yIEVDMi1WUEM6IGEteiwgQS1aLCAwLTksIHNwYWNlcywgYW5kIC5fLTovKCkjLEBbXSs9Jjt7fSEkKlxuICAgKlxuICAgKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjI2Rlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqIENvbnN0cmFpbnRzOiBVcCB0byAyNTUgY2hhcmFjdGVycyBpbiBsZW5ndGguIENhbm5vdCBzdGFydCB3aXRoIHNnLS5cbiAgICogQ29uc3RyYWludHMgZm9yIEVDMi1DbGFzc2ljOiBBU0NJSSBjaGFyYWN0ZXJzXG4gICAqIENvbnN0cmFpbnRzIGZvciBFQzItVlBDOiBhLXosIEEtWiwgMC05LCBzcGFjZXMsIGFuZCAuXy06LygpIyxAW10rPSY7e30hJCpcbiAgICpcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwU3BlYyNuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFzc2lnbiB0byB0aGUgc2VjdXJpdHkgZ3JvdXAuXG4gICAqXG4gICAqIEBzY2hlbWEgU2VjdXJpdHlHcm91cFNwZWMjdGFnU3BlY2lmaWNhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHRhZ1NwZWNpZmljYXRpb25zPzogU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9uc1tdO1xuXG4gIC8qKlxuICAgKiBbRUMyLVZQQ10gVGhlIElEIG9mIHRoZSBWUEMuIFJlcXVpcmVkIGZvciBFQzItVlBDLlxuICAgKlxuICAgKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjI3ZwY0lEXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogQVdTUmVzb3VyY2VSZWZlcmVuY2VXcmFwcGVyIHByb3ZpZGVzIGEgd3JhcHBlciBhcm91bmQgKkFXU1Jlc291cmNlUmVmZXJlbmNlIHR5cGUgdG8gcHJvdmlkZSBtb3JlIHVzZXIgZnJpZW5kbHkgc3ludGF4IGZvciByZWZlcmVuY2VzIHVzaW5nICdmcm9tJyBmaWVsZCBFeDogQVBJSURSZWY6ICAgZnJvbTogICAgIG5hbWU6IG15LWFwaVxuICAgKlxuICAgKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjI3ZwY1JlZlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUmVmPzogU2VjdXJpdHlHcm91cFNwZWNWcGNSZWY7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU2VjdXJpdHlHcm91cFNwZWMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjKG9iajogU2VjdXJpdHlHcm91cFNwZWMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdkZXNjcmlwdGlvbic6IG9iai5kZXNjcmlwdGlvbixcbiAgICAnbmFtZSc6IG9iai5uYW1lLFxuICAgICd0YWdTcGVjaWZpY2F0aW9ucyc6IG9iai50YWdTcGVjaWZpY2F0aW9ucz8ubWFwKHkgPT4gdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnMoeSkpLFxuICAgICd2cGNJRCc6IG9iai52cGNJZCxcbiAgICAndnBjUmVmJzogdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjVnBjUmVmKG9iai52cGNSZWYpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIFRoZSB0YWdzIHRvIGFwcGx5IHRvIGEgcmVzb3VyY2Ugd2hlbiB0aGUgcmVzb3VyY2UgaXMgYmVpbmcgY3JlYXRlZC5cbiAqXG4gKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9ucyNyZXNvdXJjZVR5cGVcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlVHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zI3RhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zVGFnc1tdO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1NlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnMob2JqOiBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAncmVzb3VyY2VUeXBlJzogb2JqLnJlc291cmNlVHlwZSxcbiAgICAndGFncyc6IG9iai50YWdzPy5tYXAoeSA9PiB0b0pzb25fU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9uc1RhZ3MoeSkpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEFXU1Jlc291cmNlUmVmZXJlbmNlV3JhcHBlciBwcm92aWRlcyBhIHdyYXBwZXIgYXJvdW5kICpBV1NSZXNvdXJjZVJlZmVyZW5jZSB0eXBlIHRvIHByb3ZpZGUgbW9yZSB1c2VyIGZyaWVuZGx5IHN5bnRheCBmb3IgcmVmZXJlbmNlcyB1c2luZyAnZnJvbScgZmllbGQgRXg6IEFQSUlEUmVmOiAgIGZyb206ICAgICBuYW1lOiBteS1hcGlcbiAqXG4gKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjVnBjUmVmXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFNwZWNWcGNSZWYge1xuICAvKipcbiAgICogQVdTUmVzb3VyY2VSZWZlcmVuY2UgcHJvdmlkZXMgYWxsIHRoZSB2YWx1ZXMgbmVjZXNzYXJ5IHRvIHJlZmVyZW5jZSBhbm90aGVyIGs4cyByZXNvdXJjZSBmb3IgZmluZGluZyB0aGUgaWRlbnRpZmllcihJZC9BUk4vTmFtZSlcbiAgICpcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwU3BlY1ZwY1JlZiNmcm9tXG4gICAqL1xuICByZWFkb25seSBmcm9tPzogU2VjdXJpdHlHcm91cFNwZWNWcGNSZWZGcm9tO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1NlY3VyaXR5R3JvdXBTcGVjVnBjUmVmJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TZWN1cml0eUdyb3VwU3BlY1ZwY1JlZihvYmo6IFNlY3VyaXR5R3JvdXBTcGVjVnBjUmVmIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnZnJvbSc6IHRvSnNvbl9TZWN1cml0eUdyb3VwU3BlY1ZwY1JlZkZyb20ob2JqLmZyb20pLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIERlc2NyaWJlcyBhIHRhZy5cbiAqXG4gKiBAc2NoZW1hIFNlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnNUYWdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9uc1RhZ3Mge1xuICAvKipcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zVGFncyNrZXlcbiAgICovXG4gIHJlYWRvbmx5IGtleT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBTZWN1cml0eUdyb3VwU3BlY1RhZ1NwZWNpZmljYXRpb25zVGFncyN2YWx1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9uc1RhZ3MnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1NlY3VyaXR5R3JvdXBTcGVjVGFnU3BlY2lmaWNhdGlvbnNUYWdzKG9iajogU2VjdXJpdHlHcm91cFNwZWNUYWdTcGVjaWZpY2F0aW9uc1RhZ3MgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdrZXknOiBvYmoua2V5LFxuICAgICd2YWx1ZSc6IG9iai52YWx1ZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBV1NSZXNvdXJjZVJlZmVyZW5jZSBwcm92aWRlcyBhbGwgdGhlIHZhbHVlcyBuZWNlc3NhcnkgdG8gcmVmZXJlbmNlIGFub3RoZXIgazhzIHJlc291cmNlIGZvciBmaW5kaW5nIHRoZSBpZGVudGlmaWVyKElkL0FSTi9OYW1lKVxuICpcbiAqIEBzY2hlbWEgU2VjdXJpdHlHcm91cFNwZWNWcGNSZWZGcm9tXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlHcm91cFNwZWNWcGNSZWZGcm9tIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgU2VjdXJpdHlHcm91cFNwZWNWcGNSZWZGcm9tI25hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU2VjdXJpdHlHcm91cFNwZWNWcGNSZWZGcm9tJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TZWN1cml0eUdyb3VwU3BlY1ZwY1JlZkZyb20ob2JqOiBTZWN1cml0eUdyb3VwU3BlY1ZwY1JlZkZyb20gfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICduYW1lJzogb2JqLm5hbWUsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbiJdfQ==
@@ -0,0 +1,159 @@
1
+ import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * FieldExport is the schema for the FieldExport API.
5
+ *
6
+ * @schema FieldExport
7
+ */
8
+ export declare class FieldExport extends ApiObject {
9
+ /**
10
+ * Returns the apiVersion and kind for "FieldExport"
11
+ */
12
+ static readonly GVK: GroupVersionKind;
13
+ /**
14
+ * Renders a Kubernetes manifest for "FieldExport".
15
+ *
16
+ * This can be used to inline resource manifests inside other objects (e.g. as templates).
17
+ *
18
+ * @param props initialization props
19
+ */
20
+ static manifest(props?: FieldExportProps): any;
21
+ /**
22
+ * Defines a "FieldExport" API object
23
+ * @param scope the scope in which to define this object
24
+ * @param id a scope-local name for the object
25
+ * @param props initialization props
26
+ */
27
+ constructor(scope: Construct, id: string, props?: FieldExportProps);
28
+ /**
29
+ * Renders the object to Kubernetes JSON.
30
+ */
31
+ toJson(): any;
32
+ }
33
+ /**
34
+ * FieldExport is the schema for the FieldExport API.
35
+ *
36
+ * @schema FieldExport
37
+ */
38
+ export interface FieldExportProps {
39
+ /**
40
+ * @schema FieldExport#metadata
41
+ */
42
+ readonly metadata?: ApiObjectMetadata;
43
+ /**
44
+ * FieldExportSpec defines the desired state of the FieldExport.
45
+ *
46
+ * @schema FieldExport#spec
47
+ */
48
+ readonly spec?: FieldExportSpec;
49
+ }
50
+ /**
51
+ * Converts an object of type 'FieldExportProps' to JSON representation.
52
+ */
53
+ export declare function toJson_FieldExportProps(obj: FieldExportProps | undefined): Record<string, any> | undefined;
54
+ /**
55
+ * FieldExportSpec defines the desired state of the FieldExport.
56
+ *
57
+ * @schema FieldExportSpec
58
+ */
59
+ export interface FieldExportSpec {
60
+ /**
61
+ * ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource.
62
+ *
63
+ * @schema FieldExportSpec#from
64
+ */
65
+ readonly from: FieldExportSpecFrom;
66
+ /**
67
+ * FieldExportTarget provides the values necessary to identify the output path for a field export.
68
+ *
69
+ * @schema FieldExportSpec#to
70
+ */
71
+ readonly to: FieldExportSpecTo;
72
+ }
73
+ /**
74
+ * Converts an object of type 'FieldExportSpec' to JSON representation.
75
+ */
76
+ export declare function toJson_FieldExportSpec(obj: FieldExportSpec | undefined): Record<string, any> | undefined;
77
+ /**
78
+ * ResourceFieldSelector provides the values necessary to identify an individual field on an individual K8s resource.
79
+ *
80
+ * @schema FieldExportSpecFrom
81
+ */
82
+ export interface FieldExportSpecFrom {
83
+ /**
84
+ * @schema FieldExportSpecFrom#path
85
+ */
86
+ readonly path: string;
87
+ /**
88
+ * NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type).
89
+ *
90
+ * @schema FieldExportSpecFrom#resource
91
+ */
92
+ readonly resource: FieldExportSpecFromResource;
93
+ }
94
+ /**
95
+ * Converts an object of type 'FieldExportSpecFrom' to JSON representation.
96
+ */
97
+ export declare function toJson_FieldExportSpecFrom(obj: FieldExportSpecFrom | undefined): Record<string, any> | undefined;
98
+ /**
99
+ * FieldExportTarget provides the values necessary to identify the output path for a field export.
100
+ *
101
+ * @schema FieldExportSpecTo
102
+ */
103
+ export interface FieldExportSpecTo {
104
+ /**
105
+ * FieldExportOutputType represents all types that can be produced by a field export operation
106
+ *
107
+ * @schema FieldExportSpecTo#kind
108
+ */
109
+ readonly kind: FieldExportSpecToKind;
110
+ /**
111
+ * @schema FieldExportSpecTo#name
112
+ */
113
+ readonly name: string;
114
+ /**
115
+ * Namespace is marked as optional, so we cannot compose `NamespacedName`
116
+ *
117
+ * @schema FieldExportSpecTo#namespace
118
+ */
119
+ readonly namespace?: string;
120
+ }
121
+ /**
122
+ * Converts an object of type 'FieldExportSpecTo' to JSON representation.
123
+ */
124
+ export declare function toJson_FieldExportSpecTo(obj: FieldExportSpecTo | undefined): Record<string, any> | undefined;
125
+ /**
126
+ * NamespacedResource provides all the values necessary to identify an ACK resource of a given type (within the same namespace as the custom resource containing this type).
127
+ *
128
+ * @schema FieldExportSpecFromResource
129
+ */
130
+ export interface FieldExportSpecFromResource {
131
+ /**
132
+ * @schema FieldExportSpecFromResource#group
133
+ */
134
+ readonly group: string;
135
+ /**
136
+ * @schema FieldExportSpecFromResource#kind
137
+ */
138
+ readonly kind: string;
139
+ /**
140
+ * @schema FieldExportSpecFromResource#name
141
+ */
142
+ readonly name: string;
143
+ }
144
+ /**
145
+ * Converts an object of type 'FieldExportSpecFromResource' to JSON representation.
146
+ */
147
+ export declare function toJson_FieldExportSpecFromResource(obj: FieldExportSpecFromResource | undefined): Record<string, any> | undefined;
148
+ /**
149
+ * FieldExportOutputType represents all types that can be produced by a field export operation
150
+ *
151
+ * @schema FieldExportSpecToKind
152
+ */
153
+ export declare enum FieldExportSpecToKind {
154
+ /** configmap */
155
+ CONFIGMAP = "configmap",
156
+ /** secret */
157
+ SECRET = "secret"
158
+ }
159
+ //# sourceMappingURL=fieldexports-services.k8s.aws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldexports-services.k8s.aws.d.ts","sourceRoot":"","sources":["../../src/imports/fieldexports-services.k8s.aws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC;;OAEG;IACH,gBAAuB,GAAG,EAAE,gBAAgB,CAG1C;IAEF;;;;;;OAMG;WACW,QAAQ,CAAC,KAAK,GAAE,gBAAqB,GAAG,GAAG;IAOzD;;;;;OAKG;gBACgB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,gBAAqB;IAO7E;;OAEG;IACI,MAAM,IAAI,GAAG;CAQrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;CAEjC;AAED;;GAEG;AAEH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQ1G;AAGD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;CAEhC;AAED;;GAEG;AAEH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQxG;AAGD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;CAEhD;AAED;;GAEG;AAEH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQhH;AAGD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAE7B;AAED;;GAEG;AAEH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAS5G;AAGD;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CAEvB;AAED;;GAEG;AAEH,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,2BAA2B,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAShI;AAGD;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,gBAAgB;IAChB,SAAS,cAAc;IACvB,aAAa;IACb,MAAM,WAAW;CAClB"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FieldExportSpecToKind = exports.toJson_FieldExportSpecFromResource = exports.toJson_FieldExportSpecTo = exports.toJson_FieldExportSpecFrom = exports.toJson_FieldExportSpec = exports.toJson_FieldExportProps = exports.FieldExport = void 0;
4
+ // generated by cdk8s
5
+ const cdk8s_1 = require("cdk8s");
6
+ /**
7
+ * FieldExport is the schema for the FieldExport API.
8
+ *
9
+ * @schema FieldExport
10
+ */
11
+ class FieldExport extends cdk8s_1.ApiObject {
12
+ /**
13
+ * Defines a "FieldExport" API object
14
+ * @param scope the scope in which to define this object
15
+ * @param id a scope-local name for the object
16
+ * @param props initialization props
17
+ */
18
+ constructor(scope, id, props = {}) {
19
+ super(scope, id, {
20
+ ...FieldExport.GVK,
21
+ ...props,
22
+ });
23
+ }
24
+ /**
25
+ * Renders a Kubernetes manifest for "FieldExport".
26
+ *
27
+ * This can be used to inline resource manifests inside other objects (e.g. as templates).
28
+ *
29
+ * @param props initialization props
30
+ */
31
+ static manifest(props = {}) {
32
+ return {
33
+ ...FieldExport.GVK,
34
+ ...toJson_FieldExportProps(props),
35
+ };
36
+ }
37
+ /**
38
+ * Renders the object to Kubernetes JSON.
39
+ */
40
+ toJson() {
41
+ const resolved = super.toJson();
42
+ return {
43
+ ...FieldExport.GVK,
44
+ ...toJson_FieldExportProps(resolved),
45
+ };
46
+ }
47
+ }
48
+ exports.FieldExport = FieldExport;
49
+ /**
50
+ * Returns the apiVersion and kind for "FieldExport"
51
+ */
52
+ FieldExport.GVK = {
53
+ apiVersion: 'services.k8s.aws/v1alpha1',
54
+ kind: 'FieldExport',
55
+ };
56
+ /**
57
+ * Converts an object of type 'FieldExportProps' to JSON representation.
58
+ */
59
+ /* eslint-disable max-len, quote-props */
60
+ function toJson_FieldExportProps(obj) {
61
+ if (obj === undefined) {
62
+ return undefined;
63
+ }
64
+ const result = {
65
+ 'metadata': obj.metadata,
66
+ 'spec': toJson_FieldExportSpec(obj.spec),
67
+ };
68
+ // filter undefined values
69
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
70
+ }
71
+ exports.toJson_FieldExportProps = toJson_FieldExportProps;
72
+ /**
73
+ * Converts an object of type 'FieldExportSpec' to JSON representation.
74
+ */
75
+ /* eslint-disable max-len, quote-props */
76
+ function toJson_FieldExportSpec(obj) {
77
+ if (obj === undefined) {
78
+ return undefined;
79
+ }
80
+ const result = {
81
+ 'from': toJson_FieldExportSpecFrom(obj.from),
82
+ 'to': toJson_FieldExportSpecTo(obj.to),
83
+ };
84
+ // filter undefined values
85
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
86
+ }
87
+ exports.toJson_FieldExportSpec = toJson_FieldExportSpec;
88
+ /**
89
+ * Converts an object of type 'FieldExportSpecFrom' to JSON representation.
90
+ */
91
+ /* eslint-disable max-len, quote-props */
92
+ function toJson_FieldExportSpecFrom(obj) {
93
+ if (obj === undefined) {
94
+ return undefined;
95
+ }
96
+ const result = {
97
+ 'path': obj.path,
98
+ 'resource': toJson_FieldExportSpecFromResource(obj.resource),
99
+ };
100
+ // filter undefined values
101
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
102
+ }
103
+ exports.toJson_FieldExportSpecFrom = toJson_FieldExportSpecFrom;
104
+ /**
105
+ * Converts an object of type 'FieldExportSpecTo' to JSON representation.
106
+ */
107
+ /* eslint-disable max-len, quote-props */
108
+ function toJson_FieldExportSpecTo(obj) {
109
+ if (obj === undefined) {
110
+ return undefined;
111
+ }
112
+ const result = {
113
+ 'kind': obj.kind,
114
+ 'name': obj.name,
115
+ 'namespace': obj.namespace,
116
+ };
117
+ // filter undefined values
118
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
119
+ }
120
+ exports.toJson_FieldExportSpecTo = toJson_FieldExportSpecTo;
121
+ /**
122
+ * Converts an object of type 'FieldExportSpecFromResource' to JSON representation.
123
+ */
124
+ /* eslint-disable max-len, quote-props */
125
+ function toJson_FieldExportSpecFromResource(obj) {
126
+ if (obj === undefined) {
127
+ return undefined;
128
+ }
129
+ const result = {
130
+ 'group': obj.group,
131
+ 'kind': obj.kind,
132
+ 'name': obj.name,
133
+ };
134
+ // filter undefined values
135
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
136
+ }
137
+ exports.toJson_FieldExportSpecFromResource = toJson_FieldExportSpecFromResource;
138
+ /* eslint-enable max-len, quote-props */
139
+ /**
140
+ * FieldExportOutputType represents all types that can be produced by a field export operation
141
+ *
142
+ * @schema FieldExportSpecToKind
143
+ */
144
+ var FieldExportSpecToKind;
145
+ (function (FieldExportSpecToKind) {
146
+ /** configmap */
147
+ FieldExportSpecToKind["CONFIGMAP"] = "configmap";
148
+ /** secret */
149
+ FieldExportSpecToKind["SECRET"] = "secret";
150
+ })(FieldExportSpecToKind = exports.FieldExportSpecToKind || (exports.FieldExportSpecToKind = {}));
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRleHBvcnRzLXNlcnZpY2VzLms4cy5hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0cy9maWVsZGV4cG9ydHMtc2VydmljZXMuazhzLmF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQkFBcUI7QUFDckIsaUNBQXVFO0FBSXZFOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVksU0FBUSxpQkFBUztJQXVCeEM7Ozs7O09BS0c7SUFDSCxZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUEwQixFQUFFO1FBQzNFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxXQUFXLENBQUMsR0FBRztZQUNsQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBekJEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBMEIsRUFBRTtRQUNqRCxPQUFPO1lBQ0wsR0FBRyxXQUFXLENBQUMsR0FBRztZQUNsQixHQUFHLHVCQUF1QixDQUFDLEtBQUssQ0FBQztTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQWVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxXQUFXLENBQUMsR0FBRztZQUNsQixHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztTQUNyQyxDQUFDO0lBQ0osQ0FBQzs7QUE5Q0gsa0NBK0NDO0FBOUNDOztHQUVHO0FBQ29CLGVBQUcsR0FBcUI7SUFDN0MsVUFBVSxFQUFFLDJCQUEyQjtJQUN2QyxJQUFJLEVBQUUsYUFBYTtDQUNwQixDQUFDO0FBOERKOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLHVCQUF1QixDQUFDLEdBQWlDO0lBQ3ZFLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtRQUFFLE9BQU8sU0FBUyxDQUFDO0tBQUU7SUFDNUMs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bkIsQ0FBQyxFQUxXLHFCQUFxQixHQUFyQiw2QkFBcUIsS0FBckIsNkJBQXFCLFFBS2hDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2VuZXJhdGVkIGJ5IGNkazhzXG5pbXBvcnQgeyBBcGlPYmplY3QsIEFwaU9iamVjdE1ldGFkYXRhLCBHcm91cFZlcnNpb25LaW5kIH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cblxuLyoqXG4gKiBGaWVsZEV4cG9ydCBpcyB0aGUgc2NoZW1hIGZvciB0aGUgRmllbGRFeHBvcnQgQVBJLlxuICpcbiAqIEBzY2hlbWEgRmllbGRFeHBvcnRcbiAqL1xuZXhwb3J0IGNsYXNzIEZpZWxkRXhwb3J0IGV4dGVuZHMgQXBpT2JqZWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwaVZlcnNpb24gYW5kIGtpbmQgZm9yIFwiRmllbGRFeHBvcnRcIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBHVks6IEdyb3VwVmVyc2lvbktpbmQgPSB7XG4gICAgYXBpVmVyc2lvbjogJ3NlcnZpY2VzLms4cy5hd3MvdjFhbHBoYTEnLFxuICAgIGtpbmQ6ICdGaWVsZEV4cG9ydCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgYSBLdWJlcm5ldGVzIG1hbmlmZXN0IGZvciBcIkZpZWxkRXhwb3J0XCIuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gaW5saW5lIHJlc291cmNlIG1hbmlmZXN0cyBpbnNpZGUgb3RoZXIgb2JqZWN0cyAoZS5nLiBhcyB0ZW1wbGF0ZXMpLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgaW5pdGlhbGl6YXRpb24gcHJvcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWFuaWZlc3QocHJvcHM6IEZpZWxkRXhwb3J0UHJvcHMgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLkZpZWxkRXhwb3J0LkdWSyxcbiAgICAgIC4uLnRvSnNvbl9GaWVsZEV4cG9ydFByb3BzKHByb3BzKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYSBcIkZpZWxkRXhwb3J0XCIgQVBJIG9iamVjdFxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgYSBzY29wZS1sb2NhbCBuYW1lIGZvciB0aGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBGaWVsZEV4cG9ydFByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLkZpZWxkRXhwb3J0LkdWSyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG9iamVjdCB0byBLdWJlcm5ldGVzIEpTT04uXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBzdXBlci50b0pzb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5GaWVsZEV4cG9ydC5HVkssXG4gICAgICAuLi50b0pzb25fRmllbGRFeHBvcnRQcm9wcyhyZXNvbHZlZCksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEZpZWxkRXhwb3J0IGlzIHRoZSBzY2hlbWEgZm9yIHRoZSBGaWVsZEV4cG9ydCBBUEkuXG4gKlxuICogQHNjaGVtYSBGaWVsZEV4cG9ydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRXhwb3J0UHJvcHMge1xuICAvKipcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydCNtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogRmllbGRFeHBvcnRTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgdGhlIEZpZWxkRXhwb3J0LlxuICAgKlxuICAgKiBAc2NoZW1hIEZpZWxkRXhwb3J0I3NwZWNcbiAgICovXG4gIHJlYWRvbmx5IHNwZWM/OiBGaWVsZEV4cG9ydFNwZWM7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnRmllbGRFeHBvcnRQcm9wcycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fRmllbGRFeHBvcnRQcm9wcyhvYmo6IEZpZWxkRXhwb3J0UHJvcHMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdtZXRhZGF0YSc6IG9iai5tZXRhZGF0YSxcbiAgICAnc3BlYyc6IHRvSnNvbl9GaWVsZEV4cG9ydFNwZWMob2JqLnNwZWMpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEZpZWxkRXhwb3J0U3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIHRoZSBGaWVsZEV4cG9ydC5cbiAqXG4gKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRXhwb3J0U3BlYyB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZUZpZWxkU2VsZWN0b3IgcHJvdmlkZXMgdGhlIHZhbHVlcyBuZWNlc3NhcnkgdG8gaWRlbnRpZnkgYW4gaW5kaXZpZHVhbCBmaWVsZCBvbiBhbiBpbmRpdmlkdWFsIEs4cyByZXNvdXJjZS5cbiAgICpcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWMjZnJvbVxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbTogRmllbGRFeHBvcnRTcGVjRnJvbTtcblxuICAvKipcbiAgICogRmllbGRFeHBvcnRUYXJnZXQgcHJvdmlkZXMgdGhlIHZhbHVlcyBuZWNlc3NhcnkgdG8gaWRlbnRpZnkgdGhlIG91dHB1dCBwYXRoIGZvciBhIGZpZWxkIGV4cG9ydC5cbiAgICpcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWMjdG9cbiAgICovXG4gIHJlYWRvbmx5IHRvOiBGaWVsZEV4cG9ydFNwZWNUbztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGaWVsZEV4cG9ydFNwZWMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0ZpZWxkRXhwb3J0U3BlYyhvYmo6IEZpZWxkRXhwb3J0U3BlYyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ2Zyb20nOiB0b0pzb25fRmllbGRFeHBvcnRTcGVjRnJvbShvYmouZnJvbSksXG4gICAgJ3RvJzogdG9Kc29uX0ZpZWxkRXhwb3J0U3BlY1RvKG9iai50byksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogUmVzb3VyY2VGaWVsZFNlbGVjdG9yIHByb3ZpZGVzIHRoZSB2YWx1ZXMgbmVjZXNzYXJ5IHRvIGlkZW50aWZ5IGFuIGluZGl2aWR1YWwgZmllbGQgb24gYW4gaW5kaXZpZHVhbCBLOHMgcmVzb3VyY2UuXG4gKlxuICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWNGcm9tXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRFeHBvcnRTcGVjRnJvbSB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY0Zyb20jcGF0aFxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2VkUmVzb3VyY2UgcHJvdmlkZXMgYWxsIHRoZSB2YWx1ZXMgbmVjZXNzYXJ5IHRvIGlkZW50aWZ5IGFuIEFDSyByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgKHdpdGhpbiB0aGUgc2FtZSBuYW1lc3BhY2UgYXMgdGhlIGN1c3RvbSByZXNvdXJjZSBjb250YWluaW5nIHRoaXMgdHlwZSkuXG4gICAqXG4gICAqIEBzY2hlbWEgRmllbGRFeHBvcnRTcGVjRnJvbSNyZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2U6IEZpZWxkRXhwb3J0U3BlY0Zyb21SZXNvdXJjZTtcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGaWVsZEV4cG9ydFNwZWNGcm9tJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GaWVsZEV4cG9ydFNwZWNGcm9tKG9iajogRmllbGRFeHBvcnRTcGVjRnJvbSB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ3BhdGgnOiBvYmoucGF0aCxcbiAgICAncmVzb3VyY2UnOiB0b0pzb25fRmllbGRFeHBvcnRTcGVjRnJvbVJlc291cmNlKG9iai5yZXNvdXJjZSksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogRmllbGRFeHBvcnRUYXJnZXQgcHJvdmlkZXMgdGhlIHZhbHVlcyBuZWNlc3NhcnkgdG8gaWRlbnRpZnkgdGhlIG91dHB1dCBwYXRoIGZvciBhIGZpZWxkIGV4cG9ydC5cbiAqXG4gKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY1RvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRFeHBvcnRTcGVjVG8ge1xuICAvKipcbiAgICogRmllbGRFeHBvcnRPdXRwdXRUeXBlIHJlcHJlc2VudHMgYWxsIHR5cGVzIHRoYXQgY2FuIGJlIHByb2R1Y2VkIGJ5IGEgZmllbGQgZXhwb3J0IG9wZXJhdGlvblxuICAgKlxuICAgKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY1RvI2tpbmRcbiAgICovXG4gIHJlYWRvbmx5IGtpbmQ6IEZpZWxkRXhwb3J0U3BlY1RvS2luZDtcblxuICAvKipcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWNUbyNuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVzcGFjZSBpcyBtYXJrZWQgYXMgb3B0aW9uYWwsIHNvIHdlIGNhbm5vdCBjb21wb3NlIGBOYW1lc3BhY2VkTmFtZWBcbiAgICpcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWNUbyNuYW1lc3BhY2VcbiAgICovXG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGaWVsZEV4cG9ydFNwZWNUbycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fRmllbGRFeHBvcnRTcGVjVG8ob2JqOiBGaWVsZEV4cG9ydFNwZWNUbyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ2tpbmQnOiBvYmoua2luZCxcbiAgICAnbmFtZSc6IG9iai5uYW1lLFxuICAgICduYW1lc3BhY2UnOiBvYmoubmFtZXNwYWNlLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIE5hbWVzcGFjZWRSZXNvdXJjZSBwcm92aWRlcyBhbGwgdGhlIHZhbHVlcyBuZWNlc3NhcnkgdG8gaWRlbnRpZnkgYW4gQUNLIHJlc291cmNlIG9mIGEgZ2l2ZW4gdHlwZSAod2l0aGluIHRoZSBzYW1lIG5hbWVzcGFjZSBhcyB0aGUgY3VzdG9tIHJlc291cmNlIGNvbnRhaW5pbmcgdGhpcyB0eXBlKS5cbiAqXG4gKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY0Zyb21SZXNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRXhwb3J0U3BlY0Zyb21SZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY0Zyb21SZXNvdXJjZSNncm91cFxuICAgKi9cbiAgcmVhZG9ubHkgZ3JvdXA6IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBGaWVsZEV4cG9ydFNwZWNGcm9tUmVzb3VyY2Uja2luZFxuICAgKi9cbiAgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIEZpZWxkRXhwb3J0U3BlY0Zyb21SZXNvdXJjZSNuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnRmllbGRFeHBvcnRTcGVjRnJvbVJlc291cmNlJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GaWVsZEV4cG9ydFNwZWNGcm9tUmVzb3VyY2Uob2JqOiBGaWVsZEV4cG9ydFNwZWNGcm9tUmVzb3VyY2UgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdncm91cCc6IG9iai5ncm91cCxcbiAgICAna2luZCc6IG9iai5raW5kLFxuICAgICduYW1lJzogb2JqLm5hbWUsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogRmllbGRFeHBvcnRPdXRwdXRUeXBlIHJlcHJlc2VudHMgYWxsIHR5cGVzIHRoYXQgY2FuIGJlIHByb2R1Y2VkIGJ5IGEgZmllbGQgZXhwb3J0IG9wZXJhdGlvblxuICpcbiAqIEBzY2hlbWEgRmllbGRFeHBvcnRTcGVjVG9LaW5kXG4gKi9cbmV4cG9ydCBlbnVtIEZpZWxkRXhwb3J0U3BlY1RvS2luZCB7XG4gIC8qKiBjb25maWdtYXAgKi9cbiAgQ09ORklHTUFQID0gJ2NvbmZpZ21hcCcsXG4gIC8qKiBzZWNyZXQgKi9cbiAgU0VDUkVUID0gJ3NlY3JldCcsXG59XG5cbiJdfQ==
@@ -0,0 +1,135 @@
1
+ import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * Policy is the Schema for the Policies API
5
+ *
6
+ * @schema Policy
7
+ */
8
+ export declare class Policy extends ApiObject {
9
+ /**
10
+ * Returns the apiVersion and kind for "Policy"
11
+ */
12
+ static readonly GVK: GroupVersionKind;
13
+ /**
14
+ * Renders a Kubernetes manifest for "Policy".
15
+ *
16
+ * This can be used to inline resource manifests inside other objects (e.g. as templates).
17
+ *
18
+ * @param props initialization props
19
+ */
20
+ static manifest(props?: PolicyProps): any;
21
+ /**
22
+ * Defines a "Policy" API object
23
+ * @param scope the scope in which to define this object
24
+ * @param id a scope-local name for the object
25
+ * @param props initialization props
26
+ */
27
+ constructor(scope: Construct, id: string, props?: PolicyProps);
28
+ /**
29
+ * Renders the object to Kubernetes JSON.
30
+ */
31
+ toJson(): any;
32
+ }
33
+ /**
34
+ * Policy is the Schema for the Policies API
35
+ *
36
+ * @schema Policy
37
+ */
38
+ export interface PolicyProps {
39
+ /**
40
+ * @schema Policy#metadata
41
+ */
42
+ readonly metadata?: ApiObjectMetadata;
43
+ /**
44
+ * PolicySpec defines the desired state of Policy.
45
+ * Contains information about a managed policy.
46
+ * This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.
47
+ * For more information about managed policies, refer to Managed policies and inline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the IAM User Guide.
48
+ *
49
+ * @schema Policy#spec
50
+ */
51
+ readonly spec?: PolicySpec;
52
+ }
53
+ /**
54
+ * Converts an object of type 'PolicyProps' to JSON representation.
55
+ */
56
+ export declare function toJson_PolicyProps(obj: PolicyProps | undefined): Record<string, any> | undefined;
57
+ /**
58
+ * PolicySpec defines the desired state of Policy.
59
+ * Contains information about a managed policy.
60
+ * This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.
61
+ * For more information about managed policies, refer to Managed policies and inline policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the IAM User Guide.
62
+ *
63
+ * @schema PolicySpec
64
+ */
65
+ export interface PolicySpec {
66
+ /**
67
+ * A friendly description of the policy.
68
+ * Typically used to store information about the permissions defined in the policy. For example, "Grants access to production DynamoDB tables."
69
+ * The policy description is immutable. After a value is assigned, it cannot be changed.
70
+ *
71
+ * @schema PolicySpec#description
72
+ */
73
+ readonly description?: string;
74
+ /**
75
+ * The friendly name of the policy.
76
+ * IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both "MyResource" and "myresource".
77
+ *
78
+ * @schema PolicySpec#name
79
+ */
80
+ readonly name: string;
81
+ /**
82
+ * The path for the policy.
83
+ * For more information about paths, see IAM identifiers (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide.
84
+ * This parameter is optional. If it is not included, it defaults to a slash (/).
85
+ * This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercased letters.
86
+ * You cannot use an asterisk (*) in the path name.
87
+ *
88
+ * @schema PolicySpec#path
89
+ */
90
+ readonly path?: string;
91
+ /**
92
+ * The JSON policy document that you want to use as the content for the new policy.
93
+ * You must provide policies in JSON format in IAM. However, for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.
94
+ * The maximum length of the policy document that you can pass in this operation, including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see IAM and STS character quotas (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length).
95
+ * To learn more about JSON policy grammar, see Grammar of the IAM JSON policy language (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html) in the IAM User Guide.
96
+ * The regex pattern (http://wikipedia.org/wiki/regex) used to validate this parameter is a string of characters consisting of the following:
97
+ * * Any printable ASCII character ranging from the space character (\u0020) through the end of the ASCII character range
98
+ * * The printable characters in the Basic Latin and Latin-1 Supplement character set (through \u00FF)
99
+ * * The special characters tab (\u0009), line feed (\u000A), and carriage return (\u000D)
100
+ *
101
+ * @schema PolicySpec#policyDocument
102
+ */
103
+ readonly policyDocument: string;
104
+ /**
105
+ * A list of tags that you want to attach to the new IAM customer managed policy. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the IAM User Guide.
106
+ * If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.
107
+ *
108
+ * @schema PolicySpec#tags
109
+ */
110
+ readonly tags?: PolicySpecTags[];
111
+ }
112
+ /**
113
+ * Converts an object of type 'PolicySpec' to JSON representation.
114
+ */
115
+ export declare function toJson_PolicySpec(obj: PolicySpec | undefined): Record<string, any> | undefined;
116
+ /**
117
+ * A structure that represents user-provided metadata that can be associated with an IAM resource. For more information about tagging, see Tagging IAM resources (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the IAM User Guide.
118
+ *
119
+ * @schema PolicySpecTags
120
+ */
121
+ export interface PolicySpecTags {
122
+ /**
123
+ * @schema PolicySpecTags#key
124
+ */
125
+ readonly key?: string;
126
+ /**
127
+ * @schema PolicySpecTags#value
128
+ */
129
+ readonly value?: string;
130
+ }
131
+ /**
132
+ * Converts an object of type 'PolicySpecTags' to JSON representation.
133
+ */
134
+ export declare function toJson_PolicySpecTags(obj: PolicySpecTags | undefined): Record<string, any> | undefined;
135
+ //# sourceMappingURL=iampolicies-iam.services.k8s.aws.d.ts.map