@codiac.io/codiac-cli 1.2.224 → 1.2.226

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/apis/codiac-api/common/api-client-base.js +28 -1
  3. package/dist/apis/codiac-api/common/api-client-base.js.map +1 -1
  4. package/dist/apis/codiac-api/gen/client.d.ts +717 -1
  5. package/dist/apis/codiac-api/gen/client.js +9265 -1490
  6. package/dist/apis/codiac-api/gen/client.js.map +1 -1
  7. package/dist/apis/codiac-api/gen/contracts.d.ts +449 -174
  8. package/dist/apis/codiac-api/gen/contracts.js +104 -27
  9. package/dist/apis/codiac-api/gen/contracts.js.map +1 -1
  10. package/dist/command-base-enterprise.d.ts +1 -2
  11. package/dist/command-base-enterprise.js +0 -12
  12. package/dist/command-base-enterprise.js.map +1 -1
  13. package/dist/commands/asset/create.d.ts +1 -1
  14. package/dist/commands/asset/create.js +1 -1
  15. package/dist/commands/asset/create.js.map +1 -1
  16. package/dist/commands/asset/destroy.d.ts +2 -0
  17. package/dist/commands/asset/destroy.js +36 -11
  18. package/dist/commands/asset/destroy.js.map +1 -1
  19. package/dist/commands/asset/helm.js +3 -1
  20. package/dist/commands/asset/helm.js.map +1 -1
  21. package/dist/commands/asset/list.d.ts +1 -1
  22. package/dist/commands/asset/list.js +2 -1
  23. package/dist/commands/asset/list.js.map +1 -1
  24. package/dist/commands/asset/probe/create.d.ts +5 -0
  25. package/dist/commands/asset/probe/create.js +77 -21
  26. package/dist/commands/asset/probe/create.js.map +1 -1
  27. package/dist/commands/asset/view.d.ts +8 -11
  28. package/dist/commands/asset/view.js +169 -137
  29. package/dist/commands/asset/view.js.map +1 -1
  30. package/dist/commands/config/add.d.ts +11 -2
  31. package/dist/commands/config/add.js +53 -6
  32. package/dist/commands/config/add.js.map +1 -1
  33. package/dist/commands/config/delete.js +1 -1
  34. package/dist/commands/config/delete.js.map +1 -1
  35. package/dist/commands/config/settings/get.js +1 -1
  36. package/dist/commands/config/settings/get.js.map +1 -1
  37. package/dist/commands/config/view.d.ts +5 -0
  38. package/dist/commands/config/view.js +41 -13
  39. package/dist/commands/config/view.js.map +1 -1
  40. package/dist/commands/deploy.js +7 -2
  41. package/dist/commands/deploy.js.map +1 -1
  42. package/dist/relay/relay-container.js +1 -1
  43. package/dist/uilogic/config-ui-utils.d.ts +24 -1
  44. package/dist/uilogic/config-ui-utils.js +91 -0
  45. package/dist/uilogic/config-ui-utils.js.map +1 -1
  46. package/dist/uilogic/enterprise-contextualizer.d.ts +7 -1
  47. package/dist/uilogic/enterprise-contextualizer.js +49 -2
  48. package/dist/uilogic/enterprise-contextualizer.js.map +1 -1
  49. package/oclif.manifest.json +104 -15
  50. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
1
  import { BatchResult } from "@codiac.io/codiac-common/contracts";
2
+ import { IDomainEntity } from "@codiac.io/codiac-common";
2
3
  /** The security attributes for a user when signed in under a given tenant */
