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,203 @@
1
+ import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * StateMachine is the Schema for the StateMachines API
5
+ *
6
+ * @schema StateMachine
7
+ */
8
+ export declare class StateMachine extends ApiObject {
9
+ /**
10
+ * Returns the apiVersion and kind for "StateMachine"
11
+ */
12
+ static readonly GVK: GroupVersionKind;
13
+ /**
14
+ * Renders a Kubernetes manifest for "StateMachine".
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?: StateMachineProps): any;
21
+ /**
22
+ * Defines a "StateMachine" 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?: StateMachineProps);
28
+ /**
29
+ * Renders the object to Kubernetes JSON.
30
+ */
31
+ toJson(): any;
32
+ }
33
+ /**
34
+ * StateMachine is the Schema for the StateMachines API
35
+ *
36
+ * @schema StateMachine
37
+ */
38
+ export interface StateMachineProps {
39
+ /**
40
+ * @schema StateMachine#metadata
41
+ */
42
+ readonly metadata?: ApiObjectMetadata;
43
+ /**
44
+ * StateMachineSpec defines the desired state of StateMachine.
45
+ *
46
+ * @schema StateMachine#spec
47
+ */
48
+ readonly spec?: StateMachineSpec;
49
+ }
50
+ /**
51
+ * Converts an object of type 'StateMachineProps' to JSON representation.
52
+ */
53
+ export declare function toJson_StateMachineProps(obj: StateMachineProps | undefined): Record<string, any> | undefined;
54
+ /**
55
+ * StateMachineSpec defines the desired state of StateMachine.
56
+ *
57
+ * @schema StateMachineSpec
58
+ */
59
+ export interface StateMachineSpec {
60
+ /**
61
+ * The Amazon States Language definition of the state machine. See Amazon States Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).
62
+ *
63
+ * @schema StateMachineSpec#definition
64
+ */
65
+ readonly definition: string;
66
+ /**
67
+ * Defines what execution history events are logged and where they are logged.
68
+ * By default, the level is set to OFF. For more information see Log Levels (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) in the AWS Step Functions User Guide.
69
+ *
70
+ * @schema StateMachineSpec#loggingConfiguration
71
+ */
72
+ readonly loggingConfiguration?: StateMachineSpecLoggingConfiguration;
73
+ /**
74
+ * The name of the state machine.
75
+ * A name must not contain:
76
+ * * white space
77
+ * * brackets < > { } [ ]
78
+ * * wildcard characters ? *
79
+ * * special characters " # % \ ^ | ~ ` $ & , ; : /
80
+ * * control characters (U+0000-001F, U+007F-009F)
81
+ * To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.
82
+ *
83
+ * @schema StateMachineSpec#name
84
+ */
85
+ readonly name: string;
86
+ /**
87
+ * The Amazon Resource Name (ARN) of the IAM role to use for this state machine.
88
+ *
89
+ * @schema StateMachineSpec#roleARN
90
+ */
91
+ readonly roleArn: string;
92
+ /**
93
+ * Tags to be added when creating a state machine.
94
+ * An array of key-value pairs. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).
95
+ * Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.
96
+ *
97
+ * @schema StateMachineSpec#tags
98
+ */
99
+ readonly tags?: StateMachineSpecTags[];
100
+ /**
101
+ * Selects whether AWS X-Ray tracing is enabled.
102
+ *
103
+ * @schema StateMachineSpec#tracingConfiguration
104
+ */
105
+ readonly tracingConfiguration?: StateMachineSpecTracingConfiguration;
106
+ /**
107
+ * Determines whether a Standard or Express state machine is created. The default is STANDARD. You cannot update the type of a state machine once it has been created.
108
+ *
109
+ * @schema StateMachineSpec#type_
110
+ */
111
+ readonly type?: string;
112
+ }
113
+ /**
114
+ * Converts an object of type 'StateMachineSpec' to JSON representation.
115
+ */
116
+ export declare function toJson_StateMachineSpec(obj: StateMachineSpec | undefined): Record<string, any> | undefined;
117
+ /**
118
+ * Defines what execution history events are logged and where they are logged.
119
+ * By default, the level is set to OFF. For more information see Log Levels (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) in the AWS Step Functions User Guide.
120
+ *
121
+ * @schema StateMachineSpecLoggingConfiguration
122
+ */
123
+ export interface StateMachineSpecLoggingConfiguration {
124
+ /**
125
+ * @schema StateMachineSpecLoggingConfiguration#destinations
126
+ */
127
+ readonly destinations?: StateMachineSpecLoggingConfigurationDestinations[];
128
+ /**
129
+ * @schema StateMachineSpecLoggingConfiguration#includeExecutionData
130
+ */
131
+ readonly includeExecutionData?: boolean;
132
+ /**
133
+ * @schema StateMachineSpecLoggingConfiguration#level
134
+ */
135
+ readonly level?: string;
136
+ }
137
+ /**
138
+ * Converts an object of type 'StateMachineSpecLoggingConfiguration' to JSON representation.
139
+ */
140
+ export declare function toJson_StateMachineSpecLoggingConfiguration(obj: StateMachineSpecLoggingConfiguration | undefined): Record<string, any> | undefined;
141
+ /**
142
+ * Tags are key-value pairs that can be associated with Step Functions state machines and activities.
143
+ * An array of key-value pairs. For more information, see Using Cost Allocation Tags (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).
144
+ * Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.
145
+ *
146
+ * @schema StateMachineSpecTags
147
+ */
148
+ export interface StateMachineSpecTags {
149
+ /**
150
+ * @schema StateMachineSpecTags#key
151
+ */
152
+ readonly key?: string;
153
+ /**
154
+ * @schema StateMachineSpecTags#value
155
+ */
156
+ readonly value?: string;
157
+ }
158
+ /**
159
+ * Converts an object of type 'StateMachineSpecTags' to JSON representation.
160
+ */
161
+ export declare function toJson_StateMachineSpecTags(obj: StateMachineSpecTags | undefined): Record<string, any> | undefined;
162
+ /**
163
+ * Selects whether AWS X-Ray tracing is enabled.
164
+ *
165
+ * @schema StateMachineSpecTracingConfiguration
166
+ */
167
+ export interface StateMachineSpecTracingConfiguration {
168
+ /**
169
+ * @schema StateMachineSpecTracingConfiguration#enabled
170
+ */
171
+ readonly enabled?: boolean;
172
+ }
173
+ /**
174
+ * Converts an object of type 'StateMachineSpecTracingConfiguration' to JSON representation.
175
+ */
176
+ export declare function toJson_StateMachineSpecTracingConfiguration(obj: StateMachineSpecTracingConfiguration | undefined): Record<string, any> | undefined;
177
+ /**
178
+ * @schema StateMachineSpecLoggingConfigurationDestinations
179
+ */
180
+ export interface StateMachineSpecLoggingConfigurationDestinations {
181
+ /**
182
+ * @schema StateMachineSpecLoggingConfigurationDestinations#cloudWatchLogsLogGroup
183
+ */
184
+ readonly cloudWatchLogsLogGroup?: StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup;
185
+ }
186
+ /**
187
+ * Converts an object of type 'StateMachineSpecLoggingConfigurationDestinations' to JSON representation.
188
+ */
189
+ export declare function toJson_StateMachineSpecLoggingConfigurationDestinations(obj: StateMachineSpecLoggingConfigurationDestinations | undefined): Record<string, any> | undefined;
190
+ /**
191
+ * @schema StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup
192
+ */
193
+ export interface StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup {
194
+ /**
195
+ * @schema StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup#logGroupARN
196
+ */
197
+ readonly logGroupArn?: string;
198
+ }
199
+ /**
200
+ * Converts an object of type 'StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup' to JSON representation.
201
+ */
202
+ export declare function toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup(obj: StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup | undefined): Record<string, any> | undefined;
203
+ //# sourceMappingURL=sfnmachines-sfn.services.k8s.aws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sfnmachines-sfn.services.k8s.aws.d.ts","sourceRoot":"","sources":["../../src/imports/sfnmachines-sfn.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,YAAa,SAAQ,SAAS;IACzC;;OAEG;IACH,gBAAuB,GAAG,EAAE,gBAAgB,CAG1C;IAEF;;;;;;OAMG;WACW,QAAQ,CAAC,KAAK,GAAE,iBAAsB,GAAG,GAAG;IAO1D;;;;;OAKG;gBACgB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,iBAAsB;IAO9E;;OAEG;IACI,MAAM,IAAI,GAAG;CAQrB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;CAElC;AAED;;GAEG;AAEH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQ5G;AAGD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC;IAErE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAEvC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC;IAErE;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAExB;AAED;;GAEG;AAEH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAa1G;AAGD;;;;;GAKG;AACH,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,gDAAgD,EAAE,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAEzB;AAED;;GAEG;AAEH,wBAAgB,2CAA2C,CAAC,GAAG,EAAE,oCAAoC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CASlJ;AAGD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAEzB;AAED;;GAEG;AAEH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQlH;AAGD;;;;GAIG;AACH,MAAM,WAAW,oCAAoC;IACnD;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAE5B;AAED;;GAEG;AAEH,wBAAgB,2CAA2C,CAAC,GAAG,EAAE,oCAAoC,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAOlJ;AAGD;;GAEG;AACH,MAAM,WAAW,gDAAgD;IAC/D;;OAEG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sEAAsE,CAAC;CAE1G;AAED;;GAEG;AAEH,wBAAgB,uDAAuD,CAAC,GAAG,EAAE,gDAAgD,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAO1K;AAGD;;GAEG;AACH,MAAM,WAAW,sEAAsE;IACrF;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAE/B;AAED;;GAEG;AAEH,wBAAgB,6EAA6E,CAAC,GAAG,EAAE,sEAAsE,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAOtN"}
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup = exports.toJson_StateMachineSpecLoggingConfigurationDestinations = exports.toJson_StateMachineSpecTracingConfiguration = exports.toJson_StateMachineSpecTags = exports.toJson_StateMachineSpecLoggingConfiguration = exports.toJson_StateMachineSpec = exports.toJson_StateMachineProps = exports.StateMachine = void 0;
4
+ // generated by cdk8s
5
+ const cdk8s_1 = require("cdk8s");
6
+ /**
7
+ * StateMachine is the Schema for the StateMachines API
8
+ *
9
+ * @schema StateMachine
10
+ */
11
+ class StateMachine extends cdk8s_1.ApiObject {
12
+ /**
13
+ * Defines a "StateMachine" 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
+ ...StateMachine.GVK,
21
+ ...props,
22
+ });
23
+ }
24
+ /**
25
+ * Renders a Kubernetes manifest for "StateMachine".
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
+ ...StateMachine.GVK,
34
+ ...toJson_StateMachineProps(props),
35
+ };
36
+ }
37
+ /**
38
+ * Renders the object to Kubernetes JSON.
39
+ */
40
+ toJson() {
41
+ const resolved = super.toJson();
42
+ return {
43
+ ...StateMachine.GVK,
44
+ ...toJson_StateMachineProps(resolved),
45
+ };
46
+ }
47
+ }
48
+ exports.StateMachine = StateMachine;
49
+ /**
50
+ * Returns the apiVersion and kind for "StateMachine"
51
+ */
52
+ StateMachine.GVK = {
53
+ apiVersion: 'sfn.services.k8s.aws/v1alpha1',
54
+ kind: 'StateMachine',
55
+ };
56
+ /**
57
+ * Converts an object of type 'StateMachineProps' to JSON representation.
58
+ */
59
+ /* eslint-disable max-len, quote-props */
60
+ function toJson_StateMachineProps(obj) {
61
+ if (obj === undefined) {
62
+ return undefined;
63
+ }
64
+ const result = {
65
+ 'metadata': obj.metadata,
66
+ 'spec': toJson_StateMachineSpec(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_StateMachineProps = toJson_StateMachineProps;
72
+ /**
73
+ * Converts an object of type 'StateMachineSpec' to JSON representation.
74
+ */
75
+ /* eslint-disable max-len, quote-props */
76
+ function toJson_StateMachineSpec(obj) {
77
+ var _a;
78
+ if (obj === undefined) {
79
+ return undefined;
80
+ }
81
+ const result = {
82
+ 'definition': obj.definition,
83
+ 'loggingConfiguration': toJson_StateMachineSpecLoggingConfiguration(obj.loggingConfiguration),
84
+ 'name': obj.name,
85
+ 'roleARN': obj.roleArn,
86
+ 'tags': (_a = obj.tags) === null || _a === void 0 ? void 0 : _a.map(y => toJson_StateMachineSpecTags(y)),
87
+ 'tracingConfiguration': toJson_StateMachineSpecTracingConfiguration(obj.tracingConfiguration),
88
+ 'type_': obj.type,
89
+ };
90
+ // filter undefined values
91
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
92
+ }
93
+ exports.toJson_StateMachineSpec = toJson_StateMachineSpec;
94
+ /**
95
+ * Converts an object of type 'StateMachineSpecLoggingConfiguration' to JSON representation.
96
+ */
97
+ /* eslint-disable max-len, quote-props */
98
+ function toJson_StateMachineSpecLoggingConfiguration(obj) {
99
+ var _a;
100
+ if (obj === undefined) {
101
+ return undefined;
102
+ }
103
+ const result = {
104
+ 'destinations': (_a = obj.destinations) === null || _a === void 0 ? void 0 : _a.map(y => toJson_StateMachineSpecLoggingConfigurationDestinations(y)),
105
+ 'includeExecutionData': obj.includeExecutionData,
106
+ 'level': obj.level,
107
+ };
108
+ // filter undefined values
109
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
110
+ }
111
+ exports.toJson_StateMachineSpecLoggingConfiguration = toJson_StateMachineSpecLoggingConfiguration;
112
+ /**
113
+ * Converts an object of type 'StateMachineSpecTags' to JSON representation.
114
+ */
115
+ /* eslint-disable max-len, quote-props */
116
+ function toJson_StateMachineSpecTags(obj) {
117
+ if (obj === undefined) {
118
+ return undefined;
119
+ }
120
+ const result = {
121
+ 'key': obj.key,
122
+ 'value': obj.value,
123
+ };
124
+ // filter undefined values
125
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
126
+ }
127
+ exports.toJson_StateMachineSpecTags = toJson_StateMachineSpecTags;
128
+ /**
129
+ * Converts an object of type 'StateMachineSpecTracingConfiguration' to JSON representation.
130
+ */
131
+ /* eslint-disable max-len, quote-props */
132
+ function toJson_StateMachineSpecTracingConfiguration(obj) {
133
+ if (obj === undefined) {
134
+ return undefined;
135
+ }
136
+ const result = {
137
+ 'enabled': obj.enabled,
138
+ };
139
+ // filter undefined values
140
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
141
+ }
142
+ exports.toJson_StateMachineSpecTracingConfiguration = toJson_StateMachineSpecTracingConfiguration;
143
+ /**
144
+ * Converts an object of type 'StateMachineSpecLoggingConfigurationDestinations' to JSON representation.
145
+ */
146
+ /* eslint-disable max-len, quote-props */
147
+ function toJson_StateMachineSpecLoggingConfigurationDestinations(obj) {
148
+ if (obj === undefined) {
149
+ return undefined;
150
+ }
151
+ const result = {
152
+ 'cloudWatchLogsLogGroup': toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup(obj.cloudWatchLogsLogGroup),
153
+ };
154
+ // filter undefined values
155
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
156
+ }
157
+ exports.toJson_StateMachineSpecLoggingConfigurationDestinations = toJson_StateMachineSpecLoggingConfigurationDestinations;
158
+ /**
159
+ * Converts an object of type 'StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup' to JSON representation.
160
+ */
161
+ /* eslint-disable max-len, quote-props */
162
+ function toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup(obj) {
163
+ if (obj === undefined) {
164
+ return undefined;
165
+ }
166
+ const result = {
167
+ 'logGroupARN': obj.logGroupArn,
168
+ };
169
+ // filter undefined values
170
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
171
+ }
172
+ exports.toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup = toJson_StateMachineSpecLoggingConfigurationDestinationsCloudWatchLogsLogGroup;
173
+ /* eslint-enable max-len, quote-props */
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ZubWFjaGluZXMtc2ZuLnNlcnZpY2VzLms4cy5hd3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wb3J0cy9zZm5tYWNoaW5lcy1zZm4uc2VydmljZXMuazhzLmF3cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQkFBcUI7QUFDckIsaUNBQXVFO0FBSXZFOzs7O0dBSUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxpQkFBUztJQXVCekM7Ozs7O09BS0c7SUFDSCxZQUFtQixLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUEyQixFQUFFO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxZQUFZLENBQUMsR0FBRztZQUNuQixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBekJEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBMkIsRUFBRTtRQUNsRCxPQUFPO1lBQ0wsR0FBRyxZQUFZLENBQUMsR0FBRztZQUNuQixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQztTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQWVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxZQUFZLENBQUMsR0FBRztZQUNuQixHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQztTQUN0QyxDQUFDO0lBQ0osQ0FBQzs7QUE5Q0gsb0NBK0NDO0FBOUNDOztHQUVHO0FBQ29CLGdCQUFHLEdBQXFCO0lBQzdDLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0MsSUFBSSxFQUFFLGNBQWM7Q0FDckIsQ0FBQztBQThESjs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQix3QkFBd0IsQ0FBQyxHQUFrQztJQUN6RSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztLQUFF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QyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQztBQVBELHNLQU9DO0FBQ0Qsd0NBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2VuZXJhdGVkIGJ5IGNkazhzXG5pbXBvcnQgeyBBcGlPYmplY3QsIEFwaU9iamVjdE1ldGFkYXRhLCBHcm91cFZlcnNpb25LaW5kIH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cblxuLyoqXG4gKiBTdGF0ZU1hY2hpbmUgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIFN0YXRlTWFjaGluZXMgQVBJXG4gKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YXRlTWFjaGluZSBleHRlbmRzIEFwaU9iamVjdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhcGlWZXJzaW9uIGFuZCBraW5kIGZvciBcIlN0YXRlTWFjaGluZVwiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdWSzogR3JvdXBWZXJzaW9uS2luZCA9IHtcbiAgICBhcGlWZXJzaW9uOiAnc2ZuLnNlcnZpY2VzLms4cy5hd3MvdjFhbHBoYTEnLFxuICAgIGtpbmQ6ICdTdGF0ZU1hY2hpbmUnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGEgS3ViZXJuZXRlcyBtYW5pZmVzdCBmb3IgXCJTdGF0ZU1hY2hpbmVcIi5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBpbmxpbmUgcmVzb3VyY2UgbWFuaWZlc3RzIGluc2lkZSBvdGhlciBvYmplY3RzIChlLmcuIGFzIHRlbXBsYXRlcykuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYW5pZmVzdChwcm9wczogU3RhdGVNYWNoaW5lUHJvcHMgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlN0YXRlTWFjaGluZS5HVkssXG4gICAgICAuLi50b0pzb25fU3RhdGVNYWNoaW5lUHJvcHMocHJvcHMpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lcyBhIFwiU3RhdGVNYWNoaW5lXCIgQVBJIG9iamVjdFxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgYSBzY29wZS1sb2NhbCBuYW1lIGZvciB0aGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGF0ZU1hY2hpbmVQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5TdGF0ZU1hY2hpbmUuR1ZLLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgb2JqZWN0IHRvIEt1YmVybmV0ZXMgSlNPTi5cbiAgICovXG4gIHB1YmxpYyB0b0pzb24oKTogYW55IHtcbiAgICBjb25zdCByZXNvbHZlZCA9IHN1cGVyLnRvSnNvbigpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlN0YXRlTWFjaGluZS5HVkssXG4gICAgICAuLi50b0pzb25fU3RhdGVNYWNoaW5lUHJvcHMocmVzb2x2ZWQpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBTdGF0ZU1hY2hpbmUgaXMgdGhlIFNjaGVtYSBmb3IgdGhlIFN0YXRlTWFjaGluZXMgQVBJXG4gKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZU1hY2hpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIFN0YXRlTWFjaGluZSNtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogU3RhdGVNYWNoaW5lU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIFN0YXRlTWFjaGluZS5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmUjc3BlY1xuICAgKi9cbiAgcmVhZG9ubHkgc3BlYz86IFN0YXRlTWFjaGluZVNwZWM7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU3RhdGVNYWNoaW5lUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1N0YXRlTWFjaGluZVByb3BzKG9iajogU3RhdGVNYWNoaW5lUHJvcHMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdtZXRhZGF0YSc6IG9iai5tZXRhZGF0YSxcbiAgICAnc3BlYyc6IHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjKG9iai5zcGVjKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBTdGF0ZU1hY2hpbmVTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgU3RhdGVNYWNoaW5lLlxuICpcbiAqIEBzY2hlbWEgU3RhdGVNYWNoaW5lU3BlY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlTWFjaGluZVNwZWMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBTdGF0ZXMgTGFuZ3VhZ2UgZGVmaW5pdGlvbiBvZiB0aGUgc3RhdGUgbWFjaGluZS4gU2VlIEFtYXpvbiBTdGF0ZXMgTGFuZ3VhZ2UgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zdGVwLWZ1bmN0aW9ucy9sYXRlc3QvZGcvY29uY2VwdHMtYW1hem9uLXN0YXRlcy1sYW5ndWFnZS5odG1sKS5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjI2RlZmluaXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlZmluaXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyB3aGF0IGV4ZWN1dGlvbiBoaXN0b3J5IGV2ZW50cyBhcmUgbG9nZ2VkIGFuZCB3aGVyZSB0aGV5IGFyZSBsb2dnZWQuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBsZXZlbCBpcyBzZXQgdG8gT0ZGLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgTG9nIExldmVscyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jbG91ZHdhdGNoLWxvZy1sZXZlbC5odG1sKSBpbiB0aGUgQVdTIFN0ZXAgRnVuY3Rpb25zIFVzZXIgR3VpZGUuXG4gICAqXG4gICAqIEBzY2hlbWEgU3RhdGVNYWNoaW5lU3BlYyNsb2dnaW5nQ29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZ0NvbmZpZ3VyYXRpb24/OiBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdGF0ZSBtYWNoaW5lLlxuICAgKiBBIG5hbWUgbXVzdCBub3QgY29udGFpbjpcbiAgICogKiB3aGl0ZSBzcGFjZVxuICAgKiAqIGJyYWNrZXRzIDwgPiB7IH0gWyBdXG4gICAqICogd2lsZGNhcmQgY2hhcmFjdGVycyA/ICpcbiAgICogKiBzcGVjaWFsIGNoYXJhY3RlcnMgXCIgIyAlIFxcIF4gfCB+IGAgJCAmICwgOyA6IC9cbiAgICogKiBjb250cm9sIGNoYXJhY3RlcnMgKFUrMDAwMC0wMDFGLCBVKzAwN0YtMDA5RilcbiAgICogVG8gZW5hYmxlIGxvZ2dpbmcgd2l0aCBDbG91ZFdhdGNoIExvZ3MsIHRoZSBuYW1lIHNob3VsZCBvbmx5IGNvbnRhaW4gMC05LCBBLVosIGEteiwgLSBhbmQgXy5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjI25hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBJQU0gcm9sZSB0byB1c2UgZm9yIHRoaXMgc3RhdGUgbWFjaGluZS5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjI3JvbGVBUk5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGFncyB0byBiZSBhZGRlZCB3aGVuIGNyZWF0aW5nIGEgc3RhdGUgbWFjaGluZS5cbiAgICogQW4gYXJyYXkgb2Yga2V5LXZhbHVlIHBhaXJzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFVzaW5nIENvc3QgQWxsb2NhdGlvbiBUYWdzIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzYWNjb3VudGJpbGxpbmcvbGF0ZXN0L2Fib3V0djIvY29zdC1hbGxvYy10YWdzLmh0bWwpIGluIHRoZSBBV1MgQmlsbGluZyBhbmQgQ29zdCBNYW5hZ2VtZW50IFVzZXIgR3VpZGUsIGFuZCBDb250cm9sbGluZyBBY2Nlc3MgVXNpbmcgSUFNIFRhZ3MgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfaWFtLXRhZ3MuaHRtbCkuXG4gICAqIFRhZ3MgbWF5IG9ubHkgY29udGFpbiBVbmljb2RlIGxldHRlcnMsIGRpZ2l0cywgd2hpdGUgc3BhY2UsIG9yIHRoZXNlIHN5bWJvbHM6IF8gLiA6IC8gPSArIC0gQC5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjI3RhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiBTdGF0ZU1hY2hpbmVTcGVjVGFnc1tdO1xuXG4gIC8qKlxuICAgKiBTZWxlY3RzIHdoZXRoZXIgQVdTIFgtUmF5IHRyYWNpbmcgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjI3RyYWNpbmdDb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSB0cmFjaW5nQ29uZmlndXJhdGlvbj86IFN0YXRlTWFjaGluZVNwZWNUcmFjaW5nQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgU3RhbmRhcmQgb3IgRXhwcmVzcyBzdGF0ZSBtYWNoaW5lIGlzIGNyZWF0ZWQuIFRoZSBkZWZhdWx0IGlzIFNUQU5EQVJELiBZb3UgY2Fubm90IHVwZGF0ZSB0aGUgdHlwZSBvZiBhIHN0YXRlIG1hY2hpbmUgb25jZSBpdCBoYXMgYmVlbiBjcmVhdGVkLlxuICAgKlxuICAgKiBAc2NoZW1hIFN0YXRlTWFjaGluZVNwZWMjdHlwZV9cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU3RhdGVNYWNoaW5lU3BlYycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fU3RhdGVNYWNoaW5lU3BlYyhvYmo6IFN0YXRlTWFjaGluZVNwZWMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdkZWZpbml0aW9uJzogb2JqLmRlZmluaXRpb24sXG4gICAgJ2xvZ2dpbmdDb25maWd1cmF0aW9uJzogdG9Kc29uX1N0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbihvYmoubG9nZ2luZ0NvbmZpZ3VyYXRpb24pLFxuICAgICduYW1lJzogb2JqLm5hbWUsXG4gICAgJ3JvbGVBUk4nOiBvYmoucm9sZUFybixcbiAgICAndGFncyc6IG9iai50YWdzPy5tYXAoeSA9PiB0b0pzb25fU3RhdGVNYWNoaW5lU3BlY1RhZ3MoeSkpLFxuICAgICd0cmFjaW5nQ29uZmlndXJhdGlvbic6IHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb24ob2JqLnRyYWNpbmdDb25maWd1cmF0aW9uKSxcbiAgICAndHlwZV8nOiBvYmoudHlwZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBEZWZpbmVzIHdoYXQgZXhlY3V0aW9uIGhpc3RvcnkgZXZlbnRzIGFyZSBsb2dnZWQgYW5kIHdoZXJlIHRoZXkgYXJlIGxvZ2dlZC5cbiAqIEJ5IGRlZmF1bHQsIHRoZSBsZXZlbCBpcyBzZXQgdG8gT0ZGLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgTG9nIExldmVscyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N0ZXAtZnVuY3Rpb25zL2xhdGVzdC9kZy9jbG91ZHdhdGNoLWxvZy1sZXZlbC5odG1sKSBpbiB0aGUgQVdTIFN0ZXAgRnVuY3Rpb25zIFVzZXIgR3VpZGUuXG4gKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb24jZGVzdGluYXRpb25zXG4gICAqL1xuICByZWFkb25seSBkZXN0aW5hdGlvbnM/OiBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnNbXTtcblxuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb24jaW5jbHVkZUV4ZWN1dGlvbkRhdGFcbiAgICovXG4gIHJlYWRvbmx5IGluY2x1ZGVFeGVjdXRpb25EYXRhPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb24jbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IGxldmVsPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1N0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbicgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fU3RhdGVNYWNoaW5lU3BlY0xvZ2dpbmdDb25maWd1cmF0aW9uKG9iajogU3RhdGVNYWNoaW5lU3BlY0xvZ2dpbmdDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnZGVzdGluYXRpb25zJzogb2JqLmRlc3RpbmF0aW9ucz8ubWFwKHkgPT4gdG9Kc29uX1N0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbkRlc3RpbmF0aW9ucyh5KSksXG4gICAgJ2luY2x1ZGVFeGVjdXRpb25EYXRhJzogb2JqLmluY2x1ZGVFeGVjdXRpb25EYXRhLFxuICAgICdsZXZlbCc6IG9iai5sZXZlbCxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBUYWdzIGFyZSBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXNzb2NpYXRlZCB3aXRoIFN0ZXAgRnVuY3Rpb25zIHN0YXRlIG1hY2hpbmVzIGFuZCBhY3Rpdml0aWVzLlxuICogQW4gYXJyYXkgb2Yga2V5LXZhbHVlIHBhaXJzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFVzaW5nIENvc3QgQWxsb2NhdGlvbiBUYWdzIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXdzYWNjb3VudGJpbGxpbmcvbGF0ZXN0L2Fib3V0djIvY29zdC1hbGxvYy10YWdzLmh0bWwpIGluIHRoZSBBV1MgQmlsbGluZyBhbmQgQ29zdCBNYW5hZ2VtZW50IFVzZXIgR3VpZGUsIGFuZCBDb250cm9sbGluZyBBY2Nlc3MgVXNpbmcgSUFNIFRhZ3MgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfaWFtLXRhZ3MuaHRtbCkuXG4gKiBUYWdzIG1heSBvbmx5IGNvbnRhaW4gVW5pY29kZSBsZXR0ZXJzLCBkaWdpdHMsIHdoaXRlIHNwYWNlLCBvciB0aGVzZSBzeW1ib2xzOiBfIC4gOiAvID0gKyAtIEAuXG4gKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjVGFnc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlTWFjaGluZVNwZWNUYWdzIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgU3RhdGVNYWNoaW5lU3BlY1RhZ3Mja2V5XG4gICAqL1xuICByZWFkb25seSBrZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgU3RhdGVNYWNoaW5lU3BlY1RhZ3MjdmFsdWVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1N0YXRlTWFjaGluZVNwZWNUYWdzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjVGFncyhvYmo6IFN0YXRlTWFjaGluZVNwZWNUYWdzIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAna2V5Jzogb2JqLmtleSxcbiAgICAndmFsdWUnOiBvYmoudmFsdWUsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogU2VsZWN0cyB3aGV0aGVyIEFXUyBYLVJheSB0cmFjaW5nIGlzIGVuYWJsZWQuXG4gKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb24jZW5hYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU3RhdGVNYWNoaW5lU3BlY1RyYWNpbmdDb25maWd1cmF0aW9uJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb24ob2JqOiBTdGF0ZU1hY2hpbmVTcGVjVHJhY2luZ0NvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdlbmFibGVkJzogb2JqLmVuYWJsZWQsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnMge1xuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnMjY2xvdWRXYXRjaExvZ3NMb2dHcm91cFxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRXYXRjaExvZ3NMb2dHcm91cD86IFN0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbkRlc3RpbmF0aW9uc0Nsb3VkV2F0Y2hMb2dzTG9nR3JvdXA7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnU3RhdGVNYWNoaW5lU3BlY0xvZ2dpbmdDb25maWd1cmF0aW9uRGVzdGluYXRpb25zJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnMob2JqOiBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdjbG91ZFdhdGNoTG9nc0xvZ0dyb3VwJzogdG9Kc29uX1N0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbkRlc3RpbmF0aW9uc0Nsb3VkV2F0Y2hMb2dzTG9nR3JvdXAob2JqLmNsb3VkV2F0Y2hMb2dzTG9nR3JvdXApLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEBzY2hlbWEgU3RhdGVNYWNoaW5lU3BlY0xvZ2dpbmdDb25maWd1cmF0aW9uRGVzdGluYXRpb25zQ2xvdWRXYXRjaExvZ3NMb2dHcm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlTWFjaGluZVNwZWNMb2dnaW5nQ29uZmlndXJhdGlvbkRlc3RpbmF0aW9uc0Nsb3VkV2F0Y2hMb2dzTG9nR3JvdXAge1xuICAvKipcbiAgICogQHNjaGVtYSBTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnNDbG91ZFdhdGNoTG9nc0xvZ0dyb3VwI2xvZ0dyb3VwQVJOXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cEFybj86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdTdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnNDbG91ZFdhdGNoTG9nc0xvZ0dyb3VwJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TdGF0ZU1hY2hpbmVTcGVjTG9nZ2luZ0NvbmZpZ3VyYXRpb25EZXN0aW5hdGlvbnNDbG91ZFdhdGNoTG9nc0xvZ0dyb3VwKG9iajogU3RhdGVNYWNoaW5lU3BlY0xvZ2dpbmdDb25maWd1cmF0aW9uRGVzdGluYXRpb25zQ2xvdWRXYXRjaExvZ3NMb2dHcm91cCB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ2xvZ0dyb3VwQVJOJzogb2JqLmxvZ0dyb3VwQXJuLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4iXX0=
@@ -0,0 +1,106 @@
1
+ import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * Topic is the Schema for the Topics API
5
+ *
6
+ * @schema Topic
7
+ */
8
+ export declare class Topic extends ApiObject {
9
+ /**
10
+ * Returns the apiVersion and kind for "Topic"
11
+ */
12
+ static readonly GVK: GroupVersionKind;
13
+ /**
14
+ * Renders a Kubernetes manifest for "Topic".
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?: TopicProps): any;
21
+ /**
22
+ * Defines a "Topic" 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?: TopicProps);
28
+ /**
29
+ * Renders the object to Kubernetes JSON.
30
+ */
31
+ toJson(): any;
32
+ }
33
+ /**
34
+ * Topic is the Schema for the Topics API
35
+ *
36
+ * @schema Topic
37
+ */
38
+ export interface TopicProps {
39
+ /**
40
+ * @schema Topic#metadata
41
+ */
42
+ readonly metadata?: ApiObjectMetadata;
43
+ /**
44
+ * TopicSpec defines the desired state of Topic
45
+ *
46
+ * @schema Topic#spec
47
+ */
48
+ readonly spec?: TopicSpec;
49
+ }
50
+ /**
51
+ * Converts an object of type 'TopicProps' to JSON representation.
52
+ */
53
+ export declare function toJson_TopicProps(obj: TopicProps | undefined): Record<string, any> | undefined;
54
+ /**
55
+ * TopicSpec defines the desired state of Topic
56
+ *
57
+ * @schema TopicSpec
58
+ */
59
+ export interface TopicSpec {
60
+ /**
61
+ * @schema TopicSpec#deliveryPolicy
62
+ */
63
+ readonly deliveryPolicy?: string;
64
+ /**
65
+ * @schema TopicSpec#displayName
66
+ */
67
+ readonly displayName?: string;
68
+ /**
69
+ * @schema TopicSpec#kmsMasterKeyID
70
+ */
71
+ readonly kmsMasterKeyId?: string;
72
+ /**
73
+ * @schema TopicSpec#name
74
+ */
75
+ readonly name: string;
76
+ /**
77
+ * @schema TopicSpec#policy
78
+ */
79
+ readonly policy?: string;
80
+ /**
81
+ * @schema TopicSpec#tags
82
+ */
83
+ readonly tags?: TopicSpecTags[];
84
+ }
85
+ /**
86
+ * Converts an object of type 'TopicSpec' to JSON representation.
87
+ */
88
+ export declare function toJson_TopicSpec(obj: TopicSpec | undefined): Record<string, any> | undefined;
89
+ /**
90
+ * @schema TopicSpecTags
91
+ */
92
+ export interface TopicSpecTags {
93
+ /**
94
+ * @schema TopicSpecTags#key
95
+ */
96
+ readonly key?: string;
97
+ /**
98
+ * @schema TopicSpecTags#value
99
+ */
100
+ readonly value?: string;
101
+ }
102
+ /**
103
+ * Converts an object of type 'TopicSpecTags' to JSON representation.
104
+ */
105
+ export declare function toJson_TopicSpecTags(obj: TopicSpecTags | undefined): Record<string, any> | undefined;
106
+ //# sourceMappingURL=snstopics-sns.services.k8s.aws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snstopics-sns.services.k8s.aws.d.ts","sourceRoot":"","sources":["../../src/imports/snstopics-sns.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,KAAM,SAAQ,SAAS;IAClC;;OAEG;IACH,gBAAuB,GAAG,EAAE,gBAAgB,CAG1C;IAEF;;;;;;OAMG;WACW,QAAQ,CAAC,KAAK,GAAE,UAAe,GAAG,GAAG;IAOnD;;;;;OAKG;gBACgB,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,UAAe;IAOvE;;OAEG;IACI,MAAM,IAAI,GAAG;CAQrB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAE3B;AAED;;GAEG;AAEH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQ9F;AAGD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;CAEjC;AAED;;GAEG;AAEH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAY5F;AAGD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAEzB;AAED;;GAEG;AAEH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAQpG"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toJson_TopicSpecTags = exports.toJson_TopicSpec = exports.toJson_TopicProps = exports.Topic = void 0;
4
+ // generated by cdk8s
5
+ const cdk8s_1 = require("cdk8s");
6
+ /**
7
+ * Topic is the Schema for the Topics API
8
+ *
9
+ * @schema Topic
10
+ */
11
+ class Topic extends cdk8s_1.ApiObject {
12
+ /**
13
+ * Defines a "Topic" 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
+ ...Topic.GVK,
21
+ ...props,
22
+ });
23
+ }
24
+ /**
25
+ * Renders a Kubernetes manifest for "Topic".
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
+ ...Topic.GVK,
34
+ ...toJson_TopicProps(props),
35
+ };
36
+ }
37
+ /**
38
+ * Renders the object to Kubernetes JSON.
39
+ */
40
+ toJson() {
41
+ const resolved = super.toJson();
42
+ return {
43
+ ...Topic.GVK,
44
+ ...toJson_TopicProps(resolved),
45
+ };
46
+ }
47
+ }
48
+ exports.Topic = Topic;
49
+ /**
50
+ * Returns the apiVersion and kind for "Topic"
51
+ */
52
+ Topic.GVK = {
53
+ apiVersion: 'sns.services.k8s.aws/v1alpha1',
54
+ kind: 'Topic',
55
+ };
56
+ /**
57
+ * Converts an object of type 'TopicProps' to JSON representation.
58
+ */
59
+ /* eslint-disable max-len, quote-props */
60
+ function toJson_TopicProps(obj) {
61
+ if (obj === undefined) {
62
+ return undefined;
63
+ }
64
+ const result = {
65
+ 'metadata': obj.metadata,
66
+ 'spec': toJson_TopicSpec(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_TopicProps = toJson_TopicProps;
72
+ /**
73
+ * Converts an object of type 'TopicSpec' to JSON representation.
74
+ */
75
+ /* eslint-disable max-len, quote-props */
76
+ function toJson_TopicSpec(obj) {
77
+ var _a;
78
+ if (obj === undefined) {
79
+ return undefined;
80
+ }
81
+ const result = {
82
+ 'deliveryPolicy': obj.deliveryPolicy,
83
+ 'displayName': obj.displayName,
84
+ 'kmsMasterKeyID': obj.kmsMasterKeyId,
85
+ 'name': obj.name,
86
+ 'policy': obj.policy,
87
+ 'tags': (_a = obj.tags) === null || _a === void 0 ? void 0 : _a.map(y => toJson_TopicSpecTags(y)),
88
+ };
89
+ // filter undefined values
90
+ return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
91
+ }
92
+ exports.toJson_TopicSpec = toJson_TopicSpec;
93
+ /**
94
+ * Converts an object of type 'TopicSpecTags' to JSON representation.
95
+ */
96
+ /* eslint-disable max-len, quote-props */
97
+ function toJson_TopicSpecTags(obj) {
98
+ if (obj === undefined) {
99
+ return undefined;
100
+ }
101
+ const result = {
102
+ 'key': obj.key,
103
+ 'value': obj.value,
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_TopicSpecTags = toJson_TopicSpecTags;
109
+ /* eslint-enable max-len, quote-props */
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25zdG9waWNzLXNucy5zZXJ2aWNlcy5rOHMuYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydHMvc25zdG9waWNzLXNucy5zZXJ2aWNlcy5rOHMuYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFCQUFxQjtBQUNyQixpQ0FBdUU7QUFJdkU7Ozs7R0FJRztBQUNILE1BQWEsS0FBTSxTQUFRLGlCQUFTO0lBdUJsQzs7Ozs7T0FLRztJQUNILFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQW9CLEVBQUU7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUssQ0FBQyxHQUFHO1lBQ1osR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQXpCRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQW9CLEVBQUU7UUFDM0MsT0FBTztZQUNMLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDWixHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQztTQUM1QixDQUFDO0lBQ0osQ0FBQztJQWVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUMsR0FBRztZQUNaLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1NBQy9CLENBQUM7SUFDSixDQUFDOztBQTlDSCxzQkErQ0M7QUE5Q0M7O0dBRUc7QUFDb0IsU0FBRyxHQUFxQjtJQUM3QyxVQUFVLEVBQUUsK0JBQStCO0lBQzNDLElBQUksRUFBRSxPQUFPO0NBQ2QsQ0FBQztBQThESjs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQixpQkFBaUIsQ0FBQyxHQUEyQjtJQUMzRCxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztLQUFFO0lBQzVDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0tBQ25DLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQztBQVJELDhDQVFDO0FBeUNEOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLGdCQUFnQixDQUFDLEdBQTBCOztJQUN6RCxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztLQUFFO0lBQzVDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLGNBQWM7UUFDcEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzlCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxjQUFjO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsR0FBRyxDQUFDLE1BQU07UUFDcEIsTUFBTSxRQUFFLEdBQUcsQ0FBQyxJQUFJLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3BELENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQztBQVpELDRDQVlDO0FBbUJEOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLG9CQUFvQixDQUFDLEdBQThCO0lBQ2pFLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtRQUFFLE9BQU8sU0FBUyxDQUFDO0tBQUU7SUFDNUMsTUFBTSxNQUFNLEdBQUc7UUFDYixLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUc7UUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUs7S0FDbkIsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxRyxDQUFDO0FBUkQsb0RBUUM7QUFDRCx3Q0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBnZW5lcmF0ZWQgYnkgY2RrOHNcbmltcG9ydCB7IEFwaU9iamVjdCwgQXBpT2JqZWN0TWV0YWRhdGEsIEdyb3VwVmVyc2lvbktpbmQgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG4vKipcbiAqIFRvcGljIGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBUb3BpY3MgQVBJXG4gKlxuICogQHNjaGVtYSBUb3BpY1xuICovXG5leHBvcnQgY2xhc3MgVG9waWMgZXh0ZW5kcyBBcGlPYmplY3Qge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgYXBpVmVyc2lvbiBhbmQga2luZCBmb3IgXCJUb3BpY1wiXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdWSzogR3JvdXBWZXJzaW9uS2luZCA9IHtcbiAgICBhcGlWZXJzaW9uOiAnc25zLnNlcnZpY2VzLms4cy5hd3MvdjFhbHBoYTEnLFxuICAgIGtpbmQ6ICdUb3BpYycsXG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgYSBLdWJlcm5ldGVzIG1hbmlmZXN0IGZvciBcIlRvcGljXCIuXG4gICAqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gaW5saW5lIHJlc291cmNlIG1hbmlmZXN0cyBpbnNpZGUgb3RoZXIgb2JqZWN0cyAoZS5nLiBhcyB0ZW1wbGF0ZXMpLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgaW5pdGlhbGl6YXRpb24gcHJvcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWFuaWZlc3QocHJvcHM6IFRvcGljUHJvcHMgPSB7fSk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLlRvcGljLkdWSyxcbiAgICAgIC4uLnRvSnNvbl9Ub3BpY1Byb3BzKHByb3BzKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZXMgYSBcIlRvcGljXCIgQVBJIG9iamVjdFxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgYSBzY29wZS1sb2NhbCBuYW1lIGZvciB0aGUgb2JqZWN0XG4gICAqIEBwYXJhbSBwcm9wcyBpbml0aWFsaXphdGlvbiBwcm9wc1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUb3BpY1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLlRvcGljLkdWSyxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgdGhlIG9iamVjdCB0byBLdWJlcm5ldGVzIEpTT04uXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IGFueSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSBzdXBlci50b0pzb24oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5Ub3BpYy5HVkssXG4gICAgICAuLi50b0pzb25fVG9waWNQcm9wcyhyZXNvbHZlZCksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIFRvcGljIGlzIHRoZSBTY2hlbWEgZm9yIHRoZSBUb3BpY3MgQVBJXG4gKlxuICogQHNjaGVtYSBUb3BpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljUHJvcHMge1xuICAvKipcbiAgICogQHNjaGVtYSBUb3BpYyNtZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiBBcGlPYmplY3RNZXRhZGF0YTtcblxuICAvKipcbiAgICogVG9waWNTcGVjIGRlZmluZXMgdGhlIGRlc2lyZWQgc3RhdGUgb2YgVG9waWNcbiAgICpcbiAgICogQHNjaGVtYSBUb3BpYyNzcGVjXG4gICAqL1xuICByZWFkb25seSBzcGVjPzogVG9waWNTcGVjO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1RvcGljUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1RvcGljUHJvcHMob2JqOiBUb3BpY1Byb3BzIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnbWV0YWRhdGEnOiBvYmoubWV0YWRhdGEsXG4gICAgJ3NwZWMnOiB0b0pzb25fVG9waWNTcGVjKG9iai5zcGVjKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBUb3BpY1NwZWMgZGVmaW5lcyB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBUb3BpY1xuICpcbiAqIEBzY2hlbWEgVG9waWNTcGVjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9waWNTcGVjIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgVG9waWNTcGVjI2RlbGl2ZXJ5UG9saWN5XG4gICAqL1xuICByZWFkb25seSBkZWxpdmVyeVBvbGljeT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBUb3BpY1NwZWMjZGlzcGxheU5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIFRvcGljU3BlYyNrbXNNYXN0ZXJLZXlJRFxuICAgKi9cbiAgcmVhZG9ubHkga21zTWFzdGVyS2V5SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgVG9waWNTcGVjI25hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBUb3BpY1NwZWMjcG9saWN5XG4gICAqL1xuICByZWFkb25seSBwb2xpY3k/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgVG9waWNTcGVjI3RhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiBUb3BpY1NwZWNUYWdzW107XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnVG9waWNTcGVjJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9Ub3BpY1NwZWMob2JqOiBUb3BpY1NwZWMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdkZWxpdmVyeVBvbGljeSc6IG9iai5kZWxpdmVyeVBvbGljeSxcbiAgICAnZGlzcGxheU5hbWUnOiBvYmouZGlzcGxheU5hbWUsXG4gICAgJ2ttc01hc3RlcktleUlEJzogb2JqLmttc01hc3RlcktleUlkLFxuICAgICduYW1lJzogb2JqLm5hbWUsXG4gICAgJ3BvbGljeSc6IG9iai5wb2xpY3ksXG4gICAgJ3RhZ3MnOiBvYmoudGFncz8ubWFwKHkgPT4gdG9Kc29uX1RvcGljU3BlY1RhZ3MoeSkpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEBzY2hlbWEgVG9waWNTcGVjVGFnc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljU3BlY1RhZ3Mge1xuICAvKipcbiAgICogQHNjaGVtYSBUb3BpY1NwZWNUYWdzI2tleVxuICAgKi9cbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIFRvcGljU3BlY1RhZ3MjdmFsdWVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1RvcGljU3BlY1RhZ3MnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1RvcGljU3BlY1RhZ3Mob2JqOiBUb3BpY1NwZWNUYWdzIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAna2V5Jzogb2JqLmtleSxcbiAgICAndmFsdWUnOiBvYmoudmFsdWUsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbiJdfQ==