@catladder/cli 2.9.3 → 2.10.1
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/dist/bundles/catenv/index.js +2 -2
- package/dist/bundles/cli/index.js +1 -1
- package/dist/cli/src/apps/catenv/printVariables.js +4 -1
- package/dist/cli/src/apps/catenv/printVariables.js.map +1 -1
- package/dist/cli/src/apps/catenv/utils.d.ts +6 -2
- package/dist/cli/src/apps/catenv/utils.js +4 -2
- package/dist/cli/src/apps/catenv/utils.js.map +1 -1
- package/dist/pipeline/src/bash/bashEscape.d.ts +4 -1
- package/dist/pipeline/src/bash/bashEscape.js +4 -2
- package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js +16 -105
- package/dist/pipeline/src/deploy/cloudRun/createJobs/cloudRunJobs.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.d.ts +4 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js +85 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/onDeploy.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.d.ts +3 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +136 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +5 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.js +6 -2
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.d.ts +6 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js +11 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.d.ts +5 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js +7 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/jobName.js.map +1 -1
- package/dist/pipeline/src/deploy/types/googleCloudRun.d.ts +95 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/catenv/printVariables.ts +4 -1
- package/src/apps/catenv/utils.ts +12 -3
|
@@ -6,6 +6,8 @@ const cleanup_1 = require("../cleanup");
|
|
|
6
6
|
const database_1 = require("../utils/database");
|
|
7
7
|
const gcloudServiceAccountLoginCommands_1 = require("../utils/gcloudServiceAccountLoginCommands");
|
|
8
8
|
const cloudRunJobs_1 = require("./cloudRunJobs");
|
|
9
|
+
const onDeploy_1 = require("./execute/onDeploy");
|
|
10
|
+
const schedules_1 = require("./execute/schedules");
|
|
9
11
|
const cloudRunServices_1 = require("./cloudRunServices");
|
|
10
12
|
const common_1 = require("./common");
|
|
11
13
|
function getCloudRunStopScripts(context) {
|
|
@@ -13,11 +15,11 @@ function getCloudRunStopScripts(context) {
|
|
|
13
15
|
const deployConfig = (0, common_1.getCloudRunDeployConfig)(context);
|
|
14
16
|
return [
|
|
15
17
|
...(0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context),
|
|
16
|
-
...(0,
|
|
18
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "preStop"),
|
|
17
19
|
...(deployConfig.service !== false ? (0, cloudRunServices_1.getServiceDeleteScript)(context) : []),
|
|
18
20
|
...Object.entries((_a = deployConfig.additionalServices) !== null && _a !== void 0 ? _a : {}).flatMap(([name]) => (0, cloudRunServices_1.getServiceDeleteScript)(context, name)),
|
|
19
|
-
...(0,
|
|
20
|
-
...(0,
|
|
21
|
+
...(0, onDeploy_1.getOnDeployExecuteScript)(context, "postStop"),
|
|
22
|
+
...(0, schedules_1.getDeleteSchedulesScript)(context),
|
|
21
23
|
...(0, cloudRunJobs_1.getDeleteJobsScripts)(context),
|
|
22
24
|
...(deployConfig.cloudSql && deployConfig.cloudSql.deleteDatabaseOnStop
|
|
23
25
|
? (0, database_1.getDatabaseDeleteScript)(context, deployConfig)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCloudRunStopScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAE5D,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"getCloudRunStopScripts.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAE5D,wCAAmE;AACnE,gDAA4D;AAC5D,kGAA+F;AAC/F,iDAAsD;AACtD,iDAA8D;AAC9D,mDAA+D;AAC/D,yDAA4D;AAC5D,qCAAmD;AAEnD,SAAgB,sBAAsB,CAAC,OAAyB;;IAC9D,MAAM,YAAY,GAAG,IAAA,gCAAuB,EAAC,OAAO,CAAC,CAAC;IACtD,OAAO;QACL,GAAG,IAAA,qEAAiC,EAAC,OAAO,CAAC;QAC7C,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,SAAS,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,yCAAsB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,GAAG,MAAM,CAAC,OAAO,CAAC,MAAA,YAAY,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAC1E,IAAA,yCAAsB,EAAC,OAAO,EAAE,IAAI,CAAC,CACtC;QACD,GAAG,IAAA,mCAAwB,EAAC,OAAO,EAAE,UAAU,CAAC;QAChD,GAAG,IAAA,oCAAwB,EAAC,OAAO,CAAC;QACpC,GAAG,IAAA,mCAAoB,EAAC,OAAO,CAAC;QAChC,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB;YACrE,CAAC,CAAC,IAAA,kCAAuB,EAAC,OAAO,EAAE,YAAY,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;QAEP,GAAG,IAAA,+CAAqC,EAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,qDAAqD;QAClH,GAAG,IAAA,qCAA8B,EAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAnBD,wDAmBC"}
|
|
@@ -6,8 +6,8 @@ const context_1 = require("../../context");
|
|
|
6
6
|
const gitlab_1 = require("../../utils/gitlab");
|
|
7
7
|
const utils_1 = require("../cloudSql/utils");
|
|
8
8
|
const createJobs_1 = require("./createJobs");
|
|
9
|
+
const cloudRunExecutionUrl_1 = require("./utils/cloudRunExecutionUrl");
|
|
9
10
|
const database_1 = require("./utils/database");
|
|
10
|
-
const jobName_1 = require("./utils/jobName");
|
|
11
11
|
exports.GCLOUD_DEPLOY_CREDENTIALS_KEY = "GCLOUD_DEPLOY_credentialsKey";
|
|
12
12
|
// FIXME: rename to internalHostSuffix, but this means that project-setup needs to be rerun, so its kindof a breaking change
|
|
13
13
|
exports.GCLOUD_RUN_CANONICAL_HOST_SUFFIX = "GCLOUD_RUN_canonicalHostSuffix";
|
|
@@ -63,7 +63,11 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
63
63
|
const jobTriggers = deployConfigRaw && deployConfigRaw.jobs
|
|
64
64
|
? Object.fromEntries(Object.entries(deployConfigRaw.jobs).map(([name, job]) => [
|
|
65
65
|
"CLOUD_RUN_JOB_TRIGGER_URL_" + (0, gitlab_1.sanitizeForBashVariable)(name),
|
|
66
|
-
|
|
66
|
+
(0, cloudRunExecutionUrl_1.getCloudRunJobExecuteUrl)(name, {
|
|
67
|
+
appFullName: fullName,
|
|
68
|
+
projectId: deployConfigRaw.projectId,
|
|
69
|
+
region: deployConfigRaw.region,
|
|
70
|
+
}),
|
|
67
71
|
]))
|
|
68
72
|
: {};
|
|
69
73
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":";;;AACA,8DAGmC;AAEnC,2CAAiD;AAEjD,+CAA6D;AAC7D,6CAAkD;AAClD,6CAA8D;AAC9D,+CAG0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../pipeline/src/deploy/cloudRun/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCloudRunJobExecuteUrl = void 0;
|
|
4
|
+
const jobName_1 = require("./jobName");
|
|
5
|
+
function getCloudRunJobExecuteUrl(jobName, { region, projectId, appFullName, }) {
|
|
6
|
+
const uriBase = `https://${region}-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${projectId}/jobs`;
|
|
7
|
+
const fullJobName = (0, jobName_1.getCloudRunJobName)(appFullName, jobName);
|
|
8
|
+
return `${uriBase}/${fullJobName}:run`;
|
|
9
|
+
}
|
|
10
|
+
exports.getCloudRunJobExecuteUrl = getCloudRunJobExecuteUrl;
|
|
11
|
+
//# sourceMappingURL=cloudRunExecutionUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudRunExecutionUrl.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.ts"],"names":[],"mappings":";;;AACA,uCAA+C;AAE/C,SAAgB,wBAAwB,CACtC,OAAe,EACf,EACE,MAAM,EACN,SAAS,EACT,WAAW,GAKZ;IAED,MAAM,OAAO,GAAG,WAAW,MAAM,6DAA6D,SAAS,OAAO,CAAC;IAC/G,MAAM,WAAW,GAAG,IAAA,4BAAkB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE7D,OAAO,GAAG,OAAO,IAAI,WAAW,MAAM,CAAC;AACzC,CAAC;AAhBD,4DAgBC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import type { StringOrBashExpression } from "../../../bash/BashExpression";
|
|
2
|
-
|
|
2
|
+
import type { ComponentContext } from "../../../types";
|
|
3
|
+
export declare const getCloudRunJobName: (fullAppName: StringOrBashExpression, jobName: StringOrBashExpression) => StringOrBashExpression;
|
|
4
|
+
export declare const getFullJobName: (context: ComponentContext, name: StringOrBashExpression) => StringOrBashExpression;
|
|
5
|
+
export declare const getCloudRunSchedulerName: (fullAppName: StringOrBashExpression, schedulerName: string) => StringOrBashExpression;
|
|
6
|
+
export declare const getFullSchedulerName: (context: ComponentContext, name: string) => StringOrBashExpression;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCloudRunJobName = void 0;
|
|
3
|
+
exports.getFullSchedulerName = exports.getCloudRunSchedulerName = exports.getFullJobName = exports.getCloudRunJobName = void 0;
|
|
4
4
|
const getCloudRunJobName = (fullAppName, jobName) => fullAppName.toLowerCase().concat("-" + jobName.toLowerCase());
|
|
5
5
|
exports.getCloudRunJobName = getCloudRunJobName;
|
|
6
|
+
const getFullJobName = (context, name) => (0, exports.getCloudRunJobName)(context.environment.fullName, name);
|
|
7
|
+
exports.getFullJobName = getFullJobName;
|
|
8
|
+
const getCloudRunSchedulerName = (fullAppName, schedulerName) => fullAppName.toLowerCase().concat("-" + schedulerName.toLowerCase());
|
|
9
|
+
exports.getCloudRunSchedulerName = getCloudRunSchedulerName;
|
|
10
|
+
const getFullSchedulerName = (context, name) => (0, exports.getCloudRunSchedulerName)(context.environment.fullName, name);
|
|
11
|
+
exports.getFullSchedulerName = getFullSchedulerName;
|
|
6
12
|
//# sourceMappingURL=jobName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobName.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/jobName.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"jobName.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/utils/jobName.ts"],"names":[],"mappings":";;;AAGO,MAAM,kBAAkB,GAAG,CAChC,WAAmC,EACnC,OAA+B,EACP,EAAE,CAC1B,WAAW,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAJnD,QAAA,kBAAkB,sBAIiC;AAEzD,MAAM,cAAc,GAAG,CAC5B,OAAyB,EACzB,IAA4B,EAC5B,EAAE,CAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAH/C,QAAA,cAAc,kBAGiC;AAErD,MAAM,wBAAwB,GAAG,CACtC,WAAmC,EACnC,aAAqB,EACG,EAAE,CAC1B,WAAW,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;AAJzD,QAAA,wBAAwB,4BAIiC;AAE/D,MAAM,oBAAoB,GAAG,CAAC,OAAyB,EAAE,IAAY,EAAE,EAAE,CAC9E,IAAA,gCAAwB,EAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AADlD,QAAA,oBAAoB,wBAC8B"}
|
|
@@ -137,6 +137,10 @@ export type DeployConfigCloudRunJobBase = {
|
|
|
137
137
|
* command
|
|
138
138
|
*/
|
|
139
139
|
command: string | string[];
|
|
140
|
+
/**
|
|
141
|
+
* optional, specify args. Those get overwritten by job executions if specified there
|
|
142
|
+
*/
|
|
143
|
+
args?: string[];
|
|
140
144
|
/**
|
|
141
145
|
* custom image to use. Defaults to the image from the build
|
|
142
146
|
*/
|
|
@@ -166,24 +170,38 @@ type DayOfMonth = string;
|
|
|
166
170
|
type DayOfWeek = string;
|
|
167
171
|
type Month = string;
|
|
168
172
|
export type DeployConfigCloudRunJobWithSchedule = DeployConfigCloudRunJobBase & {
|
|
173
|
+
/**
|
|
174
|
+
* @deprecated use `execute` instead
|
|
175
|
+
*/
|
|
169
176
|
when: "schedule";
|
|
177
|
+
/**
|
|
178
|
+
* @deprecated use `run` instead
|
|
179
|
+
*/
|
|
170
180
|
schedule: `${Minute} ${Hour} ${DayOfMonth} ${Month} ${DayOfWeek}`;
|
|
171
181
|
/**
|
|
172
182
|
* Max number of retries of the cloud scheduler.
|
|
173
183
|
* Note: the task itself is never retried.
|
|
174
184
|
*
|
|
175
185
|
* defaults to 0 (no retries)
|
|
186
|
+
*
|
|
187
|
+
* @deprecated use `run` instead
|
|
176
188
|
*/
|
|
177
189
|
maxRetryAttempts?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
178
190
|
};
|
|
179
191
|
export type DeployConfigCloudRunJobNormal = DeployConfigCloudRunJobBase & {
|
|
180
|
-
when: "manual" | "preDeploy" | "postDeploy" | "preStop" | "postStop";
|
|
181
192
|
/**
|
|
182
193
|
* wait for completion of the job on preDeploy and postDeploy
|
|
183
194
|
*
|
|
184
195
|
* has no effect on preStop and postStop (which always wait for completion)
|
|
196
|
+
*
|
|
197
|
+
*
|
|
198
|
+
* @deprecated use `run` instead
|
|
185
199
|
*/
|
|
186
200
|
waitForCompletion?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* @deprecated use `run` instead
|
|
203
|
+
*/
|
|
204
|
+
when?: "manual" | "preDeploy" | "postDeploy" | "preStop" | "postStop";
|
|
187
205
|
};
|
|
188
206
|
export type DeployConfigCloudRunWithVolumes = {
|
|
189
207
|
/**
|
|
@@ -227,6 +245,10 @@ export type DeployConfigCloudRun = {
|
|
|
227
245
|
* add cloudSql
|
|
228
246
|
*/
|
|
229
247
|
cloudSql?: DeployConfigCloudRunCloudSql | false;
|
|
248
|
+
/**
|
|
249
|
+
* execute jobs on deploy or execute jobs and http requests on a schedule
|
|
250
|
+
*/
|
|
251
|
+
execute?: Record<string, DeployConfigCloudRunExecute | null>;
|
|
230
252
|
debug?: boolean;
|
|
231
253
|
} & DeployConfigBase;
|
|
232
254
|
export type DeployConfigCloudRunVolumes = Record<string, DeployConfigCloudRunVolume>;
|
|
@@ -236,4 +258,76 @@ export type DeployConfigCloudRunVolume = {
|
|
|
236
258
|
mountPath: string;
|
|
237
259
|
readonly?: boolean;
|
|
238
260
|
};
|
|
261
|
+
export type DeployConfigCloudRunExecuteJobBase = {
|
|
262
|
+
/**
|
|
263
|
+
* set to "job" to run a cloud run job
|
|
264
|
+
*/
|
|
265
|
+
type: "job";
|
|
266
|
+
/**
|
|
267
|
+
* the cloud run job to run
|
|
268
|
+
*/
|
|
269
|
+
job: string;
|
|
270
|
+
/**
|
|
271
|
+
* additional args to pass to the job
|
|
272
|
+
*/
|
|
273
|
+
args?: string[];
|
|
274
|
+
};
|
|
275
|
+
type WithSchedule = {
|
|
276
|
+
/**
|
|
277
|
+
* run the job on a schedule
|
|
278
|
+
*/
|
|
279
|
+
when: "schedule";
|
|
280
|
+
/**
|
|
281
|
+
* the cron schedule. See https://crontab.guru/
|
|
282
|
+
*/
|
|
283
|
+
schedule: `${Minute} ${Hour} ${DayOfMonth} ${Month} ${DayOfWeek}`;
|
|
284
|
+
/**
|
|
285
|
+
* Max number of retries of the cloud scheduler.
|
|
286
|
+
* Note: the task itself is never retried.
|
|
287
|
+
*
|
|
288
|
+
* defaults to 0 (no retries)
|
|
289
|
+
*/
|
|
290
|
+
maxRetryAttempts?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
291
|
+
};
|
|
292
|
+
export type DeployConfigCloudRunExecuteJobScheduled = DeployConfigCloudRunExecuteJobBase & WithSchedule;
|
|
293
|
+
export type DeployConfigCloudRunExecuteOnDeploy = DeployConfigCloudRunExecuteJobBase & ({
|
|
294
|
+
/**
|
|
295
|
+
* run the job before or after the deploy
|
|
296
|
+
*/
|
|
297
|
+
when: "preDeploy" | "postDeploy";
|
|
298
|
+
/**
|
|
299
|
+
* whether to wait for completion of the job
|
|
300
|
+
*/
|
|
301
|
+
waitForCompletion?: boolean;
|
|
302
|
+
} | {
|
|
303
|
+
/**
|
|
304
|
+
* run the job before or after the environment is stopped
|
|
305
|
+
*/
|
|
306
|
+
when: "preStop" | "postStop";
|
|
307
|
+
});
|
|
308
|
+
export type DeployConfigCloudRunExecuteJob = DeployConfigCloudRunExecuteJobScheduled | DeployConfigCloudRunExecuteOnDeploy;
|
|
309
|
+
export type DeployConfigCloudRunExecuteHttp = {
|
|
310
|
+
/**
|
|
311
|
+
* set to "http" to run a http request
|
|
312
|
+
*/
|
|
313
|
+
type: "http";
|
|
314
|
+
/**
|
|
315
|
+
* the url to call
|
|
316
|
+
*/
|
|
317
|
+
url: string;
|
|
318
|
+
/**
|
|
319
|
+
* the http-method to use. Defaults to "POST" (as specified by google cloud scheduler)
|
|
320
|
+
*/
|
|
321
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
322
|
+
/**
|
|
323
|
+
* the body to send
|
|
324
|
+
*/
|
|
325
|
+
body?: string;
|
|
326
|
+
/**
|
|
327
|
+
* the headers to send
|
|
328
|
+
*/
|
|
329
|
+
headers?: Record<string, string>;
|
|
330
|
+
} & WithSchedule;
|
|
331
|
+
export type DeployConfigCloudRunExecute = DeployConfigCloudRunExecuteJob | DeployConfigCloudRunExecuteHttp;
|
|
332
|
+
export type DeployConfigCloudRunExecuteWithSchedule = Extract<DeployConfigCloudRunExecute, WithSchedule>;
|
|
239
333
|
export {};
|