@codiac.io/codiac-cli 1.3.64 → 1.3.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/apis/api-plus-local/api-client-plus-local.d.ts +31 -0
- package/dist/apis/api-plus-local/api-client-plus-local.js +242 -0
- package/dist/apis/api-plus-local/api-client-plus-local.js.map +1 -0
- package/dist/apis/api-plus-local/asset-where-entity-merger.d.ts +8 -0
- package/dist/apis/api-plus-local/asset-where-entity-merger.js +33 -0
- package/dist/apis/api-plus-local/asset-where-entity-merger.js.map +1 -0
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.d.ts +8 -0
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.js +43 -0
- package/dist/apis/api-plus-local/enterprise-state-entity-merger.js.map +1 -0
- package/dist/apis/api-plus-local/i-entity-merger.d.ts +4 -0
- package/dist/apis/api-plus-local/i-entity-merger.js +3 -0
- package/dist/apis/api-plus-local/i-entity-merger.js.map +1 -0
- package/dist/apis/api-plus-local/root-map-entity-merger.d.ts +8 -0
- package/dist/apis/api-plus-local/root-map-entity-merger.js +51 -0
- package/dist/apis/api-plus-local/root-map-entity-merger.js.map +1 -0
- package/dist/apis/codiac-api/common/api-client-base.js +9 -2
- package/dist/apis/codiac-api/common/api-client-base.js.map +1 -1
- package/dist/apis/codiac-api/common/api-crud-client-base.d.ts +22 -0
- package/dist/apis/codiac-api/common/api-crud-client-base.js +84 -0
- package/dist/apis/codiac-api/common/api-crud-client-base.js.map +1 -0
- package/dist/apis/codiac-api/gen/client.d.ts +58 -56
- package/dist/apis/codiac-api/gen/client.js +745 -11217
- package/dist/apis/codiac-api/gen/client.js.map +1 -1
- package/dist/apis/codiac-api/gen/contracts.d.ts +84 -67
- package/dist/apis/codiac-api/gen/contracts.js +15 -11
- package/dist/apis/codiac-api/gen/contracts.js.map +1 -1
- package/dist/apis/codiac-relay/common/api-client-base.js +12 -7
- package/dist/apis/codiac-relay/common/api-client-base.js.map +1 -1
- package/dist/apis/codiac-relay/common/api-crud-client-base.d.ts +22 -0
- package/dist/apis/codiac-relay/common/api-crud-client-base.js +84 -0
- package/dist/apis/codiac-relay/common/api-crud-client-base.js.map +1 -0
- package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js +6 -6
- package/dist/apis/codiac-relay/common/security/api-auth-methods-legacy.js.map +1 -1
- package/dist/apis/codiac-relay/common/utils.js +1 -1
- package/dist/apis/codiac-relay/common/utils.js.map +1 -1
- package/dist/apis/codiac-relay/gen/client.d.ts +816 -145
- package/dist/apis/codiac-relay/gen/client.js +4645 -1162
- package/dist/apis/codiac-relay/gen/client.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts.d.ts +1058 -155
- package/dist/apis/codiac-relay/gen/contracts.js +119 -27
- package/dist/apis/codiac-relay/gen/contracts.js.map +1 -1
- package/dist/codiac-entities/i-local-entity.d.ts +6 -0
- package/dist/codiac-entities/i-local-entity.js +3 -0
- package/dist/codiac-entities/i-local-entity.js.map +1 -0
- package/dist/command-base-enterprise.d.ts +0 -5
- package/dist/command-base-enterprise.js +41 -32
- package/dist/command-base-enterprise.js.map +1 -1
- package/dist/commands/asset/deploy.js +1 -1
- package/dist/commands/asset/recycle.js +5 -3
- package/dist/commands/asset/recycle.js.map +1 -1
- package/dist/commands/asset/undeploy.d.ts +2 -1
- package/dist/commands/asset/undeploy.js +33 -4
- package/dist/commands/asset/undeploy.js.map +1 -1
- package/dist/commands/asset/where.js +1 -1
- package/dist/commands/cabinet/obliterate.d.ts +21 -4
- package/dist/commands/cabinet/obliterate.js +94 -72
- package/dist/commands/cabinet/obliterate.js.map +1 -1
- package/dist/commands/config/import.js +3 -1
- package/dist/commands/config/import.js.map +1 -1
- package/dist/commands/env/add.js +3 -1
- package/dist/commands/env/add.js.map +1 -1
- package/dist/commands/environment/cluster/attach.js +5 -0
- package/dist/commands/environment/cluster/attach.js.map +1 -1
- package/dist/commands/environment/list.js +42 -20
- package/dist/commands/environment/list.js.map +1 -1
- package/dist/commands/filestore/capture.js.map +1 -1
- package/dist/commands/imageRegistry/capture.d.ts +1 -1
- package/dist/commands/imageRegistry/capture.js +10 -12
- package/dist/commands/imageRegistry/capture.js.map +1 -1
- package/dist/commands/noc/cluster/capture.js +1 -1
- package/dist/commands/noc/cluster/destroy.d.ts +29 -11
- package/dist/commands/noc/cluster/destroy.js +137 -124
- package/dist/commands/noc/cluster/destroy.js.map +1 -1
- package/dist/commands/noc/cluster/list.js +4 -1
- package/dist/commands/noc/cluster/list.js.map +1 -1
- package/dist/commands/noc/cluster/recreate.js +1 -3
- package/dist/commands/noc/cluster/recreate.js.map +1 -1
- package/dist/commands/portal.js +11 -11
- package/dist/commands/portal.js.map +1 -1
- package/dist/ops/entities/cli-config.d.ts +1 -0
- package/dist/ops/entities/cli-config.js.map +1 -1
- package/dist/relay/relay-container.d.ts +2 -1
- package/dist/relay/relay-container.js +18 -6
- package/dist/relay/relay-container.js.map +1 -1
- package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js +1 -0
- package/dist/uilogic/cloud-resource-configurators/azure-resource-configurator.js.map +1 -1
- package/dist/uilogic/image-registry-contextualizer.js +1 -1
- package/dist/uilogic/image-registry-contextualizer.js.map +1 -1
- package/dist/uilogic/rootmap-ui-utils.js +5 -5
- package/dist/uilogic/rootmap-ui-utils.js.map +1 -1
- package/oclif.manifest.json +117 -45
- package/package.json +6 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SingleResult } from "@codiac.io/codiac-common/contracts";
|
|
1
|
+
import { BatchResult, SingleResult } from "@codiac.io/codiac-common/contracts";
|
|
2
2
|
export interface AccessGrant {
|
|
3
3
|
userId: string;
|
|
4
4
|
level?: string | undefined;
|
|
@@ -13,12 +13,28 @@ export interface AndOrNot {
|
|
|
13
13
|
or?: string[] | undefined;
|
|
14
14
|
not?: string[] | undefined;
|
|
15
15
|
}
|
|
16
|
+
/** Boolean logic filter for string values. Useful for querying on tags */
|
|
17
|
+
export interface AndOrNotFilter {
|
|
18
|
+
property?: string | undefined;
|
|
19
|
+
/** DO NOT USE THIS: It is confusing, and it is only here to comply with IFilter. */
|
|
20
|
+
$not?: AndOrNotFilter | undefined;
|
|
21
|
+
and?: string[] | undefined;
|
|
22
|
+
or?: string[] | undefined;
|
|
23
|
+
not?: string[] | undefined;
|
|
24
|
+
}
|
|
16
25
|
/** An expiring token scoped for a specific repository and actions within it. */
|
|
17
26
|
export interface ApiAuthToken {
|
|
27
|
+
/** The content of a bearer token without its header prefix.
|
|
28
|
+
* ie: the Authorization http header will need this value to be prefixed with "Bearer". */
|
|
18
29
|
token: string;
|
|
30
|
+
/** The name of the entity on/in which actions will be performed with this token (eg: for a registry token, this would be the image name). */
|
|
19
31
|
actionScope: string;
|
|
32
|
+
/** The Access Control List (ACL) of permissions this token has been granted. eg: pull, push, *. */
|
|
20
33
|
permissions: string[];
|
|
34
|
+
/** The instant after which this token will fail to authenticate a registry request. */
|
|
21
35
|
expirationUtc: Date;
|
|
36
|
+
refreshToken?: string | undefined;
|
|
37
|
+
meta?: IApiAuthTokenMeta | undefined;
|
|
22
38
|
}
|
|
23
39
|
export interface ApiReadyState {
|
|
24
40
|
currentState: ApiReadyStateEnum;
|
|
@@ -30,12 +46,132 @@ export declare enum ApiReadyStateEnum {
|
|
|
30
46
|
ready = "ready",
|
|
31
47
|
reflecting = "reflecting"
|
|
32
48
|
}
|
|
49
|
+
/** A functional unit that is published as an individual container.
|
|
50
|
+
* Could be an api, service, web app, cloud function, or any other type of containerized executable system. */
|
|
51
|
+
export interface Asset {
|
|
52
|
+
enterprise: string;
|
|
53
|
+
code: string;
|
|
54
|
+
name: string;
|
|
55
|
+
image: Image;
|
|
56
|
+
port: PortMapping | PortMapping | number[] | number;
|
|
57
|
+
hasIngress: boolean;
|
|
58
|
+
routedWithoutName: boolean;
|
|
59
|
+
id?: string | undefined;
|
|
60
|
+
/** An asset may be a constituent of only one product.
|
|
61
|
+
* NOTE: This setting applies to product versions moving forward,
|
|
62
|
+
* and historical product versions remain intact with whatever assets the product included at the time. */
|
|
63
|
+
product?: string | undefined;
|
|
64
|
+
/** (Optional: defaults to "service") Differentiator for various asset behaviors (eg: "job" or "helm"). */
|
|
65
|
+
type?: "helm" | "job" | "service" | undefined;
|
|
66
|
+
/** (Optional: defaults to built-in deploymment-labeling convention) Boolean logic by which to recognize the pods
|
|
67
|
+
* that belong to this asset among all the other pods in a namespace.
|
|
68
|
+
* This property is an array type to allow for an asset to have multiple pod specs that each may have their own replicas.
|
|
69
|
+
*
|
|
70
|
+
* eg: a simple asset just looks for...
|
|
71
|
+
* ```
|
|
72
|
+
* (p,a) => x.metadata?labels["AssetName"] == a
|
|
73
|
+
* ```
|
|
74
|
+
*
|
|
75
|
+
* eg: an asset, such as cert manager, with multiple kinds of pods, would have multiple custom pod filters, such as...
|
|
76
|
+
* ```
|
|
77
|
+
* (p,a) => p.metadata?labels["app.kubernetes.io/component"] == "cainjector" && p.metadata?labels["app.kubernetes.io/name"] == "cert-manager"
|
|
78
|
+
* (p,a) => p.metadata?labels["app.kubernetes.io/component"] == "webhook" && p.metadata?labels["app.kubernetes.io/name"] == "cert-manager"
|
|
79
|
+
* (p,a) => p.metadata?labels["app.kubernetes.io/component"] == "controller" && p.metadata?labels["app.kubernetes.io/name"] == "cert-manager"
|
|
80
|
+
* ``` */
|
|
81
|
+
customPodFilters?: object[] | undefined;
|
|
82
|
+
/** Abstract declarations of folder paths inside the image
|
|
83
|
+
* that are to be later mapped (at configuration time) to file store definitions.
|
|
84
|
+
*
|
|
85
|
+
* NOTE: These reservations only OPTIONALLY reference existing file stores;
|
|
86
|
+
* they merely declare a folder path for a file store to be mapped
|
|
87
|
+
* later, when the asset gets configured for use in various cabinets. */
|
|
88
|
+
reservedFolders?: AssetFolderReservation[] | undefined;
|
|
89
|
+
/** Declares means by which the container platform can check health and readiness of the assets at runtime. */
|
|
90
|
+
probes?: Probe[] | undefined;
|
|
91
|
+
/** Overrides for the the container startup command. */
|
|
92
|
+
entryPoints?: EntryPoint[] | undefined;
|
|
93
|
+
/** Rules for the selecting which nodes on which this asset will be run (aka: NodeSelectors, affinities, and taints). */
|
|
94
|
+
nodeRequirements?: NodePlacement[] | undefined;
|
|
95
|
+
/** Scripts to run (via init containers) before the asset's own container starts. */
|
|
96
|
+
beforeStartup?: InitContainer[] | undefined;
|
|
97
|
+
/** Command line script (NOT run within a shell) to run within the asset container
|
|
98
|
+
* AFTER the asset has succcessfully completed its startup.
|
|
99
|
+
*
|
|
100
|
+
* From K8s Docs:
|
|
101
|
+
* Management of the container blocks until this action is complete,
|
|
102
|
+
* unless the container process fails, in which case the handler is aborted.
|
|
103
|
+
*
|
|
104
|
+
* called immediately after a container is created.
|
|
105
|
+
* If the handler fails, the container is terminated and restarted according to its restart policy.
|
|
106
|
+
* Other management of the container blocks until the hook completes.
|
|
107
|
+
* More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
|
|
108
|
+
*
|
|
109
|
+
* The working directory for the command is root ('/') in the container's filesystem.
|
|
110
|
+
* The command is simply exec'd, it is NOT run inside a shell,
|
|
111
|
+
* so traditional shell instructions ('|', etc) won't work.
|
|
112
|
+
* To use a shell, you need to explicitly call out to that shell.
|
|
113
|
+
* Exit status of 0 is treated as live/healthy and non-zero is unhealthy. */
|
|
114
|
+
postStartup?: string[] | undefined;
|
|
115
|
+
/** Enable this setting to allow http (ie: non-SSL/TLS) requests in through the ingress controller without getting redirected to https.
|
|
116
|
+
*
|
|
117
|
+
* That is, Setting this to true will prevent the ingress controller from invoking an automatic redirect to https on any inbound http requests. */
|
|
118
|
+
allowHttp?: boolean | undefined;
|
|
119
|
+
/** (Applies only when `hasIngress=true`, defaults to false, aka: external)
|
|
120
|
+
* indicates whether this asset shall be available
|
|
121
|
+
* only through the internal ingress controller.
|
|
122
|
+
*
|
|
123
|
+
* NOTE: When set, this asset will only be accessible
|
|
124
|
+
* on a cluster with an internal ingress controller. */
|
|
125
|
+
ingressInternal?: boolean | undefined;
|
|
126
|
+
/** Freeform url paths to use as an override for the asset code property
|
|
127
|
+
* when assembling ingress routing
|
|
128
|
+
* for domain mapping strategies
|
|
129
|
+
* that place the "service" segment
|
|
130
|
+
* into the url path.
|
|
131
|
+
*
|
|
132
|
+
* *NOTE: Each entry must be unique within the enterprise,
|
|
133
|
+
* cannot be null or empty,
|
|
134
|
+
* cannot start or end with a slash character,
|
|
135
|
+
* and must uniquely identify this asset within the enterprise.*
|
|
136
|
+
*
|
|
137
|
+
* eg:
|
|
138
|
+
*
|
|
139
|
+
* For a domain mapping strategy: `cab-dot-domain-slash-service`
|
|
140
|
+
*
|
|
141
|
+
* and an asset with code: `my-api`
|
|
142
|
+
*
|
|
143
|
+
* When `mydomain.com` gets applied to cabinet `dev`,
|
|
144
|
+
* default ingress routing will yield: `dev.mydomain.com/my-api`
|
|
145
|
+
*
|
|
146
|
+
* So. Adding a path `v1/the-api` to this property
|
|
147
|
+
* will INSTEAD yield an ingress rule supporting this url:
|
|
148
|
+
*
|
|
149
|
+
* `dev.domain.com/v1/the-api`
|
|
150
|
+
*
|
|
151
|
+
* 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.* */
|
|
152
|
+
ingressPaths?: string[] | undefined;
|
|
153
|
+
createdBy: string;
|
|
154
|
+
modifiedBy: string;
|
|
155
|
+
created: Date;
|
|
156
|
+
modified: Date;
|
|
157
|
+
}
|
|
33
158
|
export interface AssetConfigSchemaRequest {
|
|
34
159
|
enterprise: string;
|
|
35
160
|
asset: string;
|
|
36
161
|
configType: ConfigDefTypesEnum;
|
|
37
162
|
targetFile?: string | undefined;
|
|
38
163
|
}
|
|
164
|
+
/** Overall hashcode plus individual hashcodes for all the concrete rendered configs of a given asset.
|
|
165
|
+
* (scope has been deliberately left out bc this class is to be included in a contextual object itself,
|
|
166
|
+
* (such as a CabinetState). This way it could be part of a given concrete cabinet deployment,
|
|
167
|
+
* or just to a given scope within the config tree).
|
|
168
|
+
*
|
|
169
|
+
* (useful for diff/change detection). */
|
|
170
|
+
export interface AssetConfigState {
|
|
171
|
+
asset: string;
|
|
172
|
+
hash: string;
|
|
173
|
+
configs: object;
|
|
174
|
+
}
|
|
39
175
|
/** Abstract declarations of folder paths inside the image
|
|
40
176
|
* that are to be later mapped (at configuration time) to file store definitions. */
|
|
41
177
|
export interface AssetFolderReservation {
|
|
@@ -51,6 +187,15 @@ export interface AssetFolderReservation {
|
|
|
51
187
|
* to which this folder will get mapped, unless configured otherwise. */
|
|
52
188
|
defaultFileStore?: string | undefined;
|
|
53
189
|
}
|
|
190
|
+
/** Identifies a single asset, either by id
|
|
191
|
+
* or by one of its composite indexes (enterprise/name or enterprise/code),
|
|
192
|
+
* as defined by the unique indexes declared in the AssetDataMap. */
|
|
193
|
+
export interface AssetIdentifier {
|
|
194
|
+
id?: string | undefined;
|
|
195
|
+
enterprise?: string | undefined;
|
|
196
|
+
name?: string | undefined;
|
|
197
|
+
code?: string | undefined;
|
|
198
|
+
}
|
|
54
199
|
/** Identifies a single asset replica (in Codiac terms). */
|
|
55
200
|
export interface AssetReplicaContext {
|
|
56
201
|
asset: string;
|
|
@@ -134,6 +279,11 @@ export interface AsyncAck {
|
|
|
134
279
|
correlationId: string;
|
|
135
280
|
taskMap: TaskMap;
|
|
136
281
|
}
|
|
282
|
+
export interface AssetWhereRequest {
|
|
283
|
+
asset: string;
|
|
284
|
+
/** Optional unless there are more than one. */
|
|
285
|
+
enterprise?: string | undefined;
|
|
286
|
+
}
|
|
137
287
|
export interface AuthRole {
|
|
138
288
|
name: string;
|
|
139
289
|
id?: string | undefined;
|
|
@@ -198,6 +348,32 @@ export interface AzureAcr {
|
|
|
198
348
|
location: string;
|
|
199
349
|
loginServer: string;
|
|
200
350
|
}
|
|
351
|
+
/** Abstraction and specification for a share on a file store,
|
|
352
|
+
* to be mapped to a reserved folder on an asset.
|
|
353
|
+
*
|
|
354
|
+
* This class can be used as the specification
|
|
355
|
+
* to programmatically put up and take down concrete file stores.
|
|
356
|
+
* As such, it outlives the actual entity described by its "instance" property.
|
|
357
|
+
*
|
|
358
|
+
* @param name The name by which to identify this fileshare definition within the enterprise (Optional: defaults to the shareName).
|
|
359
|
+
* @param type Indicator of which type of fileshare resource is being used.
|
|
360
|
+
* @param storageAccount The name within the cloud provider of the file storage account within which the share resides.
|
|
361
|
+
* @param shareName The name of the fileshare to connect to within the file storage account.
|
|
362
|
+
* @param providerSubscriptionId The Id of the physical Cloud Provider Subscription in which this filestore exists (Azure-specific).
|
|
363
|
+
* @param resourceGroup The name of the Azure resource group under which the instance is to be created (Azure-specific).
|
|
364
|
+
* @param instance Info describing the concrete instance of this file store actually living within a cloud provider subscription.
|
|
365
|
+
*/
|
|
366
|
+
export interface AzureFileStoreDef extends FileStoreDef {
|
|
367
|
+
storageAccount: string;
|
|
368
|
+
resourceGroup: string;
|
|
369
|
+
instance?: AzureFileStoreInstance | undefined;
|
|
370
|
+
}
|
|
371
|
+
/** Metadata describing an existing concrete instance
|
|
372
|
+
* of a FileStoreDef resource within a cloud provider. */
|
|
373
|
+
export interface AzureFileStoreInstance extends FileStoreInfrx {
|
|
374
|
+
resourceGroup: string;
|
|
375
|
+
accessKey: string;
|
|
376
|
+
}
|
|
201
377
|
/** Use the `name` property as the human readable identifier to declare a location in a contract.
|
|
202
378
|
*
|
|
203
379
|
* EXAMPLE:
|
|
@@ -325,8 +501,6 @@ export interface AzUser {
|
|
|
325
501
|
name: string;
|
|
326
502
|
type: string;
|
|
327
503
|
}
|
|
328
|
-
export interface Boolean {
|
|
329
|
-
}
|
|
330
504
|
/** Raw data is stored in instances of the Buffer class.
|
|
331
505
|
* A Buffer is similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap. A Buffer cannot be resized.
|
|
332
506
|
* Valid string encodings: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex' */
|
|
@@ -390,6 +564,14 @@ export interface CabinetAssetList {
|
|
|
390
564
|
cabinetName: string;
|
|
391
565
|
assetNames: string[];
|
|
392
566
|
}
|
|
567
|
+
export interface CabinetAssetVersion {
|
|
568
|
+
enterprise: string;
|
|
569
|
+
environment: string;
|
|
570
|
+
cabinet: string;
|
|
571
|
+
asset: string;
|
|
572
|
+
enterpriseVersion?: string | undefined;
|
|
573
|
+
assetVersion?: string | undefined;
|
|
574
|
+
}
|
|
393
575
|
/** A reference to an cabinet and the cluster it's in. */
|
|
394
576
|
export interface CabinetClusterRoot {
|
|
395
577
|
name: string;
|
|
@@ -407,6 +589,39 @@ export interface CabinetClusterScope {
|
|
|
407
589
|
name: string;
|
|
408
590
|
cluster?: string | undefined;
|
|
409
591
|
}
|
|
592
|
+
export interface CabinetCriteria {
|
|
593
|
+
name?: StringFilter | undefined;
|
|
594
|
+
enterpriseCode?: string | undefined;
|
|
595
|
+
environment?: string | undefined;
|
|
596
|
+
cluster?: string | undefined;
|
|
597
|
+
branch?: StringFilter | undefined;
|
|
598
|
+
/** Boolean logic filter for string values. Useful for querying on tags */
|
|
599
|
+
tags?: AndOrNotFilter | undefined;
|
|
600
|
+
ids?: string[] | undefined;
|
|
601
|
+
all?: boolean | undefined;
|
|
602
|
+
/** supports a single field name
|
|
603
|
+
* ```json
|
|
604
|
+
* "sort": "name"
|
|
605
|
+
* ```
|
|
606
|
+
* or an array of field names
|
|
607
|
+
* ```json
|
|
608
|
+
* "sort": ["name", "lastModified~desc"]
|
|
609
|
+
* ```
|
|
610
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
611
|
+
* ```json
|
|
612
|
+
* "sort": {
|
|
613
|
+
* "name": "asc",
|
|
614
|
+
* "lastModified": "desc"
|
|
615
|
+
* }
|
|
616
|
+
* ```
|
|
617
|
+
*
|
|
618
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
619
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
620
|
+
skip?: number | undefined;
|
|
621
|
+
take?: number | undefined;
|
|
622
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
623
|
+
reverse?: number | boolean | undefined;
|
|
624
|
+
}
|
|
410
625
|
/** Attributes for referencing and creating actual running resources that comprise the infrastructure for a cabinet.
|
|
411
626
|
* That is, this is the pertinent information required to manage an actual physical implementation of a cabinet. */
|
|
412
627
|
export interface CabinetInfrastructure {
|
|
@@ -465,6 +680,13 @@ export interface CabinetSelector {
|
|
|
465
680
|
* * `none`: targets only cabinets that have **none** of the given tags (aka: NOT logic). */
|
|
466
681
|
matchTags?: AnyAllNoneEnum | undefined;
|
|
467
682
|
}
|
|
683
|
+
/** Manifest of all versions and configs currently deployed to a specific cabinet. */
|
|
684
|
+
export interface CabinetState {
|
|
685
|
+
enterprise: string;
|
|
686
|
+
cabinet: string;
|
|
687
|
+
cluster: string;
|
|
688
|
+
contents?: DeployedState | undefined;
|
|
689
|
+
}
|
|
468
690
|
/** Identifier for a supported cloud service provider, for use in selecting infrastructure clients, provisioners, and credentials. */
|
|
469
691
|
export declare enum CloudProviderEnum {
|
|
470
692
|
artifactHub = "artifactHub",
|
|
@@ -496,8 +718,12 @@ export interface ClusterAccessGrantRequest {
|
|
|
496
718
|
clusterName: string;
|
|
497
719
|
users: AccessGrant | string[];
|
|
498
720
|
}
|
|
721
|
+
export interface ClusterAttachRequest {
|
|
722
|
+
environmentId: string;
|
|
723
|
+
cluster: string;
|
|
724
|
+
}
|
|
499
725
|
export interface ClusterConnectionRequest {
|
|
500
|
-
cluster?: string;
|
|
726
|
+
cluster?: string | undefined;
|
|
501
727
|
cabinet?: {
|
|
502
728
|
enterprise: string;
|
|
503
729
|
environment: string;
|
|
@@ -571,23 +797,78 @@ export interface ClusterDefaults {
|
|
|
571
797
|
nodeCount: number;
|
|
572
798
|
nodePools: NodePoolDef[];
|
|
573
799
|
}
|
|
574
|
-
export interface
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
800
|
+
export interface ClusterDefCriteria {
|
|
801
|
+
name?: StringFilter | undefined;
|
|
802
|
+
providerSubscription?: string | undefined;
|
|
803
|
+
providerGroup?: string | undefined;
|
|
804
|
+
locationName?: string | undefined;
|
|
805
|
+
hasInstance?: boolean | undefined;
|
|
806
|
+
privateOwner?: string | undefined;
|
|
807
|
+
ids?: string[] | undefined;
|
|
808
|
+
all?: boolean | undefined;
|
|
809
|
+
/** supports a single field name
|
|
810
|
+
* ```json
|
|
811
|
+
* "sort": "name"
|
|
812
|
+
* ```
|
|
813
|
+
* or an array of field names
|
|
814
|
+
* ```json
|
|
815
|
+
* "sort": ["name", "lastModified~desc"]
|
|
816
|
+
* ```
|
|
817
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
818
|
+
* ```json
|
|
819
|
+
* "sort": {
|
|
820
|
+
* "name": "asc",
|
|
821
|
+
* "lastModified": "desc"
|
|
822
|
+
* }
|
|
823
|
+
* ```
|
|
824
|
+
*
|
|
825
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
826
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
827
|
+
skip?: number | undefined;
|
|
828
|
+
take?: number | undefined;
|
|
829
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
830
|
+
reverse?: number | boolean | undefined;
|
|
578
831
|
}
|
|
579
|
-
export interface
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
832
|
+
export interface ClusterDetachRequest {
|
|
833
|
+
environmentId: string;
|
|
834
|
+
cluster: string;
|
|
835
|
+
}
|
|
836
|
+
export interface ClusterWithIngress {
|
|
837
|
+
name: string;
|
|
838
|
+
provider: CloudProviderEnum;
|
|
839
|
+
providerSubscriptionId: string;
|
|
840
|
+
locationName: string;
|
|
841
|
+
k8sVersion: string;
|
|
842
|
+
ingressIp?: string | undefined;
|
|
843
|
+
modified?: Date | undefined;
|
|
844
|
+
modifiedBy?: string | undefined;
|
|
845
|
+
created?: Date | undefined;
|
|
846
|
+
createdBy?: string | undefined;
|
|
585
847
|
}
|
|
586
848
|
/** Specs describing an available WebSocket on which the client and server
|
|
587
849
|
* can exchange messages related to a given transaction. */
|
|
588
850
|
export interface CommChannelRef {
|
|
589
851
|
socketId: string;
|
|
590
852
|
}
|
|
853
|
+
/** A key-value pair applied to an entity in an enterprise. */
|
|
854
|
+
export interface Comment {
|
|
855
|
+
markdown: string;
|
|
856
|
+
ownerType: string;
|
|
857
|
+
ownerId: string;
|
|
858
|
+
enterprise: string;
|
|
859
|
+
/** Optional subject line of the comment. For use when larger comments are typical (such as in product reviews) */
|
|
860
|
+
headline?: string | undefined;
|
|
861
|
+
/** Indicates that this comment can be rendered just as an emoji decoration instead of as a full comment. */
|
|
862
|
+
isEmoji?: boolean | undefined;
|
|
863
|
+
/** The id of the comment (if any) that this one is responding to. */
|
|
864
|
+
parentId?: string | undefined;
|
|
865
|
+
responses?: Comment[] | undefined;
|
|
866
|
+
id?: string | undefined;
|
|
867
|
+
createdBy: string;
|
|
868
|
+
modifiedBy: string;
|
|
869
|
+
created: Date;
|
|
870
|
+
modified: Date;
|
|
871
|
+
}
|
|
591
872
|
/** Values of ScopedSetting.targetFile for NON-FILE configs. */
|
|
592
873
|
export declare enum ConfigDefTypesEnum {
|
|
593
874
|
annotation = "annotation",
|
|
@@ -599,28 +880,66 @@ export declare enum ConfigDefTypesEnum {
|
|
|
599
880
|
label = "label",
|
|
600
881
|
probing = "probing"
|
|
601
882
|
}
|
|
602
|
-
/**
|
|
603
|
-
*
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
/** NOTE: Property names cannot overlap with optionalProperties. */
|
|
610
|
-
optionalProperties: object;
|
|
611
|
-
/** Indicates that properties may be added that are not defined in the schema. */
|
|
612
|
-
additionalProperties?: boolean | undefined;
|
|
613
|
-
nullable?: boolean | undefined;
|
|
614
|
-
metadata?: any | undefined;
|
|
883
|
+
/** An object representation of a config file, assembled from ScopedSettings.
|
|
884
|
+
* This document can take any form, and is constructed solely from settings and values,
|
|
885
|
+
* with all meta information omitted to preserve the integrity of the ultimate config file.
|
|
886
|
+
* NOTE: To view the list of un-smashed settings with metadata from which this document is assembled,
|
|
887
|
+
* fire the same request object against the ScopedSetting endpoint. */
|
|
888
|
+
export interface ConfigDoc {
|
|
889
|
+
id?: string | undefined;
|
|
615
890
|
}
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
891
|
+
export interface ConfigDocSpecForOne {
|
|
892
|
+
enterprise: string;
|
|
893
|
+
asset: string;
|
|
894
|
+
targetFile: string;
|
|
895
|
+
cabinet: string;
|
|
896
|
+
ids?: string[] | undefined;
|
|
897
|
+
all?: boolean | undefined;
|
|
898
|
+
/** supports a single field name
|
|
899
|
+
* ```json
|
|
900
|
+
* "sort": "name"
|
|
901
|
+
* ```
|
|
902
|
+
* or an array of field names
|
|
903
|
+
* ```json
|
|
904
|
+
* "sort": ["name", "lastModified~desc"]
|
|
905
|
+
* ```
|
|
906
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
907
|
+
* ```json
|
|
908
|
+
* "sort": {
|
|
909
|
+
* "name": "asc",
|
|
910
|
+
* "lastModified": "desc"
|
|
911
|
+
* }
|
|
912
|
+
* ```
|
|
913
|
+
*
|
|
914
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
915
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
916
|
+
skip?: number | undefined;
|
|
917
|
+
take?: number | undefined;
|
|
918
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
919
|
+
reverse?: number | boolean | undefined;
|
|
920
|
+
}
|
|
921
|
+
/** Structure of settings and their data types supported by an Asset.
|
|
922
|
+
* (ie: structure of a config file, environment variable list, Asset attributes, etc.) */
|
|
923
|
+
export interface ConfigSchema {
|
|
924
|
+
definitions: object;
|
|
925
|
+
/** All properties declared here are required.
|
|
926
|
+
* NOTE: Property names cannot overlap with optionalProperties. */
|
|
927
|
+
properties: object;
|
|
928
|
+
/** NOTE: Property names cannot overlap with optionalProperties. */
|
|
929
|
+
optionalProperties: object;
|
|
930
|
+
/** Indicates that properties may be added that are not defined in the schema. */
|
|
931
|
+
additionalProperties?: boolean | undefined;
|
|
932
|
+
nullable?: boolean | undefined;
|
|
933
|
+
metadata?: any | undefined;
|
|
934
|
+
}
|
|
935
|
+
/** The resource allocation profile that will be assigned
|
|
936
|
+
* to a given app/service/component container in the customer's inventory.
|
|
937
|
+
* Declares requested and maximum memory, cpu, and replicas.
|
|
938
|
+
* Future: This class is where we would declare container affinity. */
|
|
939
|
+
export interface ContainerFootprint {
|
|
940
|
+
assetName: string;
|
|
941
|
+
replicas: number;
|
|
942
|
+
cpuRequest?: string | undefined;
|
|
624
943
|
cpuLimit?: string | undefined;
|
|
625
944
|
memRequest?: string | undefined;
|
|
626
945
|
memLimit?: string | undefined;
|
|
@@ -636,13 +955,6 @@ export interface CreateClusterAck extends AsyncAck {
|
|
|
636
955
|
correlationId: string;
|
|
637
956
|
taskMap: TaskMap;
|
|
638
957
|
}
|
|
639
|
-
export interface CreateClusterRequest {
|
|
640
|
-
spec?: ClusterDef | undefined;
|
|
641
|
-
acrs?: object[] | undefined;
|
|
642
|
-
userContext?: UserContext | undefined;
|
|
643
|
-
codiacAPiUrl?: string | undefined;
|
|
644
|
-
skipInit?: Boolean | undefined;
|
|
645
|
-
}
|
|
646
958
|
export interface CreateClusterRequestAsync {
|
|
647
959
|
spec?: ClusterDef | undefined;
|
|
648
960
|
skipInit?: boolean | undefined;
|
|
@@ -664,14 +976,6 @@ export interface CreateClusterRequestAsync {
|
|
|
664
976
|
userContext?: UserContext | undefined;
|
|
665
977
|
codiacAPiUrl?: string | undefined;
|
|
666
978
|
}
|
|
667
|
-
export interface CreateClusterResponse {
|
|
668
|
-
clusterDef?: ClusterDef | undefined;
|
|
669
|
-
success: boolean;
|
|
670
|
-
message?: string | undefined;
|
|
671
|
-
error?: Error | undefined;
|
|
672
|
-
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
673
|
-
validation?: IValidationStatus | undefined;
|
|
674
|
-
}
|
|
675
979
|
export type CredentialType = "client_credentials" | "username_password" | "refresh_token";
|
|
676
980
|
/** This is actually the result returned (via querystring params on a redirect)
|
|
677
981
|
* by the external csp login service,
|
|
@@ -718,7 +1022,7 @@ export interface CspLoginAuthCodeCatcherRequest {
|
|
|
718
1022
|
/** (Successful scenario) */
|
|
719
1023
|
session_state?: string | undefined;
|
|
720
1024
|
/** Cloud Service Provider (CSP) code. eg: `azure`, `aws`, etc. */
|
|
721
|
-
providerCode?: "aws" | "azure" | "dockerHub" | "other" | undefined;
|
|
1025
|
+
providerCode?: "artifactHub" | "aws" | "azure" | "dockerHub" | "other" | undefined;
|
|
722
1026
|
/** (Access Token Error scenario) A list of STS-specific error codes that can help in diagnostics. */
|
|
723
1027
|
error_codes?: string[] | undefined;
|
|
724
1028
|
/** (Access Token Error scenario) The time at which the error occurred. */
|
|
@@ -764,9 +1068,66 @@ export interface CspLogoutInteractiveResponse {
|
|
|
764
1068
|
/** Will be undefined if we have no tokens or credentials cached. */
|
|
765
1069
|
cspUserName?: string | undefined;
|
|
766
1070
|
}
|
|
1071
|
+
export interface CspPrimaryCredsMeta {
|
|
1072
|
+
tenantCode: string;
|
|
1073
|
+
provider: CloudProviderEnum;
|
|
1074
|
+
username: string;
|
|
1075
|
+
created: Date;
|
|
1076
|
+
/** eg: The AccountId in AWS or SubscriptionId in Azure. */
|
|
1077
|
+
subscriptionId?: string | undefined;
|
|
1078
|
+
expiration?: Date | undefined;
|
|
1079
|
+
modified?: Date | undefined;
|
|
1080
|
+
}
|
|
767
1081
|
export interface CspTokenAndUserMeta {
|
|
768
1082
|
tokenObject: ApiAuthToken;
|
|
769
|
-
cspUser:
|
|
1083
|
+
cspUser: ICspPrimaryCredsMeta;
|
|
1084
|
+
}
|
|
1085
|
+
/** Access Control List (ACL) to be applied to any new child entity created within the parent.
|
|
1086
|
+
*
|
|
1087
|
+
* Only stands as a default template for permissions on FUTURE new child entities;
|
|
1088
|
+
* DOES NOT get directly used to enforce permissions on any existing ones. */
|
|
1089
|
+
export interface DefaultChildAcl {
|
|
1090
|
+
parentType: string;
|
|
1091
|
+
parentId: string;
|
|
1092
|
+
childType: string;
|
|
1093
|
+
dotPath: string;
|
|
1094
|
+
permissions: object;
|
|
1095
|
+
/** This is a composite key enforcing uniqueness on a single instance of the entity type. (ie: there can be only one of these per entity id) */
|
|
1096
|
+
id: string;
|
|
1097
|
+
createdBy: string;
|
|
1098
|
+
modifiedBy: string;
|
|
1099
|
+
created: Date;
|
|
1100
|
+
modified: Date;
|
|
1101
|
+
}
|
|
1102
|
+
export interface DefaultChildAclCriteria {
|
|
1103
|
+
ids?: string[] | undefined;
|
|
1104
|
+
all?: boolean | undefined;
|
|
1105
|
+
parentType?: string | undefined;
|
|
1106
|
+
parentId?: string | undefined;
|
|
1107
|
+
childType?: string | undefined;
|
|
1108
|
+
dotPath?: string | undefined;
|
|
1109
|
+
/** supports a single field name
|
|
1110
|
+
* ```json
|
|
1111
|
+
* "sort": "name"
|
|
1112
|
+
* ```
|
|
1113
|
+
* or an array of field names
|
|
1114
|
+
* ```json
|
|
1115
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1116
|
+
* ```
|
|
1117
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1118
|
+
* ```json
|
|
1119
|
+
* "sort": {
|
|
1120
|
+
* "name": "asc",
|
|
1121
|
+
* "lastModified": "desc"
|
|
1122
|
+
* }
|
|
1123
|
+
* ```
|
|
1124
|
+
*
|
|
1125
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1126
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1127
|
+
skip?: number | undefined;
|
|
1128
|
+
take?: number | undefined;
|
|
1129
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1130
|
+
reverse?: number | boolean | undefined;
|
|
770
1131
|
}
|
|
771
1132
|
export interface DeleteClusterInstanceRequest {
|
|
772
1133
|
name?: string | undefined;
|
|
@@ -782,6 +1143,43 @@ export interface DeleteClusterInstanceResponse {
|
|
|
782
1143
|
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
783
1144
|
validation?: IValidationStatus | undefined;
|
|
784
1145
|
}
|
|
1146
|
+
export interface DeployAttempt {
|
|
1147
|
+
name: string;
|
|
1148
|
+
deploymentId: string;
|
|
1149
|
+
result?: Result | BatchResult<Partial<Asset>> | undefined;
|
|
1150
|
+
id?: string | undefined;
|
|
1151
|
+
createdBy: string;
|
|
1152
|
+
modifiedBy: string;
|
|
1153
|
+
created: Date;
|
|
1154
|
+
modified: Date;
|
|
1155
|
+
}
|
|
1156
|
+
export interface DeployAttemptCriteria {
|
|
1157
|
+
name?: StringFilter | undefined;
|
|
1158
|
+
ids?: string[] | undefined;
|
|
1159
|
+
all?: boolean | undefined;
|
|
1160
|
+
/** supports a single field name
|
|
1161
|
+
* ```json
|
|
1162
|
+
* "sort": "name"
|
|
1163
|
+
* ```
|
|
1164
|
+
* or an array of field names
|
|
1165
|
+
* ```json
|
|
1166
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1167
|
+
* ```
|
|
1168
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1169
|
+
* ```json
|
|
1170
|
+
* "sort": {
|
|
1171
|
+
* "name": "asc",
|
|
1172
|
+
* "lastModified": "desc"
|
|
1173
|
+
* }
|
|
1174
|
+
* ```
|
|
1175
|
+
*
|
|
1176
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1177
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1178
|
+
skip?: number | undefined;
|
|
1179
|
+
take?: number | undefined;
|
|
1180
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1181
|
+
reverse?: number | boolean | undefined;
|
|
1182
|
+
}
|
|
785
1183
|
/** Envelope for the contents of a ConfigDoc
|
|
786
1184
|
* compiled into its specific content format (eg: json, yaml, ini, etc). */
|
|
787
1185
|
export interface DeployedConfig {
|
|
@@ -819,7 +1217,63 @@ export interface DeployedConfigCriteria {
|
|
|
819
1217
|
* ```
|
|
820
1218
|
*
|
|
821
1219
|
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
822
|
-
sort?: string[] |
|
|
1220
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1221
|
+
skip?: number | undefined;
|
|
1222
|
+
take?: number | undefined;
|
|
1223
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1224
|
+
reverse?: number | boolean | undefined;
|
|
1225
|
+
}
|
|
1226
|
+
export interface DeployedState {
|
|
1227
|
+
version: EnterpriseVersionConfig;
|
|
1228
|
+
configState: object;
|
|
1229
|
+
deployedOn: Date;
|
|
1230
|
+
deployedBy: string;
|
|
1231
|
+
}
|
|
1232
|
+
/** The specification for a deployment of an enterprise to a cabinet.
|
|
1233
|
+
* NOTE:
|
|
1234
|
+
* Though the deployment does necessarily reflect the comprehensive collection of Snapshot and ConfigChanges to date of its creation,
|
|
1235
|
+
* it does NOT necessarily reflect the entire enterprise: a deployment can certainly be a partial deployment of an enterprise.
|
|
1236
|
+
* eg: a deployment may ony be deploying an upgrade to a single service in the enterprise rather than the whole thing.
|
|
1237
|
+
*
|
|
1238
|
+
* TODO: Provide for specificying hings other than services: eg ConfigMaps, Secrets, Ingress Routes, Footprint mods? */
|
|
1239
|
+
export interface Deployment {
|
|
1240
|
+
name: string;
|
|
1241
|
+
enterprise: string;
|
|
1242
|
+
environment: string;
|
|
1243
|
+
cabinet: string;
|
|
1244
|
+
version: EnterpriseVersionConfig;
|
|
1245
|
+
assets?: string[] | undefined;
|
|
1246
|
+
id?: string | undefined;
|
|
1247
|
+
createdBy: string;
|
|
1248
|
+
modifiedBy: string;
|
|
1249
|
+
created: Date;
|
|
1250
|
+
modified: Date;
|
|
1251
|
+
}
|
|
1252
|
+
export interface DeploymentCriteria {
|
|
1253
|
+
id?: StringFilter | undefined;
|
|
1254
|
+
name?: StringFilter | undefined;
|
|
1255
|
+
enterprise?: StringFilter | undefined;
|
|
1256
|
+
cabinet?: StringFilter | undefined;
|
|
1257
|
+
ids?: string[] | undefined;
|
|
1258
|
+
all?: boolean | undefined;
|
|
1259
|
+
/** supports a single field name
|
|
1260
|
+
* ```json
|
|
1261
|
+
* "sort": "name"
|
|
1262
|
+
* ```
|
|
1263
|
+
* or an array of field names
|
|
1264
|
+
* ```json
|
|
1265
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1266
|
+
* ```
|
|
1267
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1268
|
+
* ```json
|
|
1269
|
+
* "sort": {
|
|
1270
|
+
* "name": "asc",
|
|
1271
|
+
* "lastModified": "desc"
|
|
1272
|
+
* }
|
|
1273
|
+
* ```
|
|
1274
|
+
*
|
|
1275
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1276
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
823
1277
|
skip?: number | undefined;
|
|
824
1278
|
take?: number | undefined;
|
|
825
1279
|
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
@@ -840,6 +1294,10 @@ export interface DiscriminatorTypeDef {
|
|
|
840
1294
|
nullable?: boolean | undefined;
|
|
841
1295
|
metadata?: any | undefined;
|
|
842
1296
|
}
|
|
1297
|
+
export interface DnsConnectionRequest {
|
|
1298
|
+
domain?: string | undefined;
|
|
1299
|
+
ingressIp?: string | undefined;
|
|
1300
|
+
}
|
|
843
1301
|
/** Requirements for a DNS host record
|
|
844
1302
|
* that routes requests within a given domain. */
|
|
845
1303
|
export interface DnsRecord {
|
|
@@ -855,8 +1313,11 @@ export interface DnsRecord {
|
|
|
855
1313
|
* for this host.domain combination shall be routed. */
|
|
856
1314
|
destinationIp: string;
|
|
857
1315
|
}
|
|
1316
|
+
export interface DNSResponse {
|
|
1317
|
+
results: boolean;
|
|
1318
|
+
}
|
|
858
1319
|
export interface DomainDeleteRequest {
|
|
859
|
-
id?: string;
|
|
1320
|
+
id?: string | undefined;
|
|
860
1321
|
}
|
|
861
1322
|
/** Defines a homogenous array of any size (possibly empty) with the elements that satisfy a given schema.
|
|
862
1323
|
*
|
|
@@ -880,12 +1341,105 @@ export interface EnterprisePointer {
|
|
|
880
1341
|
asset?: string | undefined;
|
|
881
1342
|
cabinet?: string | undefined;
|
|
882
1343
|
}
|
|
1344
|
+
export interface EnterpriseRoot {
|
|
1345
|
+
name: string;
|
|
1346
|
+
assets: Asset[];
|
|
1347
|
+
environments: EnvironmentRoot[];
|
|
1348
|
+
id: string;
|
|
1349
|
+
defaultEnvironmentAcl?: DefaultChildAcl | undefined;
|
|
1350
|
+
}
|
|
1351
|
+
/** Runstate is an objective observation that gets diff'ed against an entepriseVersionConfig.
|
|
1352
|
+
* As such, it doesn't know what enterprise version is supposed to be delployed,
|
|
1353
|
+
* only the actual asset versions that in fact are. */
|
|
1354
|
+
export interface EnterpriseRunState {
|
|
1355
|
+
enterprise: string;
|
|
1356
|
+
cabinet: string;
|
|
1357
|
+
entityType: string;
|
|
1358
|
+
entityName: string;
|
|
1359
|
+
version: string;
|
|
1360
|
+
tags?: Tag[] | undefined;
|
|
1361
|
+
contents?: IVersionRef[] | undefined;
|
|
1362
|
+
contentHash?: string | undefined;
|
|
1363
|
+
id?: string | undefined;
|
|
1364
|
+
createdBy: string;
|
|
1365
|
+
modifiedBy: string;
|
|
1366
|
+
created: Date;
|
|
1367
|
+
modified: Date;
|
|
1368
|
+
/** Markdown block of instructions or other descriptions from the author about this particular version. */
|
|
1369
|
+
notes?: string | undefined;
|
|
1370
|
+
/** Key-value pairs (aka: property bag) for this particular version. */
|
|
1371
|
+
labels?: Label[] | undefined;
|
|
1372
|
+
/** Starting point for threaded discussions on this particular version. */
|
|
1373
|
+
comments?: Comment[] | undefined;
|
|
1374
|
+
}
|
|
1375
|
+
export interface EnterpriseRunStateCriteria {
|
|
1376
|
+
enterprise?: string | undefined;
|
|
1377
|
+
cabinet?: string | undefined;
|
|
1378
|
+
contentHash?: string | undefined;
|
|
1379
|
+
ids?: string[] | undefined;
|
|
1380
|
+
all?: boolean | undefined;
|
|
1381
|
+
/** supports a single field name
|
|
1382
|
+
* ```json
|
|
1383
|
+
* "sort": "name"
|
|
1384
|
+
* ```
|
|
1385
|
+
* or an array of field names
|
|
1386
|
+
* ```json
|
|
1387
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1388
|
+
* ```
|
|
1389
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1390
|
+
* ```json
|
|
1391
|
+
* "sort": {
|
|
1392
|
+
* "name": "asc",
|
|
1393
|
+
* "lastModified": "desc"
|
|
1394
|
+
* }
|
|
1395
|
+
* ```
|
|
1396
|
+
*
|
|
1397
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1398
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1399
|
+
skip?: number | undefined;
|
|
1400
|
+
take?: number | undefined;
|
|
1401
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1402
|
+
reverse?: number | boolean | undefined;
|
|
1403
|
+
}
|
|
883
1404
|
/** A reference to an enterprise and its environment scopes. */
|
|
884
1405
|
export interface EnterpriseScope {
|
|
885
1406
|
name: string;
|
|
886
1407
|
environments: EnvironmentScope[];
|
|
887
1408
|
id?: string | undefined;
|
|
888
1409
|
}
|
|
1410
|
+
/** Manifest of all versions and configs currently deployed within an enterprise. */
|
|
1411
|
+
export interface EnterpriseState {
|
|
1412
|
+
enterprise: string;
|
|
1413
|
+
environments: object;
|
|
1414
|
+
id?: string | undefined;
|
|
1415
|
+
}
|
|
1416
|
+
export interface EnterpriseStateRequest {
|
|
1417
|
+
enterprise: string;
|
|
1418
|
+
environment?: string | undefined;
|
|
1419
|
+
cabinet?: string | undefined;
|
|
1420
|
+
cluster?: string | undefined;
|
|
1421
|
+
noCacheRead?: boolean | undefined;
|
|
1422
|
+
}
|
|
1423
|
+
export interface EnterpriseVersionConfig {
|
|
1424
|
+
enterprise: string;
|
|
1425
|
+
entityType: string;
|
|
1426
|
+
entityName: string;
|
|
1427
|
+
version: string;
|
|
1428
|
+
tags?: Tag[] | undefined;
|
|
1429
|
+
contents?: IVersionRef[] | undefined;
|
|
1430
|
+
contentHash?: string | undefined;
|
|
1431
|
+
id?: string | undefined;
|
|
1432
|
+
createdBy: string;
|
|
1433
|
+
modifiedBy: string;
|
|
1434
|
+
created: Date;
|
|
1435
|
+
modified: Date;
|
|
1436
|
+
/** Markdown block of instructions or other descriptions from the author about this particular version. */
|
|
1437
|
+
notes?: string | undefined;
|
|
1438
|
+
/** Key-value pairs (aka: property bag) for this particular version. */
|
|
1439
|
+
labels?: Label[] | undefined;
|
|
1440
|
+
/** Starting point for threaded discussions on this particular version. */
|
|
1441
|
+
comments?: Comment[] | undefined;
|
|
1442
|
+
}
|
|
889
1443
|
/** Access Control List (ACL) for a single securable object.
|
|
890
1444
|
* A list of permissions declared on a single, identifiable concrete entity. */
|
|
891
1445
|
export interface EntityAcl {
|
|
@@ -941,11 +1495,77 @@ export interface EnumTypeDef {
|
|
|
941
1495
|
nullable?: boolean | undefined;
|
|
942
1496
|
metadata?: any | undefined;
|
|
943
1497
|
}
|
|
1498
|
+
export interface Environment {
|
|
1499
|
+
code: string;
|
|
1500
|
+
enterpriseCode: string;
|
|
1501
|
+
subscription: string;
|
|
1502
|
+
sequence: number;
|
|
1503
|
+
id?: string | undefined;
|
|
1504
|
+
/** The collection of placeholders for isolated instances of a customer's service inventory. */
|
|
1505
|
+
cabinets: Cabinet[];
|
|
1506
|
+
/** The collection of predefined specs for the kubernetes clusters in this environment. */
|
|
1507
|
+
clusterDefs: ClusterDef[];
|
|
1508
|
+
/** (Optional) The default resource allocation spec to apply to containers in this cluster. */
|
|
1509
|
+
defaultFootprint?: Partial<ContainerFootprint> | undefined;
|
|
1510
|
+
/** The default privileges to grant to each role on new cabinets created within this environment
|
|
1511
|
+
* (optional: defaults to the permissions assigned to this environment). */
|
|
1512
|
+
defaultCabinetAcl?: DefaultChildAcl | undefined;
|
|
1513
|
+
createdBy: string;
|
|
1514
|
+
modifiedBy: string;
|
|
1515
|
+
created: Date;
|
|
1516
|
+
modified: Date;
|
|
1517
|
+
}
|
|
1518
|
+
export interface EnvironmentCriteria {
|
|
1519
|
+
code?: string | undefined;
|
|
1520
|
+
enterpriseCode?: string | undefined;
|
|
1521
|
+
subscription?: string | undefined;
|
|
1522
|
+
ids?: string[] | undefined;
|
|
1523
|
+
all?: boolean | undefined;
|
|
1524
|
+
/** supports a single field name
|
|
1525
|
+
* ```json
|
|
1526
|
+
* "sort": "name"
|
|
1527
|
+
* ```
|
|
1528
|
+
* or an array of field names
|
|
1529
|
+
* ```json
|
|
1530
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1531
|
+
* ```
|
|
1532
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1533
|
+
* ```json
|
|
1534
|
+
* "sort": {
|
|
1535
|
+
* "name": "asc",
|
|
1536
|
+
* "lastModified": "desc"
|
|
1537
|
+
* }
|
|
1538
|
+
* ```
|
|
1539
|
+
*
|
|
1540
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1541
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1542
|
+
skip?: number | undefined;
|
|
1543
|
+
take?: number | undefined;
|
|
1544
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1545
|
+
reverse?: number | boolean | undefined;
|
|
1546
|
+
}
|
|
1547
|
+
/** A reference to an environment and its cabinets. */
|
|
1548
|
+
export interface EnvironmentRoot {
|
|
1549
|
+
name: string;
|
|
1550
|
+
cabinets: CabinetClusterRoot[];
|
|
1551
|
+
id?: string | undefined;
|
|
1552
|
+
code?: string | undefined;
|
|
1553
|
+
sequence?: number | undefined;
|
|
1554
|
+
clusters?: ClusterWithIngress[] | undefined;
|
|
1555
|
+
/** The default privileges to grant to each role on new cabinets created within this environment
|
|
1556
|
+
* (optional: defaults to the permissions assigned to this environment). */
|
|
1557
|
+
defaultCabinetAcl?: DefaultChildAcl | undefined;
|
|
1558
|
+
}
|
|
944
1559
|
/** A reference to an environment and its cabinets. */
|
|
945
1560
|
export interface EnvironmentScope {
|
|
946
1561
|
name: string;
|
|
947
1562
|
cabinets: CabinetClusterScope[];
|
|
948
1563
|
}
|
|
1564
|
+
/** Manifest of all versions and configs currently deployed within a specific environment. */
|
|
1565
|
+
export interface EnviroState {
|
|
1566
|
+
name: string;
|
|
1567
|
+
cabinets: object;
|
|
1568
|
+
}
|
|
949
1569
|
export interface Error {
|
|
950
1570
|
name: string;
|
|
951
1571
|
message: string;
|
|
@@ -954,11 +1574,16 @@ export interface Error {
|
|
|
954
1574
|
export interface ExecuteCabinetKillerRequest {
|
|
955
1575
|
target?: CabinetScope | undefined;
|
|
956
1576
|
}
|
|
957
|
-
export interface
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
1577
|
+
export interface ExecuteClusterIngressDeleteRequest {
|
|
1578
|
+
clusterName?: string | undefined;
|
|
1579
|
+
cabinetUniqueDomains?: HostNameConfig[] | undefined;
|
|
1580
|
+
userContext?: UserContext | undefined;
|
|
1581
|
+
codiacAPiUrl?: string | undefined;
|
|
1582
|
+
}
|
|
1583
|
+
export interface ExecuteClusterIngressDeleteResponse {
|
|
1584
|
+
/** Specifications for ingress controllers and request routing.
|
|
1585
|
+
* Based on an ingress controller deployed as a Helm chart. */
|
|
1586
|
+
ingressDef?: IngressDef | undefined;
|
|
962
1587
|
success: boolean;
|
|
963
1588
|
message?: string | undefined;
|
|
964
1589
|
error?: Error | undefined;
|
|
@@ -974,23 +1599,7 @@ export interface ExecuteClusterInitRequestAsync {
|
|
|
974
1599
|
correlationId?: string;
|
|
975
1600
|
callbackUrl?: string;
|
|
976
1601
|
}
|
|
977
|
-
export interface
|
|
978
|
-
/** Specifications for ingress controllers and request routing.
|
|
979
|
-
* Based on an ingress controller deployed as a Helm chart. */
|
|
980
|
-
ingressDef?: IngressDef | undefined;
|
|
981
|
-
success: boolean;
|
|
982
|
-
message?: string | undefined;
|
|
983
|
-
error?: Error | undefined;
|
|
984
|
-
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
985
|
-
validation?: IValidationStatus | undefined;
|
|
986
|
-
}
|
|
987
|
-
export interface ExecuteClusterIngressDeleteRequest {
|
|
988
|
-
clusterName?: string | undefined;
|
|
989
|
-
cabinetUniqueDomains?: HostNameConfig[] | undefined;
|
|
990
|
-
userContext?: UserContext | undefined;
|
|
991
|
-
codiacAPiUrl?: string | undefined;
|
|
992
|
-
}
|
|
993
|
-
export interface ExecuteClusterIngressDeleteResponse {
|
|
1602
|
+
export interface ExecuteClusterInitResponse {
|
|
994
1603
|
/** Specifications for ingress controllers and request routing.
|
|
995
1604
|
* Based on an ingress controller deployed as a Helm chart. */
|
|
996
1605
|
ingressDef?: IngressDef | undefined;
|
|
@@ -1031,19 +1640,6 @@ export interface ExecuteDeployIngressForAssetsResponse {
|
|
|
1031
1640
|
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
1032
1641
|
validation?: IValidationStatus | undefined;
|
|
1033
1642
|
}
|
|
1034
|
-
export interface ExecuteDestroyAssetsRequest {
|
|
1035
|
-
target?: CabinetScope | undefined;
|
|
1036
|
-
assetsNames?: string[] | undefined;
|
|
1037
|
-
userContext?: UserContext | undefined;
|
|
1038
|
-
codiacAPiUrl?: string | undefined;
|
|
1039
|
-
}
|
|
1040
|
-
export interface ExecuteDestroyAssetsResponse {
|
|
1041
|
-
success: boolean;
|
|
1042
|
-
message?: string | undefined;
|
|
1043
|
-
error?: Error | undefined;
|
|
1044
|
-
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
1045
|
-
validation?: IValidationStatus | undefined;
|
|
1046
|
-
}
|
|
1047
1643
|
export interface ExecuteDomainUpsertRequest {
|
|
1048
1644
|
domain: string;
|
|
1049
1645
|
namingStrategy: HostNameStrategyEnum;
|
|
@@ -1067,16 +1663,7 @@ export interface FileRequest {
|
|
|
1067
1663
|
*
|
|
1068
1664
|
* This class can be used as the specification
|
|
1069
1665
|
* to programmatically put up and take down concrete file stores.
|
|
1070
|
-
* As such, it outlives the actual entity described by its "instance" property.
|
|
1071
|
-
*
|
|
1072
|
-
* @param name The name by which to identify this fileshare definition within the enterprise (Optional: defaults to the shareName).
|
|
1073
|
-
* @param type Indicator of which type of fileshare resource is being used.
|
|
1074
|
-
* @param storageAccount The name within the cloud provider of the file storage account within which the share resides.
|
|
1075
|
-
* @param shareName The name of the fileshare to connect to within the file storage account.
|
|
1076
|
-
* @param providerSubscriptionId The Id of the physical Cloud Provider Subscription in which this filestore exists (Azure-specific).
|
|
1077
|
-
* @param resourceGroup The name of the Azure resource group under which the instance is to be created (Azure-specific).
|
|
1078
|
-
* @param instance Info describing the concrete instance of this file store actually living within a cloud provider subscription.
|
|
1079
|
-
*/
|
|
1666
|
+
* As such, it outlives the actual entity described by its "instance" property. */
|
|
1080
1667
|
export interface FileStoreDef {
|
|
1081
1668
|
name: string;
|
|
1082
1669
|
type: FileStoreTypeEnum;
|
|
@@ -1090,25 +1677,38 @@ export interface FileStoreDef {
|
|
|
1090
1677
|
created: Date;
|
|
1091
1678
|
modified: Date;
|
|
1092
1679
|
}
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1680
|
+
export interface FileStoreDefCriteria {
|
|
1681
|
+
name?: StringFilter | undefined;
|
|
1682
|
+
/** Supported file store adapters that can be mapped to a reserved folder on an asset. */
|
|
1683
|
+
type?: "AwsEbs" | "AwsEfs" | "AwsS3Bucket" | "AzureBlobStorage" | "AzureDisk" | "AzureFileStorage" | "HostMachineFolder" | undefined;
|
|
1684
|
+
shareName?: StringFilter | undefined;
|
|
1685
|
+
/** Identifier for a supported cloud service provider, for use in selecting infrastructure clients, provisioners, and credentials. */
|
|
1686
|
+
provider?: "artifactHub" | "aws" | "azure" | "dockerHub" | "other" | undefined;
|
|
1687
|
+
providerSubscriptionId?: StringFilter | undefined;
|
|
1688
|
+
ids?: string[] | undefined;
|
|
1689
|
+
all?: boolean | undefined;
|
|
1690
|
+
/** supports a single field name
|
|
1691
|
+
* ```json
|
|
1692
|
+
* "sort": "name"
|
|
1693
|
+
* ```
|
|
1694
|
+
* or an array of field names
|
|
1695
|
+
* ```json
|
|
1696
|
+
* "sort": ["name", "lastModified~desc"]
|
|
1697
|
+
* ```
|
|
1698
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
1699
|
+
* ```json
|
|
1700
|
+
* "sort": {
|
|
1701
|
+
* "name": "asc",
|
|
1702
|
+
* "lastModified": "desc"
|
|
1703
|
+
* }
|
|
1704
|
+
* ```
|
|
1705
|
+
*
|
|
1706
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
1707
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
1708
|
+
skip?: number | undefined;
|
|
1709
|
+
take?: number | undefined;
|
|
1710
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
1711
|
+
reverse?: number | boolean | undefined;
|
|
1112
1712
|
}
|
|
1113
1713
|
/** Metadata describing an existing concrete instance
|
|
1114
1714
|
* of a FileStoreDef resource within a cloud provider. */
|
|
@@ -1116,20 +1716,14 @@ export interface FileStoreInfrx {
|
|
|
1116
1716
|
providerSubscriptionId: string;
|
|
1117
1717
|
resourceId: string;
|
|
1118
1718
|
}
|
|
1119
|
-
/** Metadata describing an existing concrete instance
|
|
1120
|
-
* of a FileStoreDef resource within a cloud provider. */
|
|
1121
|
-
export interface AzureFileStoreInstance extends FileStoreInfrx {
|
|
1122
|
-
resourceGroup: string;
|
|
1123
|
-
accessKey: string;
|
|
1124
|
-
}
|
|
1125
1719
|
/** Supported file store adapters that can be mapped to a reserved folder on an asset. */
|
|
1126
1720
|
export declare enum FileStoreTypeEnum {
|
|
1721
|
+
AwsEbs = "AwsEbs",
|
|
1722
|
+
AwsEfs = "AwsEfs",
|
|
1723
|
+
AwsS3Bucket = "AwsS3Bucket",
|
|
1127
1724
|
AzureBlobStorage = "AzureBlobStorage",
|
|
1128
1725
|
AzureDisk = "AzureDisk",
|
|
1129
1726
|
AzureFileStorage = "AzureFileStorage",
|
|
1130
|
-
AwsEfs = "AwsEfs",
|
|
1131
|
-
AwsEbs = "AwsEbs",
|
|
1132
|
-
AwsS3Bucket = "AwsS3Bucket",
|
|
1133
1727
|
HostMachineFolder = "HostMachineFolder"
|
|
1134
1728
|
}
|
|
1135
1729
|
/** Calls out the cabinet and its parent structures. */
|
|
@@ -1165,6 +1759,7 @@ export interface GetAwsS3BucketsRequest {
|
|
|
1165
1759
|
export interface GetAwsUserRequest {
|
|
1166
1760
|
accessKeyId?: string | undefined;
|
|
1167
1761
|
secretAccessKey?: string | undefined;
|
|
1762
|
+
sessionToken?: string | undefined;
|
|
1168
1763
|
accountId?: string | undefined;
|
|
1169
1764
|
}
|
|
1170
1765
|
export interface GetAzureContainerRegistriesRequest {
|
|
@@ -1213,6 +1808,7 @@ export interface GetExistingCspClustersRequest {
|
|
|
1213
1808
|
location?: string | undefined;
|
|
1214
1809
|
}
|
|
1215
1810
|
export interface GetFileStoresRequest {
|
|
1811
|
+
provider: CloudProviderEnum;
|
|
1216
1812
|
providerSubscriptionId: string;
|
|
1217
1813
|
storageAccount: StorageAccount;
|
|
1218
1814
|
resourceGroup: string;
|
|
@@ -1237,16 +1833,16 @@ export interface GetSecretStoresRequest {
|
|
|
1237
1833
|
provider: CloudProviderEnum;
|
|
1238
1834
|
spec: Partial<SecretStore>;
|
|
1239
1835
|
}
|
|
1240
|
-
export interface GetStorageAccountRequest {
|
|
1241
|
-
provider: CloudProviderEnum;
|
|
1242
|
-
providerSubscriptionId: string;
|
|
1243
|
-
}
|
|
1244
1836
|
export interface GetStorageAccountKeysRequest {
|
|
1245
1837
|
provider: CloudProviderEnum;
|
|
1246
1838
|
subscriptionId: string;
|
|
1247
1839
|
resourceGroup: string;
|
|
1248
1840
|
storageAccountName: string;
|
|
1249
1841
|
}
|
|
1842
|
+
export interface GetStorageAccountRequest {
|
|
1843
|
+
provider: CloudProviderEnum;
|
|
1844
|
+
providerSubscriptionId: string;
|
|
1845
|
+
}
|
|
1250
1846
|
export interface HelmAssetTemplate {
|
|
1251
1847
|
/** Maps a port number to the associated setting (full dot path name) in the chart config.
|
|
1252
1848
|
*
|
|
@@ -1311,6 +1907,18 @@ export declare enum HostNameStrategyEnum {
|
|
|
1311
1907
|
shared_ingress_ip = "shared_ingress_ip",
|
|
1312
1908
|
svc_dot_cab_dot_domain = "svc_dot_cab_dot_domain"
|
|
1313
1909
|
}
|
|
1910
|
+
export interface IApiAuthTokenMeta {
|
|
1911
|
+
isDefault?: boolean | undefined;
|
|
1912
|
+
userName?: string | undefined;
|
|
1913
|
+
givenName?: string | undefined;
|
|
1914
|
+
familyName?: string | undefined;
|
|
1915
|
+
/** The ApplicationId assigned to Codiac when it was registered in AzureAD. */
|
|
1916
|
+
clientId: string;
|
|
1917
|
+
/** Azure TenantId.
|
|
1918
|
+
* Id code for the tenant account with the cloud service provider
|
|
1919
|
+
* (This is NOT the Codiac tenant code). */
|
|
1920
|
+
cspTenantId: string;
|
|
1921
|
+
}
|
|
1314
1922
|
export interface IAssetLog {
|
|
1315
1923
|
assetName: string;
|
|
1316
1924
|
logs: object[];
|
|
@@ -1332,6 +1940,18 @@ export interface ICommandLineProbeAction {
|
|
|
1332
1940
|
command: string[];
|
|
1333
1941
|
actionType: ProbeActionTypesEnum;
|
|
1334
1942
|
}
|
|
1943
|
+
export interface ICspPrimaryCredsMeta {
|
|
1944
|
+
username: string;
|
|
1945
|
+
created: Date;
|
|
1946
|
+
modified?: Date | undefined;
|
|
1947
|
+
expiration?: Date | undefined;
|
|
1948
|
+
tenantCode: string;
|
|
1949
|
+
provider: CloudProviderEnum;
|
|
1950
|
+
/** eg: The AccountId in AWS or SubscriptionId in Azure.
|
|
1951
|
+
*
|
|
1952
|
+
* TODO: Make this required. */
|
|
1953
|
+
subscriptionId?: string | undefined;
|
|
1954
|
+
}
|
|
1335
1955
|
export interface IGrpcProbeAction {
|
|
1336
1956
|
/** Port number of the gRPC service. Number must be in the range 1 to 65535. */
|
|
1337
1957
|
port: number;
|
|
@@ -1389,6 +2009,7 @@ export interface ImageRegistry {
|
|
|
1389
2009
|
pullRequiresAuth?: boolean | undefined;
|
|
1390
2010
|
infoUrl?: string | undefined;
|
|
1391
2011
|
useRemoteFiltering?: boolean | undefined;
|
|
2012
|
+
helmSupport?: "classic" | "oci" | undefined;
|
|
1392
2013
|
}
|
|
1393
2014
|
/** Matches an ImageRegistry entity, just isnt a domain entity or auditable.
|
|
1394
2015
|
* This class is for use as a request: it is NOT A DOMAIN ENTITY. */
|
|
@@ -1400,6 +2021,7 @@ export interface ImageRegistrySpec {
|
|
|
1400
2021
|
pullRequiresAuth?: boolean | undefined;
|
|
1401
2022
|
infoUrl?: string | undefined;
|
|
1402
2023
|
useRemoteFiltering?: boolean | undefined;
|
|
2024
|
+
helmSupport?: "classic" | "oci" | undefined;
|
|
1403
2025
|
}
|
|
1404
2026
|
export declare enum ImageRegistryTypes {
|
|
1405
2027
|
AmazonEcr = "AmazonEcr",
|
|
@@ -1410,8 +2032,8 @@ export declare enum ImageRegistryTypes {
|
|
|
1410
2032
|
}
|
|
1411
2033
|
export interface ImageRepository {
|
|
1412
2034
|
name: string;
|
|
1413
|
-
scope?: string;
|
|
1414
|
-
registry?: Omit<ImageRegistry, "
|
|
2035
|
+
scope?: string | undefined;
|
|
2036
|
+
registry?: Omit<ImageRegistry, "createdBy" | "modifiedBy" | "created" | "modified"> | undefined;
|
|
1415
2037
|
}
|
|
1416
2038
|
/** An unversioned reference to an image repository.
|
|
1417
2039
|
* Matches an Image entity. This class is for use as a request: it is NOT A DOMAIN ENTITY. */
|
|
@@ -1440,10 +2062,11 @@ export interface IngressDef {
|
|
|
1440
2062
|
service_name: string;
|
|
1441
2063
|
service_namespace: string;
|
|
1442
2064
|
replicas: number;
|
|
1443
|
-
internal?: boolean | undefined;
|
|
1444
2065
|
ip_name: string;
|
|
1445
2066
|
cert_secret_name: string;
|
|
1446
2067
|
cert_name: string;
|
|
2068
|
+
internal?: boolean | undefined;
|
|
2069
|
+
disableExternal?: boolean | undefined;
|
|
1447
2070
|
id?: string | undefined;
|
|
1448
2071
|
createdBy: string;
|
|
1449
2072
|
modifiedBy: string;
|
|
@@ -1577,7 +2200,7 @@ export interface InitContainer {
|
|
|
1577
2200
|
/** (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. */
|
|
1578
2201
|
preventAssetVolumes?: boolean | undefined;
|
|
1579
2202
|
/** (optional) Min/Max Mem and CPU allocations */
|
|
1580
|
-
footprint?: Pick<ContainerFootprint, "
|
|
2203
|
+
footprint?: Pick<ContainerFootprint, "cpuRequest" | "cpuLimit" | "memRequest" | "memLimit"> | undefined;
|
|
1581
2204
|
/** (optional: defaults to all) The versions of the parent asset for which this init container is to be used. */
|
|
1582
2205
|
versionRange?: string | undefined;
|
|
1583
2206
|
}
|
|
@@ -1652,6 +2275,13 @@ export interface IPartialAsset {
|
|
|
1652
2275
|
*
|
|
1653
2276
|
* That is, Setting this to true will prevent the ingress controller from invoking an automatic redirect to https on any inbound http requests. */
|
|
1654
2277
|
allowHttp?: boolean | undefined;
|
|
2278
|
+
/** (Applies only when `hasIngress=true`, defaults to false, aka: external)
|
|
2279
|
+
* indicates whether this asset shall be available
|
|
2280
|
+
* only through the internal ingress controller.
|
|
2281
|
+
*
|
|
2282
|
+
* NOTE: When set, this asset will only be accessible
|
|
2283
|
+
* on a cluster with an internal ingress controller. */
|
|
2284
|
+
ingressInternal?: boolean | undefined;
|
|
1655
2285
|
/** Freeform url paths to use as an override for the asset code property
|
|
1656
2286
|
* when assembling ingress routing
|
|
1657
2287
|
* for domain mapping strategies
|
|
@@ -1714,6 +2344,13 @@ export interface IValidationStatus {
|
|
|
1714
2344
|
* eg: if the status describes a property validation failure, the details may be the various constraints it failed to meet. */
|
|
1715
2345
|
details?: IValidationStatus[] | undefined;
|
|
1716
2346
|
}
|
|
2347
|
+
export interface IVersionRef {
|
|
2348
|
+
entityType: string;
|
|
2349
|
+
entityName: string;
|
|
2350
|
+
version: string;
|
|
2351
|
+
contents?: IVersionRef[] | undefined;
|
|
2352
|
+
contentHash?: string | undefined;
|
|
2353
|
+
}
|
|
1717
2354
|
export interface JobAssetTemplate {
|
|
1718
2355
|
image: ImageSpec;
|
|
1719
2356
|
defaultPort: PortMapping | PortMapping | number[] | number;
|
|
@@ -1801,6 +2438,13 @@ export interface KnownPortNumberAssignment {
|
|
|
1801
2438
|
reservedFor: string;
|
|
1802
2439
|
group?: "privateUse" | "registered" | "wellknown" | undefined;
|
|
1803
2440
|
}
|
|
2441
|
+
/** The information needed to access an individual key value pair
|
|
2442
|
+
* from a predefined data store. */
|
|
2443
|
+
export interface KvpReference {
|
|
2444
|
+
type: KvpStoreTypesEnum;
|
|
2445
|
+
name: string;
|
|
2446
|
+
key: any;
|
|
2447
|
+
}
|
|
1804
2448
|
/** The specs for a key value store to be managed by the codiac system.
|
|
1805
2449
|
* This class is used to programmatically put up and take down concrete key value stores. */
|
|
1806
2450
|
export interface KvpStoreDef {
|
|
@@ -1850,6 +2494,19 @@ export declare enum KvpStoreTypesEnum {
|
|
|
1850
2494
|
mongoCollection = "mongoCollection",
|
|
1851
2495
|
mongoDocument = "mongoDocument"
|
|
1852
2496
|
}
|
|
2497
|
+
/** A key-value pair applied to an entity in an enterprise. */
|
|
2498
|
+
export interface Label {
|
|
2499
|
+
value: string;
|
|
2500
|
+
name: string;
|
|
2501
|
+
ownerType: string;
|
|
2502
|
+
ownerId: string;
|
|
2503
|
+
enterprise: string;
|
|
2504
|
+
id?: string | undefined;
|
|
2505
|
+
createdBy: string;
|
|
2506
|
+
modifiedBy: string;
|
|
2507
|
+
created: Date;
|
|
2508
|
+
modified: Date;
|
|
2509
|
+
}
|
|
1853
2510
|
export interface LogintoCloudProviderRequest {
|
|
1854
2511
|
providerCode: CloudProviderEnum;
|
|
1855
2512
|
providerSubscription?: string | undefined;
|
|
@@ -1985,10 +2642,10 @@ export declare enum patchOperationType {
|
|
|
1985
2642
|
replace = "replace",
|
|
1986
2643
|
test = "test"
|
|
1987
2644
|
}
|
|
1988
|
-
/** The granting of
|
|
2645
|
+
/** The granting of privileges to a given Role. */
|
|
1989
2646
|
export interface Permission {
|
|
1990
2647
|
role: AuthRole;
|
|
1991
|
-
|
|
2648
|
+
privileges: Privilege[];
|
|
1992
2649
|
}
|
|
1993
2650
|
/** Instructs the kube-scheduler how to place each incoming Pod in relation to the existing Pods across your cluster.
|
|
1994
2651
|
*
|
|
@@ -2008,12 +2665,12 @@ export interface PortMapping {
|
|
|
2008
2665
|
internal?: number | undefined;
|
|
2009
2666
|
}
|
|
2010
2667
|
/** A type of operation that a given Role is allowed to perform on a securable object. */
|
|
2011
|
-
export declare enum
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2668
|
+
export declare enum Privilege {
|
|
2669
|
+
Create = "Create",
|
|
2670
|
+
Delete = "Delete",
|
|
2671
|
+
Execute = "Execute",
|
|
2672
|
+
Read = "Read",
|
|
2673
|
+
Update = "Update"
|
|
2017
2674
|
}
|
|
2018
2675
|
/** Declares a probe action and when to run it against an asset. */
|
|
2019
2676
|
export interface Probe {
|
|
@@ -2094,18 +2751,6 @@ export interface PropertiesTypeDef {
|
|
|
2094
2751
|
nullable?: boolean | undefined;
|
|
2095
2752
|
metadata?: any | undefined;
|
|
2096
2753
|
}
|
|
2097
|
-
export interface PublishServiceRequest {
|
|
2098
|
-
serviceName: string;
|
|
2099
|
-
toyboxName: string;
|
|
2100
|
-
}
|
|
2101
|
-
export interface PublishServiceResponse {
|
|
2102
|
-
correlationId: string;
|
|
2103
|
-
success: boolean;
|
|
2104
|
-
message?: string | undefined;
|
|
2105
|
-
error?: Error | undefined;
|
|
2106
|
-
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
2107
|
-
validation?: IValidationStatus | undefined;
|
|
2108
|
-
}
|
|
2109
2754
|
/** Metadata for the credentials that a cluster will use when pulling images from an image registry.
|
|
2110
2755
|
* This class points to a a specific secret record in a known secret store. */
|
|
2111
2756
|
export interface PullSecretRef {
|
|
@@ -2184,6 +2829,46 @@ export interface Result {
|
|
|
2184
2829
|
/** Any errors or messages for the consumer about constraints that were not met in order to perform the operation. */
|
|
2185
2830
|
validation?: IValidationStatus | undefined;
|
|
2186
2831
|
}
|
|
2832
|
+
/** All the enterprises, assets, cabinets, environments, and clusters for a given tenant.
|
|
2833
|
+
* That is, a semi-detailed list of all the primary entities of a tenant's software organization.
|
|
2834
|
+
*
|
|
2835
|
+
* NOTE: Though this is a domain entity, it is an emergent entity, so it will never need an id.
|
|
2836
|
+
* It gets assembled from the tenant code and is filtered within itself. */
|
|
2837
|
+
export interface RootMap {
|
|
2838
|
+
enterprises: EnterpriseRoot[];
|
|
2839
|
+
clusters: ClusterWithIngress[];
|
|
2840
|
+
id?: string | undefined;
|
|
2841
|
+
}
|
|
2842
|
+
export interface RootMapCriteria {
|
|
2843
|
+
cabinet?: string | undefined;
|
|
2844
|
+
enterprise?: string | undefined;
|
|
2845
|
+
environment?: string | undefined;
|
|
2846
|
+
cluster?: string | undefined;
|
|
2847
|
+
ids?: string[] | undefined;
|
|
2848
|
+
all?: boolean | undefined;
|
|
2849
|
+
/** supports a single field name
|
|
2850
|
+
* ```json
|
|
2851
|
+
* "sort": "name"
|
|
2852
|
+
* ```
|
|
2853
|
+
* or an array of field names
|
|
2854
|
+
* ```json
|
|
2855
|
+
* "sort": ["name", "lastModified~desc"]
|
|
2856
|
+
* ```
|
|
2857
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
2858
|
+
* ```json
|
|
2859
|
+
* "sort": {
|
|
2860
|
+
* "name": "asc",
|
|
2861
|
+
* "lastModified": "desc"
|
|
2862
|
+
* }
|
|
2863
|
+
* ```
|
|
2864
|
+
*
|
|
2865
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
2866
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
2867
|
+
skip?: number | undefined;
|
|
2868
|
+
take?: number | undefined;
|
|
2869
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
2870
|
+
reverse?: number | boolean | undefined;
|
|
2871
|
+
}
|
|
2187
2872
|
export interface ScaleAssetRequest {
|
|
2188
2873
|
enterprise: string;
|
|
2189
2874
|
asset: string;
|
|
@@ -2211,11 +2896,120 @@ export interface ScopedHostNameConfig {
|
|
|
2211
2896
|
/** (FUTURE: NOT YET SUPPORTED) Indicates that this value shall govern over otherwise higher ranking scopes during evaluation.
|
|
2212
2897
|
* NOTE: This value can still be overridden by a value in a higher ranking scope whose own governs flag is set. */
|
|
2213
2898
|
governs?: boolean | undefined;
|
|
2899
|
+
/** When set, the domain mapping will not be available on the internet,
|
|
2900
|
+
* and shall only be exposed on ingress controllers in the internal network.
|
|
2901
|
+
* That is, the domain mapping gets omitted from any internet-facing ingress controllers. */
|
|
2902
|
+
isPrivate?: boolean | undefined;
|
|
2903
|
+
createdBy: string;
|
|
2904
|
+
modifiedBy: string;
|
|
2905
|
+
created: Date;
|
|
2906
|
+
modified: Date;
|
|
2907
|
+
}
|
|
2908
|
+
export interface ScopedHostNameConfigCriteria {
|
|
2909
|
+
scope?: StringFilter | undefined;
|
|
2910
|
+
target?: StringFilter | undefined;
|
|
2911
|
+
governs?: boolean | undefined;
|
|
2912
|
+
enterprise?: string | undefined;
|
|
2913
|
+
domainName?: StringFilter | undefined;
|
|
2914
|
+
strategy?: StringFilter | undefined;
|
|
2915
|
+
/** Filter for retrieving all ScopedHostNameConfigs applicable to the given cabinets. */
|
|
2916
|
+
applicableTo?: HostNameConfigCabinetScopeFilter | undefined;
|
|
2917
|
+
ids?: string[] | undefined;
|
|
2918
|
+
all?: boolean | undefined;
|
|
2919
|
+
/** supports a single field name
|
|
2920
|
+
* ```json
|
|
2921
|
+
* "sort": "name"
|
|
2922
|
+
* ```
|
|
2923
|
+
* or an array of field names
|
|
2924
|
+
* ```json
|
|
2925
|
+
* "sort": ["name", "lastModified~desc"]
|
|
2926
|
+
* ```
|
|
2927
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
2928
|
+
* ```json
|
|
2929
|
+
* "sort": {
|
|
2930
|
+
* "name": "asc",
|
|
2931
|
+
* "lastModified": "desc"
|
|
2932
|
+
* }
|
|
2933
|
+
* ```
|
|
2934
|
+
*
|
|
2935
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
2936
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
2937
|
+
skip?: number | undefined;
|
|
2938
|
+
take?: number | undefined;
|
|
2939
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
2940
|
+
reverse?: number | boolean | undefined;
|
|
2941
|
+
}
|
|
2942
|
+
/** A single key-value setting within a config for an asset, scoped for its ultimate deployment context.
|
|
2943
|
+
* That is, this is the value of one setting within a config file (the targetFile param);
|
|
2944
|
+
* the scope/target (eg: "cabinet"/"cab16") tells us where to use it. */
|
|
2945
|
+
export interface ScopedSetting {
|
|
2946
|
+
setting: string;
|
|
2947
|
+
value: any;
|
|
2948
|
+
targetFile: string;
|
|
2949
|
+
asset: string;
|
|
2950
|
+
enterprise: string;
|
|
2951
|
+
scope: ScopeLevel;
|
|
2952
|
+
target: string;
|
|
2953
|
+
description?: string | undefined;
|
|
2954
|
+
source?: KvpReference | undefined;
|
|
2955
|
+
id?: string | undefined;
|
|
2214
2956
|
createdBy: string;
|
|
2215
2957
|
modifiedBy: string;
|
|
2216
2958
|
created: Date;
|
|
2217
2959
|
modified: Date;
|
|
2218
2960
|
}
|
|
2961
|
+
export interface ScopedSettingCriteria {
|
|
2962
|
+
setting?: string | undefined;
|
|
2963
|
+
targetFile?: StringFilter | undefined;
|
|
2964
|
+
asset?: StringFilter | undefined;
|
|
2965
|
+
enterprise?: StringFilter | undefined;
|
|
2966
|
+
scope?: "cabinet" | "enterprise" | "environment" | undefined;
|
|
2967
|
+
target?: string | undefined;
|
|
2968
|
+
/** Creates a filter expression that includes
|
|
2969
|
+
* all entities whose scopes are relevant input for a smash-merge
|
|
2970
|
+
* targeting a given context.
|
|
2971
|
+
* That is: given a cabinet, this filter will invoke a query expression
|
|
2972
|
+
* that will return all ScopedSettings that are needed
|
|
2973
|
+
* to perform a smash-merge into a config doc for that cabinet. */
|
|
2974
|
+
targetCabinet?: ScopeFilter | undefined;
|
|
2975
|
+
ids?: string[] | undefined;
|
|
2976
|
+
all?: boolean | undefined;
|
|
2977
|
+
/** supports a single field name
|
|
2978
|
+
* ```json
|
|
2979
|
+
* "sort": "name"
|
|
2980
|
+
* ```
|
|
2981
|
+
* or an array of field names
|
|
2982
|
+
* ```json
|
|
2983
|
+
* "sort": ["name", "lastModified~desc"]
|
|
2984
|
+
* ```
|
|
2985
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
2986
|
+
* ```json
|
|
2987
|
+
* "sort": {
|
|
2988
|
+
* "name": "asc",
|
|
2989
|
+
* "lastModified": "desc"
|
|
2990
|
+
* }
|
|
2991
|
+
* ```
|
|
2992
|
+
*
|
|
2993
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
2994
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
2995
|
+
skip?: number | undefined;
|
|
2996
|
+
take?: number | undefined;
|
|
2997
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
2998
|
+
reverse?: number | boolean | undefined;
|
|
2999
|
+
}
|
|
3000
|
+
/** Creates a filter expression that includes
|
|
3001
|
+
* all entities whose scopes are relevant input for a smash-merge
|
|
3002
|
+
* targeting a given context.
|
|
3003
|
+
* That is: given a cabinet, this filter will invoke a query expression
|
|
3004
|
+
* that will return all ScopedSettings that are needed
|
|
3005
|
+
* to perform a smash-merge into a config doc for that cabinet. */
|
|
3006
|
+
export interface ScopeFilter {
|
|
3007
|
+
enterprise: string;
|
|
3008
|
+
cabinet: string;
|
|
3009
|
+
environment: string;
|
|
3010
|
+
property?: string | undefined;
|
|
3011
|
+
$not?: ScopeFilter | undefined;
|
|
3012
|
+
}
|
|
2219
3013
|
export declare enum ScopeLevel {
|
|
2220
3014
|
cabinet = "cabinet",
|
|
2221
3015
|
enterprise = "enterprise",
|
|
@@ -2290,6 +3084,49 @@ export interface ServiceAssetTemplate {
|
|
|
2290
3084
|
* that are to be later mapped (at configuration time) to file store definitions. */
|
|
2291
3085
|
reservedFolders?: AssetFolderReservation[] | undefined;
|
|
2292
3086
|
}
|
|
3087
|
+
/** Component-by-component history of a multi-step infrastructure provisioning operation. */
|
|
3088
|
+
export interface SetupJournal {
|
|
3089
|
+
resourceId: string;
|
|
3090
|
+
id?: string | undefined;
|
|
3091
|
+
data: object;
|
|
3092
|
+
createdBy: string;
|
|
3093
|
+
modifiedBy: string;
|
|
3094
|
+
created: Date;
|
|
3095
|
+
modified: Date;
|
|
3096
|
+
}
|
|
3097
|
+
export interface SetupJournalCriteria {
|
|
3098
|
+
resourceId?: string | undefined;
|
|
3099
|
+
ids?: string[] | undefined;
|
|
3100
|
+
all?: boolean | undefined;
|
|
3101
|
+
/** supports a single field name
|
|
3102
|
+
* ```json
|
|
3103
|
+
* "sort": "name"
|
|
3104
|
+
* ```
|
|
3105
|
+
* or an array of field names
|
|
3106
|
+
* ```json
|
|
3107
|
+
* "sort": ["name", "lastModified~desc"]
|
|
3108
|
+
* ```
|
|
3109
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
3110
|
+
* ```json
|
|
3111
|
+
* "sort": {
|
|
3112
|
+
* "name": "asc",
|
|
3113
|
+
* "lastModified": "desc"
|
|
3114
|
+
* }
|
|
3115
|
+
* ```
|
|
3116
|
+
*
|
|
3117
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
3118
|
+
sort?: string[] | "asc" | "desc" | string | undefined;
|
|
3119
|
+
skip?: number | undefined;
|
|
3120
|
+
take?: number | undefined;
|
|
3121
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
3122
|
+
reverse?: number | boolean | undefined;
|
|
3123
|
+
}
|
|
3124
|
+
export interface SetupJournalEntry {
|
|
3125
|
+
name: string;
|
|
3126
|
+
artifactType: string;
|
|
3127
|
+
artifactPartType?: string | undefined;
|
|
3128
|
+
details?: any | undefined;
|
|
3129
|
+
}
|
|
2293
3130
|
/** A concrete declaration of a single host naming strategy for a single domain, for a single cabinet.
|
|
2294
3131
|
*
|
|
2295
3132
|
* DEV NOTE: We have this entity type so that we can utilize embedding and cascading
|
|
@@ -2303,6 +3140,10 @@ export interface SingleHostNameStrategyForCabinet {
|
|
|
2303
3140
|
cabinet: string;
|
|
2304
3141
|
forAsset?: string[] | string | undefined;
|
|
2305
3142
|
id?: string | undefined;
|
|
3143
|
+
/** When set, the domain mapping will not be available on the internet,
|
|
3144
|
+
* and shall only be exposed on ingress controllers in the internal network.
|
|
3145
|
+
* That is, the domain mapping gets omitted from any internet-facing ingress controllers. */
|
|
3146
|
+
isPrivate?: boolean | undefined;
|
|
2306
3147
|
}
|
|
2307
3148
|
export interface StorageAccount {
|
|
2308
3149
|
name: string;
|
|
@@ -2368,6 +3209,11 @@ export interface TaskMap {
|
|
|
2368
3209
|
* (TBD: Duck-typeable/convertible to a Json Type Definition (JTD) or a JsonSchema) */
|
|
2369
3210
|
export interface TypeDefBase {
|
|
2370
3211
|
}
|
|
3212
|
+
/** request contract for UN-deploying an asset from a cabinet. */
|
|
3213
|
+
export interface UndeployAssetsRequest {
|
|
3214
|
+
target: CabinetScope;
|
|
3215
|
+
assetsNames: string[];
|
|
3216
|
+
}
|
|
2371
3217
|
/** Archived identifier for a Toyhauler user and their accumulated tenant tokens.
|
|
2372
3218
|
* NOTE: This data is simply archived and is likely to be stale,
|
|
2373
3219
|
* so it should be refreshed frequently.
|
|
@@ -2376,6 +3222,7 @@ export interface TypeDefBase {
|
|
|
2376
3222
|
export interface UserContext {
|
|
2377
3223
|
currentTenantCode?: string | undefined;
|
|
2378
3224
|
currentToken?: string | undefined;
|
|
3225
|
+
roles?: string[] | undefined;
|
|
2379
3226
|
/** the full login id for the user on the Toyhauler system (defaults to anonymous). */
|
|
2380
3227
|
userName: string;
|
|
2381
3228
|
/** Dictionary of user-tenant tokens, mapped by tenant code. */
|
|
@@ -3700,6 +4547,17 @@ export interface ValuesTypeDef {
|
|
|
3700
4547
|
nullable?: boolean | undefined;
|
|
3701
4548
|
metadata?: any | undefined;
|
|
3702
4549
|
}
|
|
4550
|
+
/** A time signature declaring an hour of the day for a day of the week (eg: "Mondays at 8am").
|
|
4551
|
+
*
|
|
4552
|
+
* This entity is NOT an actual in time, but instead is essentially a template,
|
|
4553
|
+
* which, only when applied to an actual calendar,
|
|
4554
|
+
* can then produce a concrete point in time. */
|
|
4555
|
+
export interface WeeklyTime {
|
|
4556
|
+
day: "fr" | "mo" | "sa" | "su" | "th" | "tu" | "we";
|
|
4557
|
+
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";
|
|
4558
|
+
/** DEVNOTE: Do these need to be strings? why not integers? */
|
|
4559
|
+
m?: string | undefined;
|
|
4560
|
+
}
|
|
3703
4561
|
/** Credentials applied to new Windows VMs to enable administrative capabilities required for cluster management.
|
|
3704
4562
|
*
|
|
3705
4563
|
* Backward compatibility for a legacy image format called "Windows",
|
|
@@ -3711,6 +4569,51 @@ export interface WindowsAdminProfile {
|
|
|
3711
4569
|
userName: string;
|
|
3712
4570
|
password: string;
|
|
3713
4571
|
}
|
|
4572
|
+
/** A declaration of a template for a weekly timespan during which the given scope target will be in zombie mode. */
|
|
4573
|
+
export interface ZombiePeriod {
|
|
4574
|
+
enterprise: string;
|
|
4575
|
+
scope: ScopeLevel;
|
|
4576
|
+
target: string;
|
|
4577
|
+
start: WeeklyTime;
|
|
4578
|
+
end: WeeklyTime;
|
|
4579
|
+
name?: string | undefined;
|
|
4580
|
+
description?: string | undefined;
|
|
4581
|
+
id?: string | undefined;
|
|
4582
|
+
createdBy: string;
|
|
4583
|
+
modifiedBy: string;
|
|
4584
|
+
created: Date;
|
|
4585
|
+
modified: Date;
|
|
4586
|
+
}
|
|
4587
|
+
export interface ZombiePeriodCriteria {
|
|
4588
|
+
enterprise?: string | undefined;
|
|
4589
|
+
scope?: "cabinet" | "enterprise" | "environment" | undefined;
|
|
4590
|
+
target?: string | undefined;
|
|
4591
|
+
name?: string | undefined;
|
|
4592
|
+
ids?: string[] | undefined;
|
|
4593
|
+
all?: boolean | undefined;
|
|
4594
|
+
/** supports a single field name
|
|
4595
|
+
* ```json
|
|
4596
|
+
* "sort": "name"
|
|
4597
|
+
* ```
|
|
4598
|
+
* or an array of field names
|
|
4599
|
+
* ```json
|
|
4600
|
+
* "sort": ["name", "lastModified~desc"]
|
|
4601
|
+
* ```
|
|
4602
|
+
* or an object dictionary of `fieldName: asc|desc` pairs, eg:
|
|
4603
|
+
* ```json
|
|
4604
|
+
* "sort": {
|
|
4605
|
+
* "name": "asc",
|
|
4606
|
+
* "lastModified": "desc"
|
|
4607
|
+
* }
|
|
4608
|
+
* ```
|
|
4609
|
+
*
|
|
4610
|
+
* NOTE: Regarding sort field order, (aka: `asc|desc`) : Sort field names can be specified as EITHER: field name alone (implies asc order), eg: `"favColor"`, OR field name with order suffix `asc|desc` (delimited by tilde). eg: `"favColor~desc"`. */
|
|
4611
|
+
sort?: string[] | string | undefined;
|
|
4612
|
+
skip?: number | undefined;
|
|
4613
|
+
take?: number | undefined;
|
|
4614
|
+
/** Declares that the data be returned in the opposite order than what is specified by the `sort` property. */
|
|
4615
|
+
reverse?: number | boolean | undefined;
|
|
4616
|
+
}
|
|
3714
4617
|
export interface ZombieRefreshRequest {
|
|
3715
4618
|
enterprise: string;
|
|
3716
4619
|
environment?: string | undefined;
|