3
4
  export interface AccessProfile {
4
5
  tenantCode: string;
@@ -10,21 +11,17 @@ export interface ActivityBase {
10
11
  type: ActivityTypeEnum;
11
12
  title: string;
12
13
  by: string;
13
- /** Enables basic storage and retrieval of dates and times. */
14
14
  performed: Date;
15
15
  id?: string | undefined;
16
16
  createdBy: string;
17
17
  modifiedBy: string;
18
- /** Enables basic storage and retrieval of dates and times. */
19
18
  created: Date;
20
- /** Enables basic storage and retrieval of dates and times. */
21
19
  modified: Date;
22
20
  }
23
21
  export interface ActivityCriteriaBase {
24
22
  type?: string | undefined;
25
23
  title?: string | undefined;
26
24
  by?: string | undefined;
27
- /** Enables basic storage and retrieval of dates and times. */
28
25
  performed?: Date | undefined;
29
26
  cabinet?: string | undefined;
30
27
  assetsName?: string | undefined;
@@ -47,7 +44,8 @@ export declare enum ActivityTypeEnum {
47
44
  deployment = "deployment",
48
45
  imageBuild = "imageBuild",
49
46
  versionCreate = "versionCreate"
50
- } /** Upsert Request for assignment of a new or existing user to the current tenant. */
47
+ }
48
+ /** Upsert Request for assignment of a new or existing user to the current tenant. */
51
49
  export interface AddTenantUserRequest {
52
50
  login: string;
53
51
  firstName: string;
@@ -79,14 +77,15 @@ export declare enum ApiReadyStateEnum {
79
77
  instantiated = "instantiated",
80
78
  ready = "ready",
81
79
  reflecting = "reflecting"
82
- } /** A functional unit that is published as an individual container.
80
+ }
81
+ /** A functional unit that is published as an individual container.
83
82
  * Could be an api, service, web app, cloud function, or any other type of containerized executable system. */
84
83
  export interface Asset {
85
84
  enterprise: string;
86
85
  code: string;
87
86
  name: string;
88
87
  image: Image;
89
- port: number;
88
+ port: number | PortMapping | (number | PortMapping)[];
90
89
  hasIngress: boolean;
91
90
  routedWithoutName: boolean;
92
91
  id?: string | undefined;
@@ -123,45 +122,62 @@ export interface Asset {
123
122
  probes?: Probe[] | undefined;
124
123
  /** Overrides for the the container startup command. */
125
124
  entryPoints?: EntryPoint[] | undefined;
126
- /**
127
- * Freeform url paths to use as an override for the asset code property
128
- * when assembling ingress routing
129
- * for domain mapping strategies
130
- * that place the "service" segment
131
- * into the url path.
125
+ /** Rules for the selecting which nodes on which this asset will be run (aka: NodeSelectors, affinities, and taints). */
126
+ nodeRequirements?: NodePlacement[] | undefined;
127
+ /** Scripts to run (via init containers) before the asset's own container starts. */
128
+ beforeStartup?: InitContainer[] | undefined;
129
+ /** Command line script (NOT run within a shell) to run within the asset container
130
+ * AFTER the asset has succcessfully completed its startup.
131
+ *
132
+ * From K8s Docs:
133
+ * Management of the container blocks until this action is complete,
134
+ * unless the container process fails, in which case the handler is aborted.
135
+ *
136
+ * called immediately after a container is created.
137
+ * If the handler fails, the container is terminated and restarted according to its restart policy.
138
+ * Other management of the container blocks until the hook completes.
139
+ * More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
140
+ *
141
+ * The working directory for the command is root ('/') in the container's filesystem.
142
+ * The command is simply exec'd, it is NOT run inside a shell,
143
+ * so traditional shell instructions ('|', etc) won't work.
144
+ * To use a shell, you need to explicitly call out to that shell.
145
+ * Exit status of 0 is treated as live/healthy and non-zero is unhealthy. */
146
+ postStartup?: string[] | undefined;
147
+ /** Enable this setting to allow http (ie: non-SSL/TLS) requests in through the ingress controller without getting redirected to https.
132
148
  *
133
- * *NOTE: Each entry must be unique within the enterprise,
134
- * cannot be null or empty,
135
- * cannot start or end with a slash character,
136
- * and must uniquely identify this asset within the enterprise.*
149
+ * That is, Setting this to true will prevent the ingress controller from invoking an automatic redirect to https on any inbound http requests. */
150
+ allowHttp?: boolean | undefined;
151
+ /** Freeform url paths to use as an override for the asset code property
152
+ * when assembling ingress routing
153
+ * for domain mapping strategies
154
+ * that place the "service" segment
155
+ * into the url path.
137
156
  *
138
- * eg:
157
+ * *NOTE: Each entry must be unique within the enterprise,
158
+ * cannot be null or empty,
159
+ * cannot start or end with a slash character,
160
+ * and must uniquely identify this asset within the enterprise.*
139
161
  *
140
- * For a domain mapping strategy: `cab-dot-domain-slash-service`
162
+ * eg:
141
163
  *
142
- * and an asset with code: `my-api`
164
+ * For a domain mapping strategy: `cab-dot-domain-slash-service`
143
165
  *
144
- * When `mydomain.com` gets applied to cabinet `dev`,
145
- * default ingress routing will yield: `dev.mydomain.com/my-api`
166
+ * and an asset with code: `my-api`
146
167
  *
147
- * So. Adding a path `v1/the-api` to this property
148
- * will INSTEAD yield an ingress rule supporting this url:
168
+ * When `mydomain.com` gets applied to cabinet `dev`,
169
+ * default ingress routing will yield: `dev.mydomain.com/my-api`
149
170
  *
150
- * `dev.domain.com/v1/the-api`
171
+ * So. Adding a path `v1/the-api` to this property
172
+ * will INSTEAD yield an ingress rule supporting this url:
151
173
  *
152
- * NOTE: *Adding paths to this list prevents the default ingress path (as `Asset.code`) from being mapped in the ingress. If you still want that behavior in the ingress rules, you will have to add it to this list.*
153
- * */
154
- ingressPaths?: (string)[] | undefined;
155
- /** Enable this setting to allow http (ie: non-SSL/TLS) requests in through the ingress controller without getting redirected to https.
174
+ * `dev.domain.com/v1/the-api`
156
175
  *
157
- * That is, Setting this to true will prevent the ingress controller from invoking an automatic redirect to https on any inbound http requests.
158
- */
159
- allowHttp?: boolean | undefined;
176
+ * NOTE: *Adding paths to this list prevents the default ingress path (as `Asset.code`) from being mapped in the ingress. If you still want that behavior in the ingress rules, you will have to add it to this list.* */
177
+ ingressPaths?: string[] | undefined;
160
178
  createdBy: string;
161
179
  modifiedBy: string;
162
- /** Enables basic storage and retrieval of dates and times. */
163
180
  created: Date;
164
- /** Enables basic storage and retrieval of dates and times. */
165
181
  modified: Date;
166
182
  }
167
183
  export interface AssetCriteria {
@@ -207,6 +223,22 @@ export declare enum AssetTypesEnum {
207
223
  job = "job",
208
224
  service = "service"
209
225
  }
226
+ /** A contract specifying an asset and, optionally, a specific version, tags, and labels for it.
227
+ *
228
+ * THIS IS A DIRECT COPY OF ops-enterprise/entities/asset-version.ts
229
+ * It probably belongs in domain more than it does in ops,
230
+ * but it's too small to warrant a whole dependency challenge at the moment.
231
+ * for now, we'll just rely on typescript to duck type it. */
232
+ export interface AssetVersion {
233
+ /** Asset name. */
234
+ a: string;
235
+ /** Asset version. */
236
+ v?: string | undefined;
237
+ /** Tags to apply to the asset version. */
238
+ t?: string[] | undefined;
239
+ /** Labels to apply to the asset version. */
240
+ l?: object | undefined;
241
+ }
210
242
  export interface AssetVersionConfig {
211
243
  enterprise: string;
212
244
  assetName: string;
@@ -219,10 +251,14 @@ export interface AssetVersionConfig {
219
251
  id?: string | undefined;
220
252
  createdBy: string;
221
253
  modifiedBy: string;
222
- /** Enables basic storage and retrieval of dates and times. */
223
254
  created: Date;
224
- /** Enables basic storage and retrieval of dates and times. */
225
255
  modified: Date;
256
+ /** Markdown block of instructions or other descriptions from the author about this particular version. */
257
+ notes?: string | undefined;
258
+ /** Key-value pairs (aka: property bag) for this particular version. */
259
+ labels?: Label[] | undefined;
260
+ /** Starting point for threaded discussions on this particular version. */
261
+ comments?: Comment[] | undefined;
226
262
  }
227
263
  export interface AssetVersionConfigCriteria {
228
264
  enterprise?: string | undefined;
@@ -232,6 +268,7 @@ export interface AssetVersionConfigCriteria {
232
268
  multi?: object[] | undefined;
233
269
  /** Boolean logic filter for string values. Useful for querying on tags */
234
270
  tags?: AndOrNotFilter | undefined;
271
+ labels?: object | undefined;
235
272
  ids?: string[] | undefined;
236
273
  all?: boolean | undefined;
237
274
  /** Specification for the sort order of a query.
@@ -281,7 +318,6 @@ export interface AuthSubscription {
281
318
  enabled: boolean;
282
319
  status: SubscriptionStatus;
283
320
  maxUsers: number;
284
- /** Enables basic storage and retrieval of dates and times. */
285
321
  expiration?: Date | undefined;
286
322
  id?: string | undefined;
287
323
  /** Reference to the susbscription that resides within the billing system.
@@ -299,6 +335,39 @@ export interface AuthTenant {
299
335
  id?: string | undefined;
300
336
  Users?: TenantUser[] | undefined;
301
337
  }
338
+ export interface AwsTenantProfile {
339
+ provider: CloudProviderEnum;
340
+ /** Id code for the tenant account with the cloud service provider
341
+ * (This is NOT the Codiac tenant code). */
342
+ cspTenantId: string;
343
+ notes?: string | undefined;
344
+ id?: string | undefined;
345
+ createdBy: string;
346
+ modifiedBy: string;
347
+ created: Date;
348
+ modified: Date;
349
+ }
350
+ export interface AzureClientSecret {
351
+ id: string;
352
+ value: string;
353
+ expires: string;
354
+ }
355
+ export interface AzureTenantProfile {
356
+ /** The ApplicationId assigned to Codiac when it was registered in AzureAD. */
357
+ clientId: string;
358
+ authority: string;
359
+ clientSecret: AzureClientSecret;
360
+ provider: CloudProviderEnum;
361
+ /** Id code for the tenant account with the cloud service provider
362
+ * (This is NOT the Codiac tenant code). */
363
+ cspTenantId: string;
364
+ notes?: string | undefined;
365
+ id?: string | undefined;
366
+ createdBy: string;
367
+ modifiedBy: string;
368
+ created: Date;
369
+ modified: Date;
370
+ }
302
371
  export interface Buffer {
303
372
  }
304
373
  export interface Build {
@@ -306,9 +375,7 @@ export interface Build {
306
375
  id?: string | undefined;
307
376
  createdBy: string;
308
377
  modifiedBy: string;
309
- /** Enables basic storage and retrieval of dates and times. */
310
378
  created: Date;
311
- /** Enables basic storage and retrieval of dates and times. */
312
379
  modified: Date;
313
380
  }
314
381
  export interface BuildCriteria {
@@ -329,9 +396,7 @@ export interface BuildPipeline {
329
396
  id?: string | undefined;
330
397
  createdBy: string;
331
398
  modifiedBy: string;
332
- /** Enables basic storage and retrieval of dates and times. */
333
399
  created: Date;
334
- /** Enables basic storage and retrieval of dates and times. */
335
400
  modified: Date;
336
401
  }
337
402
  export interface BuildPipelineCriteria {
@@ -393,9 +458,7 @@ export interface Cabinet {
393
458
  portPrefix?: number | undefined;
394
459
  createdBy: string;
395
460
  modifiedBy: string;
396
- /** Enables basic storage and retrieval of dates and times. */
397
461
  created: Date;
398
- /** Enables basic storage and retrieval of dates and times. */
399
462
  modified: Date;
400
463
  }
401
464
  /** A reference to an cabinet and the cluster it's in. */
@@ -421,7 +484,6 @@ export interface CabinetConfigState {
421
484
  enterprise: string;
422
485
  environment: string;
423
486
  cabinet: string;
424
- /** Enables basic storage and retrieval of dates and times. */
425
487
  timestamp: Date;
426
488
  /** Undefined if a cluster has not yet been assigned to EITHER the cabinet OR the environment. */
427
489
  clusterName?: string | undefined;
@@ -443,14 +505,11 @@ export interface CabinetCreateActivity {
443
505
  type: ActivityTypeEnum;
444
506
  title: string;
445
507
  by: string;
446
- /** Enables basic storage and retrieval of dates and times. */
447
508
  performed: Date;
448
509
  id?: string | undefined;
449
510
  createdBy: string;
450
511
  modifiedBy: string;
451
- /** Enables basic storage and retrieval of dates and times. */
452
512
  created: Date;
453
- /** Enables basic storage and retrieval of dates and times. */
454
513
  modified: Date;
455
514
  }
456
515
  export interface CabinetCreateActivityCriteria {
@@ -461,7 +520,6 @@ export interface CabinetCreateActivityCriteria {
461
520
  type?: string | undefined;
462
521
  title?: string | undefined;
463
522
  by?: string | undefined;
464
- /** Enables basic storage and retrieval of dates and times. */
465
523
  performed?: Date | undefined;
466
524
  assetsName?: string | undefined;
467
525
  ids?: string[] | undefined;
@@ -540,9 +598,7 @@ export interface CabinetIngressDef {
540
598
  id?: string | undefined;
541
599
  createdBy: string;
542
600
  modifiedBy: string;
543
- /** Enables basic storage and retrieval of dates and times. */
544
601
  created: Date;
545
- /** Enables basic storage and retrieval of dates and times. */
546
602
  modified: Date;
547
603
  }
548
604
  /** Typically hydrated by the cloud platform provider during creation of the infrastructure resources;
@@ -598,9 +654,7 @@ export interface Cluster {
598
654
  k8sVersion?: string | undefined;
599
655
  createdBy: string;
600
656
  modifiedBy: string;
601
- /** Enables basic storage and retrieval of dates and times. */
602
657
  created: Date;
603
- /** Enables basic storage and retrieval of dates and times. */
604
658
  modified: Date;
605
659
  }
606
660
  export interface ClusterCriteria {
@@ -631,6 +685,8 @@ export interface ClusterDef {
631
685
  nodeCount?: number | undefined;
632
686
  ingressDef?: IngressDef | undefined;
633
687
  privateOwner?: string | undefined;
688
+ nodesMin?: number | undefined;
689
+ nodesMax?: number | undefined;
634
690
  /** This is the system id for the cluster definition, NOT the identifier of the concrete cluster instance given by the cloud provider. */
635
691
  id?: string | undefined;
636
692
  /** The code recognized by the cloud provider for identifying which virtual machine configuration to use as cluster nodes.
@@ -645,12 +701,12 @@ export interface ClusterDef {
645
701
  * (In Azure this is either a Service Principal or a Managed Identity). */
646
702
  identityInstance?: SecurityAccount | undefined;
647
703
  /** (byref) A reference to the most recent concrete cluster implementation of this def.
648
- * Contains only identifying information; to get actual node counts etc,
649
- * you would have to take a snapshot via azaks/kubectl. */
704
+ * Contains only identifying information; to get actual node counts etc,
705
+ * you would have to take a snapshot via azaks/kubectl. */
650
706
  instance?: Cluster | undefined;
651
707
  /** (Optional) The default resource allocation spec to apply to containers in this cluster. */
652
708
  defaultFootprint?: ContainerFootprint | undefined;
653
- /** Node pools in addition to thw default node pool created with the cluster. */
709
+ /** Node pools in addition to the default node pool created with the cluster. */
654
710
  nodePools?: NodePoolDef[] | undefined;
655
711
  /** User account credentials with which to create new Windows nodes in the cluster.
656
712
  *
@@ -667,9 +723,7 @@ export interface ClusterDef {
667
723
  k8sVersion?: string | undefined;
668
724
  createdBy: string;
669
725
  modifiedBy: string;
670
- /** Enables basic storage and retrieval of dates and times. */
671
726
  created: Date;
672
- /** Enables basic storage and retrieval of dates and times. */
673
727
  modified: Date;
674
728
  }
675
729
  export interface ClusterDefCriteria {
@@ -690,6 +744,32 @@ export interface ClusterDefCriteria {
690
744
  * Example: ```[ "color", "lastName" ]``` */
691
745
  sort?: string[] | "asc" | "desc" | string | undefined;
692
746
  }
747
+ /** Similar to an ACL for a cluster: declares an access level for a user on a cluster. */
748
+ export interface ClusterGrant {
749
+ clusterName: string;
750
+ userId: string;
751
+ accessLevel: string;
752
+ id?: string | undefined;
753
+ createdBy: string;
754
+ modifiedBy: string;
755
+ created: Date;
756
+ modified: Date;
757
+ }
758
+ export interface ClusterGrantCriteria {
759
+ clusterName?: string | undefined;
760
+ userId?: string | undefined;
761
+ accessLevel?: string | undefined;
762
+ ids?: string[] | undefined;
763
+ all?: boolean | undefined;
764
+ /** Specification for the sort order of a query.
765
+ *
766
+ * Example: ```{ "color": "asc", size: OrderEnum.desc }```
767
+ *
768
+ * Example: ```"color"```
769
+ *
770
+ * Example: ```[ "color", "lastName" ]``` */
771
+ sort?: string[] | "asc" | "desc" | string | undefined;
772
+ }
693
773
  export interface ClusterWithIngress {
694
774
  name: string;
695
775
  provider: CloudProviderEnum;
@@ -753,6 +833,42 @@ export interface CodiacUserPatch {
753
833
  lastName?: string | undefined;
754
834
  email?: string | undefined;
755
835
  }
836
+ /** A key-value pair applied to an entity in an enterprise. */
837
+ export interface Comment {
838
+ markdown: string;
839
+ ownerType: string;
840
+ ownerId: string;
841
+ enterprise: string;
842
+ /** Optional subject line of the comment. For use when larger comments are typical (such as in product reviews) */
843
+ headline?: string | undefined;
844
+ /** Indicates that this comment can be rendered just as an emoji decoration instead of as a full comment. */
845
+ isEmoji?: boolean | undefined;
846
+ /** The id of the comment (if any) that this one is responding to. */
847
+ parentId?: string | undefined;
848
+ responses?: Comment[] | undefined;
849
+ id?: string | undefined;
850
+ createdBy: string;
851
+ modifiedBy: string;
852
+ created: Date;
853
+ modified: Date;
854
+ }
855
+ export interface CommentCriteria {
856
+ name?: StringFilter | undefined;
857
+ value?: StringFilter | undefined;
858
+ ownerType?: string | undefined;
859
+ ownerId?: StringFilter | undefined;
860
+ createdBy?: string | undefined;
861
+ ids?: string[] | undefined;
862
+ all?: boolean | undefined;
863
+ /** Specification for the sort order of a query.
864
+ *
865
+ * Example: ```{ "color": "asc", size: OrderEnum.desc }```
866
+ *
867
+ * Example: ```"color"```
868
+ *
869
+ * Example: ```[ "color", "lastName" ]``` */
870
+ sort?: string[] | "asc" | "desc" | string | undefined;
871
+ }
756
872
  /** An historical record of a change made to the the configuration of the an enterprise for a given cabinet,
757
873
  * to be used, together with the latest preceeding snapshot and other change events, as the specification for a deployment.
758
874
  * This entity reflects only a proposed configuration change for the enterprise on its creation date;
@@ -763,9 +879,7 @@ export interface ConfigChange {
763
879
  id?: string | undefined;
764
880
  createdBy: string;
765
881
  modifiedBy: string;
766
- /** Enables basic storage and retrieval of dates and times. */
767
882
  created: Date;
768
- /** Enables basic storage and retrieval of dates and times. */
769
883
  modified: Date;
770
884
  }
771
885
  export interface ConfigChangeCriteria {
@@ -797,7 +911,7 @@ export interface ConfigDef {
797
911
  export interface ConfigDefCriteria {
798
912
  enterprise?: string | undefined;
799
913
  asset?: string | undefined;
800
- type?: "env" | "file" | "filestore" | "footprint" | "helm" | undefined;
914
+ type?: "env" | "file" | "filestore" | "footprint" | "helm" | "annotation" | "label" | "probing" | undefined;
801
915
  targetFile?: string | undefined;
802
916
  format?: string | undefined;
803
917
  ids?: string[] | undefined;
@@ -813,11 +927,25 @@ export interface ConfigDefCriteria {
813
927
  }
814
928
  /** Values of ScopedSetting.targetFile for NON-FILE configs. */
815
929
  export declare enum ConfigDefTypesEnum {
816
- env = "env",
817
- file = "file",
818
- filestore = "filestore",
819
- footprint = "footprint",
820
- helm = "helm"
930
+ /** Configuration that lands in a file in the asset's container. */
931
+ "file" = "file",
932
+ "env" = "env",
933
+ /** Mapping of a reserved folder on an asset to a FileStoreDef */
934
+ "filestore" = "filestore",
935
+ /** Claims resources for the asset (memory, CPU, replicas). */
936
+ "footprint" = "footprint",
937
+ /** Configuration of a helm chart. */
938
+ "helm" = "helm",
939
+ /** Designates a ScopedConfig record as a metadata label specification.
940
+ * (Under the hood, this value will be applied as ScopedConfig.targetFile,
941
+ * allowing these settings to be queried and managed together). */
942
+ "label" = "label",
943
+ /** Designates a ScopedConfig record as a single metadata annotation specification.
944
+ * (Under the hood, this value will be applied as ScopedConfig.targetFile,
945
+ * allowing these settings to be queried and managed together). */
946
+ "annotation" = "annotation",
947
+ /** Designates a ScopedConfig record as a flag for enabling and disabling probing for a given scope. */
948
+ "probing" = "probing"
821
949
  }
822
950
  export interface ConfigDeploymentActivity {
823
951
  deployAttemptId: string;
@@ -832,14 +960,11 @@ export interface ConfigDeploymentActivity {
832
960
  type: ActivityTypeEnum;
833
961
  title: string;
834
962
  by: string;
835
- /** Enables basic storage and retrieval of dates and times. */
836
963
  performed: Date;
837
964
  id?: string | undefined;
838
965
  createdBy: string;
839
966
  modifiedBy: string;
840
- /** Enables basic storage and retrieval of dates and times. */
841
967
  created: Date;
842
- /** Enables basic storage and retrieval of dates and times. */
843
968
  modified: Date;
844
969
  }
845
970
  export interface ConfigDeploymentActivityCriteria {
@@ -853,7 +978,6 @@ export interface ConfigDeploymentActivityCriteria {
853
978
  type?: string | undefined;
854
979
  title?: string | undefined;
855
980
  by?: string | undefined;
856
- /** Enables basic storage and retrieval of dates and times. */
857
981
  performed?: Date | undefined;
858
982
  assetsName?: string | undefined;
859
983
  ids?: string[] | undefined;
@@ -898,7 +1022,8 @@ export declare enum ConfigFormatsEnum {
898
1022
  toml = "toml",
899
1023
  xml = "xml",
900
1024
  yaml = "yaml"
901
- } /** Structure of settings and their data types supported by an Asset.
1025
+ }
1026
+ /** Structure of settings and their data types supported by an Asset.
902
1027
  * (ie: structure of a config file, environment variable list, Asset attributes, etc.) */
903
1028
  export interface ConfigSchema {
904
1029
  definitions: object;
@@ -923,12 +1048,13 @@ export interface ContainerFootprint {
923
1048
  cpuLimit?: string | undefined;
924
1049
  memRequest?: string | undefined;
925
1050
  memLimit?: string | undefined;
1051
+ replicasMin?: number | undefined;
1052
+ replicasMax?: number | undefined;
1053
+ scaleBy?: string | undefined;
926
1054
  id?: string | undefined;
927
1055
  createdBy: string;
928
1056
  modifiedBy: string;
929
- /** Enables basic storage and retrieval of dates and times. */
930
1057
  created: Date;
931
- /** Enables basic storage and retrieval of dates and times. */
932
1058
  modified: Date;
933
1059
  }
934
1060
  export interface ContainerFootprintCriteria {
@@ -945,6 +1071,33 @@ export interface ContainerFootprintCriteria {
945
1071
  * Example: ```[ "color", "lastName" ]``` */
946
1072
  sort?: string[] | "asc" | "desc" | string | undefined;
947
1073
  }
1074
+ export interface CspTenantProfile {
1075
+ provider: CloudProviderEnum;
1076
+ /** Id code for the tenant account with the cloud service provider
1077
+ * (This is NOT the Codiac tenant code). */
1078
+ cspTenantId: string;
1079
+ notes?: string | undefined;
1080
+ id?: string | undefined;
1081
+ createdBy: string;
1082
+ modifiedBy: string;
1083
+ created: Date;
1084
+ modified: Date;
1085
+ }
1086
+ export interface CspTenantProfileCriteria {
1087
+ /** Identifier for a supported cloud service provider, for use in selecting infrastructure clients, provisioners, and credentials. */
1088
+ provider?: "aws" | "azure" | "dockerHub" | "other" | undefined;
1089
+ cspTenantId?: string | undefined;
1090
+ ids?: string[] | undefined;
1091
+ all?: boolean | undefined;
1092
+ /** Specification for the sort order of a query.
1093
+ *
1094
+ * Example: ```{ "color": "asc", size: OrderEnum.desc }```
1095
+ *
1096
+ * Example: ```"color"```
1097
+ *
1098
+ * Example: ```[ "color", "lastName" ]``` */
1099
+ sort?: string[] | "asc" | "desc" | string | undefined;
1100
+ }
948
1101
  export interface DeployAttempt {
949
1102
  name: string;
950
1103
  deploymentId: string;
@@ -952,9 +1105,7 @@ export interface DeployAttempt {
952
1105
  id?: string | undefined;
953
1106
  createdBy: string;
954
1107
  modifiedBy: string;
955
- /** Enables basic storage and retrieval of dates and times. */
956
1108
  created: Date;
957
- /** Enables basic storage and retrieval of dates and times. */
958
1109
  modified: Date;
959
1110
  }
960
1111
  export interface DeployAttemptCriteria {
@@ -987,9 +1138,7 @@ export interface Deployment {
987
1138
  id?: string | undefined;
988
1139
  createdBy: string;
989
1140
  modifiedBy: string;
990
- /** Enables basic storage and retrieval of dates and times. */
991
1141
  created: Date;
992
- /** Enables basic storage and retrieval of dates and times. */
993
1142
  modified: Date;
994
1143
  }
995
1144
  export interface DeploymentActivity {
@@ -1005,14 +1154,11 @@ export interface DeploymentActivity {
1005
1154
  type: ActivityTypeEnum;
1006
1155
  title: string;
1007
1156
  by: string;
1008
- /** Enables basic storage and retrieval of dates and times. */
1009
1157
  performed: Date;
1010
1158
  id?: string | undefined;
1011
1159
  createdBy: string;
1012
1160
  modifiedBy: string;
1013
- /** Enables basic storage and retrieval of dates and times. */
1014
1161
  created: Date;
1015
- /** Enables basic storage and retrieval of dates and times. */
1016
1162
  modified: Date;
1017
1163
  }
1018
1164
  export interface DeploymentActivityCriteria {
@@ -1026,7 +1172,6 @@ export interface DeploymentActivityCriteria {
1026
1172
  type?: string | undefined;
1027
1173
  title?: string | undefined;
1028
1174
  by?: string | undefined;
1029
- /** Enables basic storage and retrieval of dates and times. */
1030
1175
  performed?: Date | undefined;
1031
1176
  assetsName?: string | undefined;
1032
1177
  ids?: string[] | undefined;
@@ -1061,9 +1206,7 @@ export interface DeployPipeline {
1061
1206
  id?: string | undefined;
1062
1207
  createdBy: string;
1063
1208
  modifiedBy: string;
1064
- /** Enables basic storage and retrieval of dates and times. */
1065
1209
  created: Date;
1066
- /** Enables basic storage and retrieval of dates and times. */
1067
1210
  modified: Date;
1068
1211
  }
1069
1212
  export interface DeployPipelineCriteria {
@@ -1116,9 +1259,7 @@ export interface Enterprise {
1116
1259
  domains: HostNameConfig[];
1117
1260
  createdBy: string;
1118
1261
  modifiedBy: string;
1119
- /** Enables basic storage and retrieval of dates and times. */
1120
1262
  created: Date;
1121
- /** Enables basic storage and retrieval of dates and times. */
1122
1263
  modified: Date;
1123
1264
  }
1124
1265
  export interface EnterpriseCriteria {
@@ -1155,10 +1296,14 @@ export interface EnterpriseRunState {
1155
1296
  id?: string | undefined;
1156
1297
  createdBy: string;
1157
1298
  modifiedBy: string;
1158
- /** Enables basic storage and retrieval of dates and times. */
1159
1299
  created: Date;
1160
- /** Enables basic storage and retrieval of dates and times. */
1161
1300
  modified: Date;
1301
+ /** Markdown block of instructions or other descriptions from the author about this particular version. */
1302
+ notes?: string | undefined;
1303
+ /** Key-value pairs (aka: property bag) for this particular version. */
1304
+ labels?: Label[] | undefined;
1305
+ /** Starting point for threaded discussions on this particular version. */
1306
+ comments?: Comment[] | undefined;
1162
1307
  }
1163
1308
  export interface EnterpriseRunStateCriteria {
1164
1309
  enterprise?: string | undefined;
@@ -1192,15 +1337,22 @@ export interface EnterpriseVersionConfig {
1192
1337
  id?: string | undefined;
1193
1338
  createdBy: string;
1194
1339
  modifiedBy: string;
1195
- /** Enables basic storage and retrieval of dates and times. */
1196
1340
  created: Date;
1197
- /** Enables basic storage and retrieval of dates and times. */
1198
1341
  modified: Date;
1342
+ /** Markdown block of instructions or other descriptions from the author about this particular version. */
1343
+ notes?: string | undefined;
1344
+ /** Key-value pairs (aka: property bag) for this particular version. */
1345
+ labels?: Label[] | undefined;
1346
+ /** Starting point for threaded discussions on this particular version. */
1347
+ comments?: Comment[] | undefined;
1199
1348
  }
1200
1349
  export interface EnterpriseVersionConfigCriteria {
1201
1350
  enterprise?: string | undefined;
1202
1351
  version?: string | undefined;
1203
1352
  contentHash?: string | undefined;
1353
+ /** Boolean logic filter for string values. Useful for querying on tags */
1354
+ tags?: AndOrNotFilter | undefined;
1355
+ labels?: object | undefined;
1204
1356
  ids?: string[] | undefined;
1205
1357
  all?: boolean | undefined;
1206
1358
  /** Specification for the sort order of a query.
@@ -1222,9 +1374,7 @@ export interface EntityAcl {
1222
1374
  id: string;
1223
1375
  createdBy: string;
1224
1376
  modifiedBy: string;
1225
- /** Enables basic storage and retrieval of dates and times. */
1226
1377
  created: Date;
1227
- /** Enables basic storage and retrieval of dates and times. */
1228
1378
  modified: Date;
1229
1379
  }
1230
1380
  export interface EntityAclCriteria {
@@ -1283,9 +1433,7 @@ export interface Environment {
1283
1433
  defaultFootprint?: Partial<ContainerFootprint> | undefined;
1284
1434
  createdBy: string;
1285
1435
  modifiedBy: string;
1286
- /** Enables basic storage and retrieval of dates and times. */
1287
1436
  created: Date;
1288
- /** Enables basic storage and retrieval of dates and times. */
1289
1437
  modified: Date;
1290
1438
  }
1291
1439
  export interface EnvironmentCriteria {
@@ -1342,9 +1490,7 @@ export interface FileStoreDef {
1342
1490
  id?: string | undefined;
1343
1491
  createdBy: string;
1344
1492
  modifiedBy: string;
1345
- /** Enables basic storage and retrieval of dates and times. */
1346
1493
  created: Date;
1347
- /** Enables basic storage and retrieval of dates and times. */
1348
1494
  modified: Date;
1349
1495
  }
1350
1496
  export interface FileStoreDefCriteria {
@@ -1378,13 +1524,16 @@ export declare enum FileStoreTypeEnum {
1378
1524
  AzureDisk = "AzureDisk",
1379
1525
  AzureFileStorage = "AzureFileStorage",
1380
1526
  HostMachineFolder = "HostMachineFolder"
1381
- } /** Calls out the cabinet and its parent structures. */
1527
+ }
1528
+ /** Calls out the cabinet and its parent structures. */
1382
1529
  export interface FullyQualifiedCabinetScopes {
1383
1530
  enterprises: EnterpriseScope[];
1384
1531
  clusters: string[];
1385
1532
  }
1386
1533
  export interface HelmAssetTemplate {
1387
- /** Maps a port number to the associated setting (full dot path name) in the chart config. */
1534
+ /** Maps a port number to the associated setting (full dot path name) in the chart config.
1535
+ *
1536
+ * TODO: Revisit this data structure. */
1388
1537
  portMappings: object;
1389
1538
  chart: HelmChartSpec;
1390
1539
  assetType: AssetTypesEnum;
@@ -1444,7 +1593,8 @@ export declare enum HostNameStrategyEnum {
1444
1593
  service_dot_domain = "service_dot_domain",
1445
1594
  shared_ingress_ip = "shared_ingress_ip",
1446
1595
  svc_dot_cab_dot_domain = "svc_dot_cab_dot_domain"
1447
- } /** Identifying information of the subscription as it is represented in the billing system.
1596
+ }
1597
+ /** Identifying information of the subscription as it is represented in the billing system.
1448
1598
  * This object should get hydrated by a sync task. */
1449
1599
  export interface IBillingPlanRef {
1450
1600
  /** The name for the plan as it appears to a user. */
@@ -1455,9 +1605,23 @@ export interface IBillingPlanRef {
1455
1605
  customerId: string;
1456
1606
  /** Human-readable immutable identitifer for the plan. */
1457
1607
  code: string;
1458
- /** Enables basic storage and retrieval of dates and times. */
1608
+ /** (Optional, undefined for subscriptions recurring in perptuity)
1609
+ * The earliest date at which the tenant subscription will change in the billing system,
1610
+ * requiring another sync to determine state of the subscription.
1611
+ * That is, the earliest scheduled end of any part of the current contract that affects the total number of seat licenses.
1612
+ *
1613
+ * IMPORTANT: This date declares the next time the contract is EXPLICITLY SCHEDULED TO CHANGE STATUS,
1614
+ * which is NOT NECESSARILY the end of the tenant's overall subscription contract.
1615
+ *
1616
+ * NOTE: This date SHOULD NEVER be in the past for an active subscription.
1617
+ * If it is, it means the status properties of this subscription are stale,
1618
+ * requiring a sync action be performed against the billing system to validate the status of this subscription.
1619
+ *
1620
+ * EXAMPLE: This value shall be undefined for a tenant with a recurring base subscription, even if that tenant has paid for a year in advance.
1621
+ * EXAMPLE: This value shall be the date 6 months from now for a tenant with a monthly base subscription that is explicitly set to terminate in 6 months.
1622
+ * EXAMPLE: This value shall be the date 12 months from now for a tenant who has added 5 extra seats that are scheduled to terminate in a year, even though they have a perpetual monthly recurring subscription that will continue after those additional seats expire. */
1459
1623
  nextRequiredSync?: Date | undefined;
1460
- /** Enables basic storage and retrieval of dates and times. */
1624
+ /** The most recent event that successfully refreshed the status properties of this subscription object from the billing system. */
1461
1625
  lastSync?: Date | undefined;
1462
1626
  }
1463
1627
  export interface ICommandLineProbeAction {
@@ -1498,9 +1662,7 @@ export interface Image {
1498
1662
  id?: string | undefined;
1499
1663
  createdBy: string;
1500
1664
  modifiedBy: string;
1501
- /** Enables basic storage and retrieval of dates and times. */
1502
1665
  created: Date;
1503
- /** Enables basic storage and retrieval of dates and times. */
1504
1666
  modified: Date;
1505
1667
  name: string;
1506
1668
  scope?: string | undefined;
@@ -1533,9 +1695,7 @@ export interface ImageRegistry {
1533
1695
  pullSecretSecondary?: PullSecretRef | undefined;
1534
1696
  createdBy: string;
1535
1697
  modifiedBy: string;
1536
- /** Enables basic storage and retrieval of dates and times. */
1537
1698
  created: Date;
1538
- /** Enables basic storage and retrieval of dates and times. */
1539
1699
  modified: Date;
1540
1700
  code: string;
1541
1701
  url: string;
@@ -1576,7 +1736,8 @@ export declare enum ImageRegistryTypes {
1576
1736
  DockerHub = "DockerHub",
1577
1737
  Other = "Other",
1578
1738
  helm = "helm"
1579
- } /** An unversioned reference to an image repository.
1739
+ }
1740
+ /** An unversioned reference to an image repository.
1580
1741
  * Matches an Image entity. This class is for use as a request: it is NOT A DOMAIN ENTITY. */
1581
1742
  export interface ImageSpec {
1582
1743
  name: string;
@@ -1598,11 +1759,59 @@ export interface IngressDef {
1598
1759
  id?: string | undefined;
1599
1760
  createdBy: string;
1600
1761
  modifiedBy: string;
1601
- /** Enables basic storage and retrieval of dates and times. */
1602
1762
  created: Date;
1603
- /** Enables basic storage and retrieval of dates and times. */
1604
1763
  modified: Date;
1605
1764
  }
1765
+ /** A script or program to run (from within a given container) before an asset's main container is started.
1766
+ *
1767
+ * Failure of this container DOES prevent the asset's main container from starting.
1768
+ *
1769
+ * In Kubernetes, this gets implemented as an [Init Container](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) */
1770
+ export interface InitContainer {
1771
+ name: string;
1772
+ id?: string | undefined;
1773
+ createdBy: string;
1774
+ modifiedBy: string;
1775
+ created: Date;
1776
+ modified: Date;
1777
+ /** Fully-qualified name of the image whose entrypoint command is to be run,
1778
+ *
1779
+ * Format: `[registryUrl]/[imageName]` (DockerHub is used by default).
1780
+ *
1781
+ * eg:
1782
+ * * `busybox`
1783
+ * * `myazAcr.azurecr.io/my-favorite-image` */
1784
+ image: string;
1785
+ /** Command run on container startup (Optional; defaults to the image's ENTRYPOINT, and if null, defaults to `/bin/sh -c`)
1786
+ *
1787
+ * Description from k8s docs:
1788
+ * Not executed within a shell. The container image\'s ENTRYPOINT is used if this is not provided.
1789
+ * Variable references $(VAR_NAME) are expanded using the container\'s environment.
1790
+ * If a variable cannot be resolved, the reference in the input string will be unchanged.
1791
+ * Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax:
1792
+ * i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\".
1793
+ * Escaped references will never be expanded, regardless of whether the variable exists or not.
1794
+ * Cannot be updated. */
1795
+ entryPointCommand?: string[] | undefined;
1796
+ /** (Optional; defaults to whatever the image has as its "CMD")
1797
+ * Gets passed to the entryPointCommand. Often, the entrypointCommand opens a shell, allowing this to be the command to run inside the shell,
1798
+ *
1799
+ * eg: `entryPointCommand="/bin/sh -c"` and `entryPointArgs="ls -a"` which yields: `/bin/sh -c ls -a` */
1800
+ entryPointArgs?: string[] | undefined;
1801
+ /** Container\'s working directory. If not specified, the container runtime\'s default will be used,
1802
+ * which might be configured in the container image. Cannot be updated. */
1803
+ workingDir?: string | undefined;
1804
+ /** (optional; defaults to false) UNLESS this is set to true, the init container will also get the env variables that are declared in Codiac for the asset. */
1805
+ preventAssetEnv?: boolean | undefined;
1806
+ /** (optional; defaults to false) UNLESS this is set to true, the init container will also get the config files that are declared in Codiac for the asset. */
1807
+ preventAssetConfig?: boolean | undefined;
1808
+ /** (optional; defaults to false) UNLESS this is set to true, the init container will also get the volume mounts that are declared in Codiac for the asset. */
1809
+ preventAssetVolumes?: boolean | undefined;
1810
+ /** (optional) Min/Max Mem and CPU allocations */
1811
+ footprint?: Pick<ContainerFootprint, "memLimit" | "memRequest" | "cpuLimit" | "cpuRequest"> | undefined;
1812
+ /** (optional: defaults to all) The versions of the parent asset for which this init container is to be used. */
1813
+ versionRange?: string | undefined;
1814
+ }
1606
1815
  export interface ISocketProbeAction {
1607
1816
  /** Host name to connect to, defaults to the pod IP. */
1608
1817
  host: string;
@@ -1639,7 +1848,7 @@ export interface IVersionRef {
1639
1848
  }
1640
1849
  export interface JobAssetTemplate {
1641
1850
  image: ImageSpec;
1642
- defaultPort: number;
1851
+ defaultPort: PortMapping | PortMapping | number[] | number;
1643
1852
  defaultImageVersion?: string | undefined;
1644
1853
  assetType: AssetTypesEnum;
1645
1854
  defaultName: string;
@@ -1688,9 +1897,7 @@ export interface Kit {
1688
1897
  tags: string[];
1689
1898
  createdBy: string;
1690
1899
  modifiedBy: string;
1691
- /** Enables basic storage and retrieval of dates and times. */
1692
1900
  created: Date;
1693
- /** Enables basic storage and retrieval of dates and times. */
1694
1901
  modified: Date;
1695
1902
  }
1696
1903
  /** Indicates who in the Codiac universe is allowed to view and use a Kit. */
@@ -1745,9 +1952,7 @@ export interface KvpStoreDef {
1745
1952
  id?: string | undefined;
1746
1953
  createdBy: string;
1747
1954
  modifiedBy: string;
1748
- /** Enables basic storage and retrieval of dates and times. */
1749
1955
  created: Date;
1750
- /** Enables basic storage and retrieval of dates and times. */
1751
1956
  modified: Date;
1752
1957
  }
1753
1958
  export interface KvpStoreDefCriteria {
@@ -1782,9 +1987,7 @@ export interface KvpStoreInfrx {
1782
1987
  id?: string | undefined;
1783
1988
  createdBy: string;
1784
1989
  modifiedBy: string;
1785
- /** Enables basic storage and retrieval of dates and times. */
1786
1990
  created: Date;
1787
- /** Enables basic storage and retrieval of dates and times. */
1788
1991
  modified: Date;
1789
1992
  }
1790
1993
  /** List of codenames for supported KeyValue stores.
@@ -1797,6 +2000,36 @@ export declare enum KvpStoreTypesEnum {
1797
2000
  mongoCollection = "mongoCollection",
1798
2001
  mongoDocument = "mongoDocument"
1799
2002
  }
2003
+ /** A key-value pair applied to an entity in an enterprise. */
2004
+ export interface Label {
2005
+ value: string;
2006
+ name: string;
2007
+ ownerType: string;
2008
+ ownerId: string;
2009
+ enterprise: string;
2010
+ id?: string | undefined;
2011
+ createdBy: string;
2012
+ modifiedBy: string;
2013
+ created: Date;
2014
+ modified: Date;
2015
+ }
2016
+ export interface LabelCriteria {
2017
+ name?: StringFilter | undefined;
2018
+ value?: StringFilter | undefined;
2019
+ ownerType?: string | undefined;
2020
+ ownerId?: StringFilter | undefined;
2021
+ createdBy?: string | undefined;
2022
+ ids?: string[] | undefined;
2023
+ all?: boolean | undefined;
2024
+ /** Specification for the sort order of a query.
2025
+ *
2026
+ * Example: ```{ "color": "asc", size: OrderEnum.desc }```
2027
+ *
2028
+ * Example: ```"color"```
2029
+ *
2030
+ * Example: ```[ "color", "lastName" ]``` */
2031
+ sort?: string[] | "asc" | "desc" | string | undefined;
2032
+ }
1800
2033
  export interface MyTenantRequest {
1801
2034
  }
1802
2035
  export declare enum NativeDataTypeEnum {
@@ -1811,12 +2044,28 @@ export declare enum NativeDataTypeEnum {
1811
2044
  uint16 = "uint16",
1812
2045
  uint32 = "uint32",
1813
2046
  uint8 = "uint8"
1814
- } /** "Type" form of [RFC8927](https://datatracker.ietf.org/doc/rfc8927/) */
2047
+ }
2048
+ /** "Type" form of [RFC8927](https://datatracker.ietf.org/doc/rfc8927/) */
1815
2049
  export interface NativeTypeDef {
1816
2050
  type: NativeDataTypeEnum;
1817
2051
  nullable?: boolean | undefined;
1818
2052
  metadata?: any | undefined;
1819
2053
  }
2054
+ export interface NodePlacement {
2055
+ createdBy: string;
2056
+ modifiedBy: string;
2057
+ created: Date;
2058
+ modified: Date;
2059
+ /** Matches for node labels (aka: nodeSelector). Results in this asset being scheduled only onto nodes whose labels match all of these. */
2060
+ nodeSelector?: object | undefined;
2061
+ /** Controls how Pods are spread across your cluster among failure-domains such as regions, zones, nodes,
2062
+ * and other user-defined topology domains.
2063
+ *
2064
+ * This can help to achieve high availability as well as efficient resource utilization. */
2065
+ spread?: PodTopologySpreadConstraint[] | undefined;
2066
+ /** Semantic version range of the asset in which this node placement is applicable. */
2067
+ versionRange?: string | undefined;
2068
+ }
1820
2069
  /** An arbitrary grouping of OS-specific cluster nodes.
1821
2070
  * All nodes in a pool are of the same vm type. */
1822
2071
  export interface NodePoolDef {
@@ -1824,13 +2073,13 @@ export interface NodePoolDef {
1824
2073
  name: string;
1825
2074
  nodeSpec: string;
1826
2075
  startingNodeCount: number;
2076
+ nodesMin?: number | undefined;
2077
+ nodesMax?: number | undefined;
1827
2078
  isWindows?: boolean | undefined;
1828
2079
  id?: string | undefined;
1829
2080
  createdBy: string;
1830
2081
  modifiedBy: string;
1831
- /** Enables basic storage and retrieval of dates and times. */
1832
2082
  created: Date;
1833
- /** Enables basic storage and retrieval of dates and times. */
1834
2083
  modified: Date;
1835
2084
  }
1836
2085
  export interface NodePoolDefCriteria {
@@ -1841,10 +2090,10 @@ export interface NodePoolDefCriteria {
1841
2090
  * This filter approach does NOT provide for:
1842
2091
  *
1843
2092
  * 1) Formula-driven filtering: (property-scoped) function(propVal: number)
1844
- * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
2093
+ * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
1845
2094
  *
1846
2095
  * 2) Entity-scoped formula-driven filtering function (entity: T)
1847
- * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
2096
+ * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
1848
2097
  startingNodeCount?: NumericFilter | undefined;
1849
2098
  isWindows?: boolean | undefined;
1850
2099
  ids?: string[] | undefined;
@@ -1862,10 +2111,10 @@ export interface NodePoolDefCriteria {
1862
2111
  * This filter approach does NOT provide for:
1863
2112
  *
1864
2113
  * 1) Formula-driven filtering: (property-scoped) function(propVal: number)
1865
- * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
2114
+ * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
1866
2115
  *
1867
2116
  * 2) Entity-scoped formula-driven filtering function (entity: T)
1868
- * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
2117
+ * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
1869
2118
  export interface NumericFilter {
1870
2119
  /** property of the target object to compare (conventional default to the name of the criteria property) */
1871
2120
  property?: string | undefined;
@@ -1884,12 +2133,20 @@ export interface NumericFilter {
1884
2133
  * This filter approach does NOT provide for:
1885
2134
  *
1886
2135
  * 1) Formula-driven filtering: (property-scoped) function(propVal: number)
1887
- * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
2136
+ * comparison of calc on the property value ie: WHERE 2 * [Overhead] <= 50,000
1888
2137
  *
1889
2138
  * 2) Entity-scoped formula-driven filtering function (entity: T)
1890
- * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
2139
+ * comparison of calcs on MANY DIFFERENT property values ie: WHERE [Overhead] < 0.33 * [Revenue] */
1891
2140
  $not?: NumericFilter | undefined;
1892
2141
  }
2142
+ /** Specifies the direction that a single property should be sorted. */
2143
+ export declare enum OrderEnum {
2144
+ asc = "asc",
2145
+ desc = "desc"
2146
+ }
2147
+ export type PartialWithId<TEntity extends IDomainEntity> = Partial<TEntity> & {
2148
+ "id": string;
2149
+ };
1893
2150
  export interface patchOperation {
1894
2151
  op: patchOperationType;
1895
2152
  path: string;
@@ -1902,11 +2159,29 @@ export declare enum patchOperationType {
1902
2159
  remove = "remove",
1903
2160
  replace = "replace",
1904
2161
  test = "test"
1905
- } /** The granting of priveleges to a given Role. */
2162
+ }
2163
+ /** The granting of priveleges to a given Role. */
1906
2164
  export interface Permission {
1907
2165
  role: AuthRole;
1908
2166
  priveleges: Privelege[];
1909
2167
  }
2168
+ /** Instructs the kube-scheduler how to place each incoming Pod in relation to the existing Pods across your cluster.
2169
+ *
2170
+ * These can be assigned at the pod level or at the cluster level ([via a KubeSchedulerConfiguration entity](https://v1-24.docs.kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/#cluster-level-default-constraints)). */
2171
+ export interface PodTopologySpreadConstraint {
2172
+ maxSkew: number;
2173
+ topologyKey?: string | undefined;
2174
+ whenUnsatisfiable?: string | undefined;
2175
+ labelSelector?: object | undefined;
2176
+ }
2177
+ /** Declares the port to use when making requests to an asset, and reroutes them to a different port inside the container
2178
+ * (so that the software in the container does not have to be reconfigured when a different port number is assigned to the asset). */
2179
+ export interface PortMapping {
2180
+ /** The port through which requests can be sent to the asset. */
2181
+ external: number;
2182
+ /** The port on which the software inside the container is listening. */
2183
+ internal?: number | undefined;
2184
+ }
1910
2185
  /** A type of operation that a given Role is allowed to perform on a securable object. */
1911
2186
  export declare enum Privelege {
1912
2187
  "value0" = 0,
@@ -1914,7 +2189,8 @@ export declare enum Privelege {
1914
2189
  "value2" = 2,
1915
2190
  "value3" = 3,
1916
2191
  "value4" = 4
1917
- } /** Declares a probe action and when to run it against an asset. */
2192
+ }
2193
+ /** Declares a probe action and when to run it against an asset. */
1918
2194
  export interface Probe {
1919
2195
  enterprise: string;
1920
2196
  asset: string;
@@ -1925,15 +2201,44 @@ export interface Probe {
1925
2201
  action: ICommandLineProbeAction | IHttpProbeAction | IGrpcProbeAction | ISocketProbeAction | string;
1926
2202
  /** Semantic version range in which this probe is applicable. */
1927
2203
  versionRange?: string | undefined;
2204
+ /** From [K8s docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes):
2205
+ * Number of seconds after the container has started before startup,
2206
+ * liveness or readiness probes are initiated.
2207
+ * If a startup probe is defined, liveness and readiness probe delays
2208
+ * do not begin until the startup probe has succeeded.
2209
+ * Defaults to 0 seconds. Minimum value is 0. */
1928
2210
  initialDelaySeconds?: number | undefined;
2211
+ /** From [K8s docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes):
2212
+ * How often (in seconds) to perform the probe.
2213
+ * Default to 10 seconds. The minimum value is 1. */
1929
2214
  periodSeconds?: number | undefined;
2215
+ /** How long to wait (in seconds) for a probe to respond before declaring it a failed execution.
2216
+ *
2217
+ * From [K8s docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes):
2218
+ * Number of seconds after which the probe times out.
2219
+ * Defaults to 1 second. Minimum value is 1. */
2220
+ timeoutSeconds?: number | undefined;
2221
+ /** Minimum consecutive successes for the probe to be considered successful
2222
+ * after having failed. Defaults to 1.
2223
+ * Must be 1 for liveness and startup Probes. Minimum value is 1. */
2224
+ successThreshold?: number | undefined;
2225
+ /** The number of probe executions to allow before determining the pod unhealthy.
2226
+ *
2227
+ * From [K8s docs](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes):
2228
+ * After a probe fails failureThreshold times in a row, Kubernetes considers that the overall check has failed:
2229
+ * the container is not ready/healthy/live.
2230
+ * For the case of a startup or liveness probe, if at least failureThreshold probes have failed,
2231
+ * Kubernetes treats the container as unhealthy and triggers a restart for that specific container.
2232
+ * The kubelet honors the setting of terminationGracePeriodSeconds for that container.
2233
+ * For a failed readiness probe, the kubelet continues running the container that failed checks,
2234
+ * and also continues to run more probes; because the check failed,
2235
+ * the kubelet sets the Ready condition on the Pod to false. */
2236
+ failureThreshold?: number | undefined;
1930
2237
  disabled?: boolean | undefined;
1931
2238
  id?: string | undefined;
1932
2239
  createdBy: string;
1933
2240
  modifiedBy: string;
1934
- /** Enables basic storage and retrieval of dates and times. */
1935
2241
  created: Date;
1936
- /** Enables basic storage and retrieval of dates and times. */
1937
2242
  modified: Date;
1938
2243
  }
1939
2244
  /** Type declaration for the Probe sub-class, determining the nature of its behavior and handling. */
@@ -1966,7 +2271,8 @@ export declare enum ProbeUsageTypesEnum {
1966
2271
  liveness = "liveness",
1967
2272
  readiness = "readiness",
1968
2273
  startup = "startup"
1969
- } /** A grouping of assets within an enterprise that are released together. */
2274
+ }
2275
+ /** A grouping of assets within an enterprise that are released together. */
1970
2276
  export interface Product {
1971
2277
  enterpriseCode: string;
1972
2278
  name: string;
@@ -1974,9 +2280,7 @@ export interface Product {
1974
2280
  id?: string | undefined;
1975
2281
  createdBy: string;
1976
2282
  modifiedBy: string;
1977
- /** Enables basic storage and retrieval of dates and times. */
1978
2283
  created: Date;
1979
- /** Enables basic storage and retrieval of dates and times. */
1980
2284
  modified: Date;
1981
2285
  }
1982
2286
  export interface ProductCriteria {
@@ -2008,10 +2312,14 @@ export interface ProductVersionConfig {
2008
2312
  id?: string | undefined;
2009
2313
  createdBy: string;
2010
2314
  modifiedBy: string;
2011
- /** Enables basic storage and retrieval of dates and times. */
2012
2315
  created: Date;
2013
- /** Enables basic storage and retrieval of dates and times. */
2014
2316
  modified: Date;
2317
+ /** Markdown block of instructions or other descriptions from the author about this particular version. */
2318
+ notes?: string | undefined;
2319
+ /** Key-value pairs (aka: property bag) for this particular version. */
2320
+ labels?: Label[] | undefined;
2321
+ /** Starting point for threaded discussions on this particular version. */
2322
+ comments?: Comment[] | undefined;
2015
2323
  }
2016
2324
  export interface ProductVersionConfigCriteria {
2017
2325
  enterpriseCode?: string | undefined;
@@ -2048,7 +2356,6 @@ export interface PropertiesTypeDef {
2048
2356
  /** Metadata for the credentials that a cluster will use when pulling images from an image registry.
2049
2357
  * This class points to a a specific secret record in a known secret store. */
2050
2358
  export interface PullSecretRef {
2051
- /** Enables basic storage and retrieval of dates and times. */
2052
2359
  expiresOn: Date;
2053
2360
  /** Applies to the creation of this instance of PullSecretRef, not necessarily the same as the secret itself in the secret store. */
2054
2361
  created: Date;
@@ -2153,10 +2460,8 @@ export interface ScopedConfig {
2153
2460
  targetFile: string;
2154
2461
  sourcedSettings?: ISourcedSetting[] | undefined;
2155
2462
  id?: string | undefined;
2156
- /** Enables basic storage and retrieval of dates and times. */
2157
2463
  modified: Date;
2158
2464
  modifiedBy: string;
2159
- /** Enables basic storage and retrieval of dates and times. */
2160
2465
  created: Date;
2161
2466
  createdBy: string;
2162
2467
  /** The contents of the config itself. The config file can be produced by writing this property to a file named by this.targetFile. */
@@ -2198,9 +2503,7 @@ export interface ScopedHostNameConfig {
2198
2503
  governs?: boolean | undefined;
2199
2504
  createdBy: string;
2200
2505
  modifiedBy: string;
2201
- /** Enables basic storage and retrieval of dates and times. */
2202
2506
  created: Date;
2203
- /** Enables basic storage and retrieval of dates and times. */
2204
2507
  modified: Date;
2205
2508
  }
2206
2509
  export interface ScopedHostNameConfigCriteria {
@@ -2239,9 +2542,7 @@ export interface ScopedSetting {
2239
2542
  id?: string | undefined;
2240
2543
  createdBy: string;
2241
2544
  modifiedBy: string;
2242
- /** Enables basic storage and retrieval of dates and times. */
2243
2545
  created: Date;
2244
- /** Enables basic storage and retrieval of dates and times. */
2245
2546
  modified: Date;
2246
2547
  }
2247
2548
  export interface ScopedSettingCriteria {
@@ -2286,7 +2587,8 @@ export declare enum ScopeLevel {
2286
2587
  cabinet = "cabinet",
2287
2588
  enterprise = "enterprise",
2288
2589
  environment = "environment"
2289
- } /** A cloud provider account for an individual user or application. */
2590
+ }
2591
+ /** A cloud provider account for an individual user or application. */
2290
2592
  export interface SecurityAccount {
2291
2593
  /** (guid) The id of the service principal, used when assigining permissions. eg: "bf52a5ea-3663-476c-bb54-aacf9a1b39db", */
2292
2594
  id: string;
@@ -2306,10 +2608,11 @@ export interface SecurityAccount {
2306
2608
  export declare enum SecurityAccountTypeEnum {
2307
2609
  managedIdentity = "managedIdentity",
2308
2610
  servicePrincipal = "servicePrincipal"
2309
- } /** An asset consisting of a k8s service
2611
+ }
2612
+ /** An asset consisting of a k8s service
2310
2613
  * backed by a pod replica set (generated via a k8s Deployment entity). */
2311
2614
  export interface ServiceAssetTemplate {
2312
- defaultPort: number;
2615
+ defaultPort: PortMapping | PortMapping | number[] | number;
2313
2616
  image: ImageSpec;
2314
2617
  defaultImageVersion?: string | undefined;
2315
2618
  assetType: AssetTypesEnum;
@@ -2344,9 +2647,7 @@ export interface SetupJournal {
2344
2647
  data: object;
2345
2648
  createdBy: string;
2346
2649
  modifiedBy: string;
2347
- /** Enables basic storage and retrieval of dates and times. */
2348
2650
  created: Date;
2349
- /** Enables basic storage and retrieval of dates and times. */
2350
2651
  modified: Date;
2351
2652
  }
2352
2653
  export interface SetupJournalCriteria {
@@ -2394,9 +2695,7 @@ export interface Snapshot {
2394
2695
  id?: string | undefined;
2395
2696
  createdBy: string;
2396
2697
  modifiedBy: string;
2397
- /** Enables basic storage and retrieval of dates and times. */
2398
2698
  created: Date;
2399
- /** Enables basic storage and retrieval of dates and times. */
2400
2699
  modified: Date;
2401
2700
  }
2402
2701
  export interface SnapshotCriteria {
@@ -2418,9 +2717,7 @@ export interface SourceRepo {
2418
2717
  id?: string | undefined;
2419
2718
  createdBy: string;
2420
2719
  modifiedBy: string;
2421
- /** Enables basic storage and retrieval of dates and times. */
2422
2720
  created: Date;
2423
- /** Enables basic storage and retrieval of dates and times. */
2424
2721
  modified: Date;
2425
2722
  }
2426
2723
  export interface SourceRepoCriteria {
@@ -2483,9 +2780,7 @@ export interface Subscription {
2483
2780
  enterprises: Enterprise[];
2484
2781
  createdBy: string;
2485
2782
  modifiedBy: string;
2486
- /** Enables basic storage and retrieval of dates and times. */
2487
2783
  created: Date;
2488
- /** Enables basic storage and retrieval of dates and times. */
2489
2784
  modified: Date;
2490
2785
  }
2491
2786
  export interface SubscriptionCriteria {
@@ -2509,19 +2804,12 @@ export declare enum SubscriptionStatus {
2509
2804
  pending = "pending",
2510
2805
  suspended = "suspended",
2511
2806
  trial = "trial"
2512
- } /** The token must be submitted in the
2807
+ }
2808
+ /** The token must be submitted in the
2513
2809
  * http header designated in the AuthSettings object for the auth api. */
2514
2810
  export interface SwitchTenantRequest {
2515
2811
  newTenantCode: string;
2516
2812
  }
2517
- export interface T {
2518
- }
2519
- export interface T_1 {
2520
- }
2521
- export interface T_2 {
2522
- }
2523
- export interface T_3 {
2524
- }
2525
2813
  export interface Tag {
2526
2814
  name: string;
2527
2815
  ownerType: string;
@@ -2530,9 +2818,7 @@ export interface Tag {
2530
2818
  id?: string | undefined;
2531
2819
  createdBy: string;
2532
2820
  modifiedBy: string;
2533
- /** Enables basic storage and retrieval of dates and times. */
2534
2821
  created: Date;
2535
- /** Enables basic storage and retrieval of dates and times. */
2536
2822
  modified: Date;
2537
2823
  }
2538
2824
  export interface TagCriteria {
@@ -2551,8 +2837,6 @@ export interface TagCriteria {
2551
2837
  * Example: ```[ "color", "lastName" ]``` */
2552
2838
  sort?: string[] | "asc" | "desc" | string | undefined;
2553
2839
  }
2554
- export interface TCriteria {
2555
- }
2556
2840
  export interface TenantRegistrationRequest {
2557
2841
  tenantName: string;
2558
2842
  newUser: boolean;
@@ -2576,7 +2860,6 @@ export interface TenantSubscriptionUpdate {
2576
2860
  totalSeats?: number | undefined;
2577
2861
  enabled?: boolean | undefined;
2578
2862
  status?: "cancelled" | "closed" | "current" | "overdue" | "pending" | "suspended" | "trial" | undefined;
2579
- /** Enables basic storage and retrieval of dates and times. */
2580
2863
  expiration?: Date | undefined;
2581
2864
  newName?: string | undefined;
2582
2865
  }
@@ -2633,9 +2916,7 @@ export interface VersionConfig {
2633
2916
  id?: string | undefined;
2634
2917
  createdBy: string;
2635
2918
  modifiedBy: string;
2636
- /** Enables basic storage and retrieval of dates and times. */
2637
2919
  created: Date;
2638
- /** Enables basic storage and retrieval of dates and times. */
2639
2920
  modified: Date;
2640
2921
  }
2641
2922
  export interface VersionConfigCriteria {
@@ -2661,14 +2942,11 @@ export interface VersionCreateActivity {
2661
2942
  type: ActivityTypeEnum;
2662
2943
  title: string;
2663
2944
  by: string;
2664
- /** Enables basic storage and retrieval of dates and times. */
2665
2945
  performed: Date;
2666
2946
  id?: string | undefined;
2667
2947
  createdBy: string;
2668
2948
  modifiedBy: string;
2669
- /** Enables basic storage and retrieval of dates and times. */
2670
2949
  created: Date;
2671
- /** Enables basic storage and retrieval of dates and times. */
2672
2950
  modified: Date;
2673
2951
  }
2674
2952
  export interface VersionCreateActivityCriteria {
@@ -2677,7 +2955,6 @@ export interface VersionCreateActivityCriteria {
2677
2955
  type?: string | undefined;
2678
2956
  title?: string | undefined;
2679
2957
  by?: string | undefined;
2680
- /** Enables basic storage and retrieval of dates and times. */
2681
2958
  performed?: Date | undefined;
2682
2959
  cabinet?: string | undefined;
2683
2960
  assetsName?: string | undefined;
@@ -2693,7 +2970,7 @@ export interface VersionCreateActivityCriteria {
2693
2970
  sort?: string[] | "asc" | "desc" | string | undefined;
2694
2971
  }
2695
2972
  export interface VersionGetsertRequest {
2696
- overlays: object[];
2973
+ overlays: AssetVersion[];
2697
2974
  enterpriseCode: string;
2698
2975
  startingEntVersion?: string | undefined;
2699
2976
  targetCabinet?: string | undefined;
@@ -2706,6 +2983,8 @@ export interface VersionGetsertRequest {
2706
2983
  export interface WeeklyTime {
2707
2984
  day: "fr" | "mo" | "sa" | "su" | "th" | "tu" | "we";
2708
2985
  hr24: "0" | "1" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" | "2" | "20" | "21" | "22" | "23" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
2986
+ /** DEVNOTE: Do these need to be strings? why not integers? */
2987
+ m?: string | undefined;
2709
2988
  }
2710
2989
  export interface WhoAmIRequest {
2711
2990
  }
@@ -2725,9 +3004,7 @@ export interface WorkFlowStrategy {
2725
3004
  id?: string | undefined;
2726
3005
  createdBy: string;
2727
3006
  modifiedBy: string;
2728
- /** Enables basic storage and retrieval of dates and times. */
2729
3007
  created: Date;
2730
- /** Enables basic storage and retrieval of dates and times. */
2731
3008
  modified: Date;
2732
3009
  }
2733
3010
  export interface WorkFlowStrategyCriteria {
@@ -2755,9 +3032,7 @@ export interface ZombiePeriod {
2755
3032
  id?: string | undefined;
2756
3033
  createdBy: string;
2757
3034
  modifiedBy: string;
2758
- /** Enables basic storage and retrieval of dates and times. */
2759
3035
  created: Date;
2760
- /** Enables basic storage and retrieval of dates and times. */
2761
3036
  modified: Date;
2762
3037
  }
2763
3038
  export interface ZombiePeriodCriteria {