@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
778 lines • 32 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* 'Colab Enterprise Notebook Execution Schedules.'
*
* To get more information about Schedule, see:
*
* * [API documentation](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.schedules)
* * How-to Guides
* * [Schedule a notebook run](https://cloud.google.com/colab/docs/schedule-notebook-run)
*
* ## Example Usage
*
* ### Colab Schedule Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
* name: "runtime-template",
* displayName: "Runtime template",
* location: "us-central1",
* machineSpec: {
* machineType: "e2-standard-4",
* },
* networkSpec: {
* enableInternetAccess: true,
* },
* });
* const outputBucket = new gcp.storage.Bucket("output_bucket", {
* name: "my_bucket",
* location: "US",
* forceDestroy: true,
* uniformBucketLevelAccess: true,
* });
* const notebook = new gcp.storage.BucketObject("notebook", {
* name: "hello_world.ipynb",
* bucket: outputBucket.name,
* content: ` {
* \\"cells\\": [
* {
* \\"cell_type\\": \\"code\\",
* \\"execution_count\\": null,
* \\"metadata\\": {},
* \\"outputs\\": [],
* \\"source\\": [
* \\"print(\\\\\\"Hello, World!\\\\\\")\\"
* ]
* }
* ],
* \\"metadata\\": {
* \\"kernelspec\\": {
* \\"display_name\\": \\"Python 3\\",
* \\"language\\": \\"python\\",
* \\"name\\": \\"python3\\"
* },
* \\"language_info\\": {
* \\"codemirror_mode\\": {
* \\"name\\": \\"ipython\\",
* \\"version\\": 3
* },
* \\"file_extension\\": \\".py\\",
* \\"mimetype\\": \\"text/x-python\\",
* \\"name\\": \\"python\\",
* \\"nbconvert_exporter\\": \\"python\\",
* \\"pygments_lexer\\": \\"ipython3\\",
* \\"version\\": \\"3.8.5\\"
* }
* },
* \\"nbformat\\": 4,
* \\"nbformat_minor\\": 4
* }
* `,
* });
* const schedule = new gcp.colab.Schedule("schedule", {
* displayName: "basic-schedule",
* location: "us-west1",
* maxConcurrentRunCount: "2",
* cron: "TZ=America/Los_Angeles * * * * *",
* createNotebookExecutionJobRequest: {
* notebookExecutionJob: {
* displayName: "Notebook execution",
* gcsNotebookSource: {
* uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
* generation: notebook.generation.apply(x =>String(x)),
* },
* notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
* gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
* serviceAccount: "my@service-account.com",
* },
* },
* }, {
* dependsOn: [
* myRuntimeTemplate,
* outputBucket,
* ],
* });
* ```
* ### Colab Schedule Paused
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
* name: "runtime-template",
* displayName: "Runtime template",
* location: "us-central1",
* machineSpec: {
* machineType: "e2-standard-4",
* },
* networkSpec: {
* enableInternetAccess: true,
* },
* });
* const outputBucket = new gcp.storage.Bucket("output_bucket", {
* name: "my_bucket",
* location: "US",
* forceDestroy: true,
* uniformBucketLevelAccess: true,
* });
* const notebook = new gcp.storage.BucketObject("notebook", {
* name: "hello_world.ipynb",
* bucket: outputBucket.name,
* content: ` {
* \\"cells\\": [
* {
* \\"cell_type\\": \\"code\\",
* \\"execution_count\\": null,
* \\"metadata\\": {},
* \\"outputs\\": [],
* \\"source\\": [
* \\"print(\\\\\\"Hello, World!\\\\\\")\\"
* ]
* }
* ],
* \\"metadata\\": {
* \\"kernelspec\\": {
* \\"display_name\\": \\"Python 3\\",
* \\"language\\": \\"python\\",
* \\"name\\": \\"python3\\"
* },
* \\"language_info\\": {
* \\"codemirror_mode\\": {
* \\"name\\": \\"ipython\\",
* \\"version\\": 3
* },
* \\"file_extension\\": \\".py\\",
* \\"mimetype\\": \\"text/x-python\\",
* \\"name\\": \\"python\\",
* \\"nbconvert_exporter\\": \\"python\\",
* \\"pygments_lexer\\": \\"ipython3\\",
* \\"version\\": \\"3.8.5\\"
* }
* },
* \\"nbformat\\": 4,
* \\"nbformat_minor\\": 4
* }
* `,
* });
* const schedule = new gcp.colab.Schedule("schedule", {
* displayName: "paused-schedule",
* location: "us-west1",
* maxConcurrentRunCount: "2",
* cron: "TZ=America/Los_Angeles * * * * *",
* desiredState: "PAUSED",
* createNotebookExecutionJobRequest: {
* notebookExecutionJob: {
* displayName: "Notebook execution",
* gcsNotebookSource: {
* uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
* generation: notebook.generation.apply(x =>String(x)),
* },
* notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
* gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
* serviceAccount: "my@service-account.com",
* },
* },
* }, {
* dependsOn: [
* myRuntimeTemplate,
* outputBucket,
* ],
* });
* ```
* ### Colab Schedule Full
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
* name: "runtime-template",
* displayName: "Runtime template",
* location: "us-central1",
* machineSpec: {
* machineType: "e2-standard-4",
* },
* networkSpec: {
* enableInternetAccess: true,
* },
* });
* const outputBucket = new gcp.storage.Bucket("output_bucket", {
* name: "my_bucket",
* location: "US",
* forceDestroy: true,
* uniformBucketLevelAccess: true,
* });
* const secret = new gcp.secretmanager.Secret("secret", {
* secretId: "secret",
* replication: {
* auto: {},
* },
* });
* const secretVersion = new gcp.secretmanager.SecretVersion("secret_version", {
* secret: secret.id,
* secretData: "secret-data",
* });
* const dataformRepository = new gcp.dataform.Repository("dataform_repository", {
* name: "dataform-repository",
* displayName: "dataform_repository",
* npmrcEnvironmentVariablesSecretVersion: secretVersion.id,
* kmsKeyName: "my-key",
* labels: {
* label_foo1: "label-bar1",
* },
* gitRemoteSettings: {
* url: "https://github.com/OWNER/REPOSITORY.git",
* defaultBranch: "main",
* authenticationTokenSecretVersion: secretVersion.id,
* },
* workspaceCompilationOverrides: {
* defaultDatabase: "database",
* schemaSuffix: "_suffix",
* tablePrefix: "prefix_",
* },
* });
* const schedule = new gcp.colab.Schedule("schedule", {
* displayName: "full-schedule",
* location: "us-west1",
* allowQueueing: true,
* maxConcurrentRunCount: "2",
* cron: "TZ=America/Los_Angeles * * * * *",
* maxRunCount: "5",
* startTime: "2014-10-02T15:01:23Z",
* endTime: "2014-10-10T15:01:23Z",
* desiredState: "ACTIVE",
* createNotebookExecutionJobRequest: {
* notebookExecutionJob: {
* displayName: "Notebook execution",
* executionTimeout: "86400s",
* dataformRepositorySource: {
* commitSha: "randomsha123",
* dataformRepositoryResourceName: pulumi.interpolate`projects/my-project-name/locations/us-west1/repositories/${dataformRepository.name}`,
* },
* notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
* gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
* serviceAccount: "my@service-account.com",
* },
* },
* }, {
* dependsOn: [
* myRuntimeTemplate,
* outputBucket,
* secretVersion,
* dataformRepository,
* ],
* });
* ```
* ### Colab Schedule Notebook Full
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const project = gcp.organizations.getProject({});
* const bucket = new gcp.storage.Bucket("bucket", {
* name: "my_bucket",
* location: "us-central1",
* uniformBucketLevelAccess: true,
* forceDestroy: true,
* });
* const notebook = new gcp.storage.BucketObject("notebook", {
* name: "hello_world.ipynb",
* bucket: bucket.name,
* content: ` {
* \\"cells\\": [
* {
* \\"cell_type\\": \\"code\\",
* \\"execution_count\\": null,
* \\"metadata\\": {},
* \\"outputs\\": [],
* \\"source\\": [
* \\"print(\\\\\\"Hello, World!\\\\\\")\\"
* ]
* }
* ],
* \\"metadata\\": {
* \\"kernelspec\\": {
* \\"display_name\\": \\"Python 3\\",
* \\"language\\": \\"python\\",
* \\"name\\": \\"python3\\"
* },
* \\"language_info\\": {
* \\"codemirror_mode\\": {
* \\"name\\": \\"ipython\\",
* \\"version\\": 3
* },
* \\"file_extension\\": \\".py\\",
* \\"mimetype\\": \\"text/x-python\\",
* \\"name\\": \\"python\\",
* \\"nbconvert_exporter\\": \\"python\\",
* \\"pygments_lexer\\": \\"ipython3\\",
* \\"version\\": \\"3.8.5\\"
* }
* },
* \\"nbformat\\": 4,
* \\"nbformat_minor\\": 4
* }
* `,
* });
* const myNetwork = new gcp.compute.Network("my_network", {
* name: "colab-test-default",
* autoCreateSubnetworks: false,
* });
* const mySubnetwork = new gcp.compute.Subnetwork("my_subnetwork", {
* name: "colab-test-default",
* network: myNetwork.id,
* region: "us-central1",
* ipCidrRange: "10.0.1.0/24",
* });
* const schedule = new gcp.colab.Schedule("schedule", {
* displayName: "full-notebook-schedule",
* location: "us-central1",
* maxConcurrentRunCount: "2",
* cron: "*/5 * * * *",
* startTime: "2030-01-01T00:00:00Z",
* createNotebookExecutionJobRequest: {
* parent: project.then(project => `projects/${project.projectId}/locations/us-central1`),
* notebookExecutionJob: {
* displayName: "test-notebook-execution-job",
* gcsOutputUri: pulumi.interpolate`gs://${bucket.name}`,
* serviceAccount: "my@service-account.com",
* kernelName: "python3",
* gcsNotebookSource: {
* uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
* generation: notebook.generation.apply(x =>String(x)),
* },
* customEnvironmentSpec: {
* machineSpec: {
* machineType: "n1-standard-4",
* acceleratorType: "NVIDIA_TESLA_T4",
* acceleratorCount: 1,
* gpuPartitionSize: "1g.10gb",
* tpuTopology: "2x2",
* },
* persistentDiskSpec: {
* diskSizeGb: "100",
* diskType: "pd-standard",
* },
* networkSpec: {
* enableInternetAccess: true,
* network: myNetwork.id,
* subnetwork: mySubnetwork.id,
* },
* },
* encryptionSpec: {
* kmsKeyName: "my-key",
* },
* labels: {
* test: "value",
* },
* },
* },
* });
* ```
* ### Colab Schedule Pipeline
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const project = gcp.organizations.getProject({});
* const bucket = new gcp.storage.Bucket("bucket", {
* name: "pipeline-job",
* location: "us-central1",
* uniformBucketLevelAccess: true,
* forceDestroy: true,
* });
* const myNetwork = new gcp.compute.Network("my_network", {
* name: "colab-test-default",
* autoCreateSubnetworks: false,
* });
* const schedule = new gcp.colab.Schedule("schedule", {
* displayName: "test-schedule",
* location: "us-central1",
* maxConcurrentRunCount: "2",
* cron: "*/5 * * * *",
* allowQueueing: true,
* maxConcurrentActiveRunCount: "2",
* maxRunCount: "10",
* startTime: "2030-01-01T00:00:00Z",
* endTime: "2030-01-02T00:00:00Z",
* createPipelineJobRequest: {
* parent: project.then(project => `projects/${project.projectId}/locations/us-central1`),
* pipelineJob: {
* displayName: "test-pipeline-job",
* preflightValidations: true,
* network: myNetwork.id,
* serviceAccount: project.then(project => `${project.number}-compute@developer.gserviceaccount.com`),
* templateUri: "https://us-kfp.pkg.dev/proj/repo/template/v1",
* reservedIpRanges: ["vertex-ai-ip-range"],
* labels: {
* key: "value-one",
* },
* encryptionSpec: {
* kmsKeyName: "my-key",
* },
* pscInterfaceConfig: {
* networkAttachment: project.then(project => `projects/${project.projectId}/regions/us-central1/networkAttachments/my-attachment`),
* dnsPeeringConfigs: [{
* domain: "my-internal-domain.corp.",
* targetNetwork: myNetwork.id,
* targetProject: project.then(project => project.projectId),
* }],
* },
* pipelineSpec: JSON.stringify({
* pipelineInfo: {
* name: "hello-world",
* },
* root: {
* dag: {
* tasks: {},
* },
* },
* schemaVersion: "2.1.0",
* sdkVersion: "kfp-2.0.0",
* }),
* runtimeConfig: {
* gcsOutputDirectory: pulumi.interpolate`gs://${bucket.name}/pipeline_root`,
* failurePolicy: "PIPELINE_FAILURE_POLICY_FAIL_FAST",
* parameterValues: {
* param1: "val1",
* },
* },
* },
* },
* });
* ```
*
* ## Import
*
* Schedule can be imported using any of these accepted formats:
*
* * `projects/{{project}}/locations/{{location}}/schedules/{{name}}`
* * `{{project}}/{{location}}/{{name}}`
* * `{{location}}/{{name}}`
*
* When using the `pulumi import` command, Schedule can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:colab/schedule:Schedule default projects/{{project}}/locations/{{location}}/schedules/{{name}}
* $ pulumi import gcp:colab/schedule:Schedule default {{project}}/{{location}}/{{name}}
* $ pulumi import gcp:colab/schedule:Schedule default {{location}}/{{name}}
* ```
*/
export declare class Schedule extends pulumi.CustomResource {
/**
* Get an existing Schedule resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ScheduleState, opts?: pulumi.CustomResourceOptions): Schedule;
/**
* Returns true if the given object is an instance of Schedule. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Schedule;
/**
* Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
*/
readonly allowQueueing: pulumi.Output<boolean | undefined>;
/**
* Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
*/
readonly catchUp: pulumi.Output<boolean>;
/**
* Request for google_colab_notebook_execution.
* Structure is documented below.
*/
readonly createNotebookExecutionJobRequest: pulumi.Output<outputs.colab.ScheduleCreateNotebookExecutionJobRequest | undefined>;
/**
* Request message for PipelineService.CreatePipelineJob.
* Structure is documented below.
*/
readonly createPipelineJobRequest: pulumi.Output<outputs.colab.ScheduleCreatePipelineJobRequest | undefined>;
/**
* Timestamp when this Schedule was created.
*/
readonly createTime: pulumi.Output<string>;
/**
* Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
*/
readonly cron: pulumi.Output<string>;
/**
* Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
* When a 'terraform destroy' or 'pulumi up' would delete the resource,
* the command will fail if this field is set to "PREVENT" in Terraform state.
* When set to "ABANDON", the command will remove the resource from Terraform
* management without updating or deleting the resource in the API.
* When set to "DELETE", deleting the resource is allowed.
*/
readonly deletionPolicy: pulumi.Output<string>;
/**
* Desired state of the Colab Schedule. Set this field to `ACTIVE` to start/resume the schedule, and `PAUSED` to pause the schedule.
*/
readonly desiredState: pulumi.Output<string | undefined>;
/**
* Required. The display name of the Schedule.
*/
readonly displayName: pulumi.Output<string>;
/**
* Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
readonly endTime: pulumi.Output<string | undefined>;
/**
* Timestamp when this Schedule was last paused. Unset if never paused.
*/
readonly lastPauseTime: pulumi.Output<string>;
/**
* Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
*/
readonly lastResumeTime: pulumi.Output<string>;
/**
* Status of a scheduled run.
* Structure is documented below.
*/
readonly lastScheduledRunResponses: pulumi.Output<outputs.colab.ScheduleLastScheduledRunResponse[]>;
/**
* The location for the resource: https://cloud.google.com/colab/docs/locations
*/
readonly location: pulumi.Output<string>;
/**
* Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
*/
readonly maxConcurrentActiveRunCount: pulumi.Output<string | undefined>;
/**
* Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
*/
readonly maxConcurrentRunCount: pulumi.Output<string>;
/**
* Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
*/
readonly maxRunCount: pulumi.Output<string | undefined>;
/**
* The resource name of the Schedule
*/
readonly name: pulumi.Output<string>;
/**
* Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
*/
readonly nextRunTime: pulumi.Output<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
readonly project: pulumi.Output<string>;
/**
* The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
readonly startTime: pulumi.Output<string>;
/**
* The number of runs started by this schedule.
*/
readonly startedRunCount: pulumi.Output<string>;
/**
* Output only. The state of the schedule.
*/
readonly state: pulumi.Output<string>;
/**
* Timestamp when this Schedule was updated.
*/
readonly updateTime: pulumi.Output<string>;
/**
* Create a Schedule resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ScheduleArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Schedule resources.
*/
export interface ScheduleState {
/**
* Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
*/
allowQueueing?: pulumi.Input<boolean | undefined>;
/**
* Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
*/
catchUp?: pulumi.Input<boolean | undefined>;
/**
* Request for google_colab_notebook_execution.
* Structure is documented below.
*/
createNotebookExecutionJobRequest?: pulumi.Input<inputs.colab.ScheduleCreateNotebookExecutionJobRequest | undefined>;
/**
* Request message for PipelineService.CreatePipelineJob.
* Structure is documented below.
*/
createPipelineJobRequest?: pulumi.Input<inputs.colab.ScheduleCreatePipelineJobRequest | undefined>;
/**
* Timestamp when this Schedule was created.
*/
createTime?: pulumi.Input<string | undefined>;
/**
* Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
*/
cron?: pulumi.Input<string | undefined>;
/**
* Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
* When a 'terraform destroy' or 'pulumi up' would delete the resource,
* the command will fail if this field is set to "PREVENT" in Terraform state.
* When set to "ABANDON", the command will remove the resource from Terraform
* management without updating or deleting the resource in the API.
* When set to "DELETE", deleting the resource is allowed.
*/
deletionPolicy?: pulumi.Input<string | undefined>;
/**
* Desired state of the Colab Schedule. Set this field to `ACTIVE` to start/resume the schedule, and `PAUSED` to pause the schedule.
*/
desiredState?: pulumi.Input<string | undefined>;
/**
* Required. The display name of the Schedule.
*/
displayName?: pulumi.Input<string | undefined>;
/**
* Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
endTime?: pulumi.Input<string | undefined>;
/**
* Timestamp when this Schedule was last paused. Unset if never paused.
*/
lastPauseTime?: pulumi.Input<string | undefined>;
/**
* Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
*/
lastResumeTime?: pulumi.Input<string | undefined>;
/**
* Status of a scheduled run.
* Structure is documented below.
*/
lastScheduledRunResponses?: pulumi.Input<pulumi.Input<inputs.colab.ScheduleLastScheduledRunResponse>[] | undefined>;
/**
* The location for the resource: https://cloud.google.com/colab/docs/locations
*/
location?: pulumi.Input<string | undefined>;
/**
* Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
*/
maxConcurrentActiveRunCount?: pulumi.Input<string | undefined>;
/**
* Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
*/
maxConcurrentRunCount?: pulumi.Input<string | undefined>;
/**
* Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
*/
maxRunCount?: pulumi.Input<string | undefined>;
/**
* The resource name of the Schedule
*/
name?: pulumi.Input<string | undefined>;
/**
* Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
*/
nextRunTime?: pulumi.Input<string | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string | undefined>;
/**
* The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
startTime?: pulumi.Input<string | undefined>;
/**
* The number of runs started by this schedule.
*/
startedRunCount?: pulumi.Input<string | undefined>;
/**
* Output only. The state of the schedule.
*/
state?: pulumi.Input<string | undefined>;
/**
* Timestamp when this Schedule was updated.
*/
updateTime?: pulumi.Input<string | undefined>;
}
/**
* The set of arguments for constructing a Schedule resource.
*/
export interface ScheduleArgs {
/**
* Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
*/
allowQueueing?: pulumi.Input<boolean | undefined>;
/**
* Request for google_colab_notebook_execution.
* Structure is documented below.
*/
createNotebookExecutionJobRequest?: pulumi.Input<inputs.colab.ScheduleCreateNotebookExecutionJobRequest | undefined>;
/**
* Request message for PipelineService.CreatePipelineJob.
* Structure is documented below.
*/
createPipelineJobRequest?: pulumi.Input<inputs.colab.ScheduleCreatePipelineJobRequest | undefined>;
/**
* Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
*/
cron: pulumi.Input<string>;
/**
* Whether Terraform will be prevented from destroying the resource. Defaults to DELETE.
* When a 'terraform destroy' or 'pulumi up' would delete the resource,
* the command will fail if this field is set to "PREVENT" in Terraform state.
* When set to "ABANDON", the command will remove the resource from Terraform
* management without updating or deleting the resource in the API.
* When set to "DELETE", deleting the resource is allowed.
*/
deletionPolicy?: pulumi.Input<string | undefined>;
/**
* Desired state of the Colab Schedule. Set this field to `ACTIVE` to start/resume the schedule, and `PAUSED` to pause the schedule.
*/
desiredState?: pulumi.Input<string | undefined>;
/**
* Required. The display name of the Schedule.
*/
displayName: pulumi.Input<string>;
/**
* Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
endTime?: pulumi.Input<string | undefined>;
/**
* The location for the resource: https://cloud.google.com/colab/docs/locations
*/
location: pulumi.Input<string>;
/**
* Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
*/
maxConcurrentActiveRunCount?: pulumi.Input<string | undefined>;
/**
* Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
*/
maxConcurrentRunCount: pulumi.Input<string>;
/**
* Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
*/
maxRunCount?: pulumi.Input<string | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string | undefined>;
/**
* The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
*/
startTime?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=schedule.d.ts.map