Creates a Job.

Scopes

You will need authorization for the https://www.googleapis.com/auth/cloud-platform scope to make a valid call.

If unset, the scope for this method defaults to https://www.googleapis.com/auth/cloud-platform. You can set the scope for this method like this: run2 --scope <scope> projects locations-jobs-create ...

Required Scalar Argument

  • <parent> (string)
    • Required. The location and project in which this Job should be created. Format: projects/{project}/locations/{location}, where {project} can be project id or number.

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

GoogleCloudRunV2Job:
  annotations: { string: string }
  binary-authorization:
    breakglass-justification: string
    use-default: boolean
  client: string
  client-version: string
  create-time: string
  creator: string
  delete-time: string
  etag: string
  execution-count: integer
  expire-time: string
  generation: string
  labels: { string: string }
  last-modifier: string
  latest-created-execution:
    completion-time: string
    create-time: string
    name: string
  launch-stage: string
  name: string
  observed-generation: string
  reconciling: boolean
  satisfies-pzs: boolean
  template:
    annotations: { string: string }
    labels: { string: string }
    parallelism: integer
    task-count: integer
    template:
      encryption-key: string
      execution-environment: string
      max-retries: integer
      service-account: string
      timeout: string
      vpc-access:
        connector: string
        egress: string
  terminal-condition:
    execution-reason: string
    last-transition-time: string
    message: string
    reason: string
    revision-reason: string
    severity: string
    state: string
    type: string
  uid: string
  update-time: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . annotations=key=et
    • Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with run.googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected on new resources. All system annotations in v1 now have a corresponding field in v2 Job. This field follows Kubernetes annotations' namespacing, limits, and rules.
    • the value will be associated with the given key
  • binary-authorization breakglass-justification=magna
    • If present, indicates to use Breakglass using this justification. If use_default is False, then it must be empty. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass
  • use-default=true

    • If True, indicates to use the default project's binary authorization policy. If False, binary authorization will be disabled.
  • .. client=voluptua.

    • Arbitrary identifier for the API client.
  • client-version=at
    • Arbitrary version identifier for the API client.
  • create-time=sanctus
    • Output only. The creation time.
  • creator=sed
    • Output only. Email address of the authenticated creator.
  • delete-time=amet.
    • Output only. The deletion time.
  • etag=takimata
    • Output only. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
  • execution-count=49
    • Output only. Number of executions created for this job.
  • expire-time=duo
    • Output only. For a deleted resource, the time after which it will be permamently deleted.
  • generation=ipsum
    • Output only. A number that monotonically increases every time the user modifies the desired state.
  • labels=key=gubergren
    • Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with run.googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 Job.
    • the value will be associated with the given key
  • last-modifier=lorem
    • Output only. Email address of the last authenticated modifier.
  • latest-created-execution completion-time=gubergren
    • Creation timestamp of the execution.
  • create-time=eos
    • Creation timestamp of the execution.
  • name=dolor

    • Name of the execution.
  • .. launch-stage=ea

    • The launch stage as defined by Google Cloud Platform Launch Stages. Cloud Run supports ALPHA, BETA, and GA. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.
  • name=ipsum
    • The fully qualified name of this Job. Format: projects/{project}/locations/{location}/jobs/{job}
  • observed-generation=invidunt
    • Output only. The generation of this Job. See comments in reconciling for additional information on reconciliation process in Cloud Run.
  • reconciling=true
    • Output only. Returns true if the Job is currently being acted upon by the system to bring it into the desired state. When a new Job is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Job to the desired state. This process is called reconciliation. While reconciliation is in process, observed_generation and latest_succeeded_execution, will have transient values that might mismatch the intended state: Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the state matches the Job, or there was an error, and reconciliation failed. This state can be found in terminal_condition.state. If reconciliation succeeded, the following fields will match: observed_generation and generation, latest_succeeded_execution and latest_created_execution. If reconciliation failed, observed_generation and latest_succeeded_execution will have the state of the last succeeded execution or empty for newly created Job. Additional information on the failure can be found in terminal_condition and conditions.
  • satisfies-pzs=true
    • Output only. Reserved for future use.
  • template annotations=key=sed
    • Unstructured key value map that may be set by external tools to store and arbitrary metadata. They are not queryable and should be preserved when modifying objects. Cloud Run API v2 does not support annotations with run.googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected. All system annotations in v1 now have a corresponding field in v2 ExecutionTemplate. This field follows Kubernetes annotations' namespacing, limits, and rules.
    • the value will be associated with the given key
  • labels=key=ut
    • Unstructured key value map that can be used to organize and categorize objects. User-provided labels are shared with Google's billing system, so they can be used to filter, or break down billing charges by team, component, environment, state, etc. For more information, visit https://cloud.google.com/resource-manager/docs/creating-managing-labels or https://cloud.google.com/run/docs/configuring/labels. Cloud Run API v2 does not support labels with run.googleapis.com, cloud.googleapis.com, serving.knative.dev, or autoscaling.knative.dev namespaces, and they will be rejected. All system labels in v1 now have a corresponding field in v2 ExecutionTemplate.
    • the value will be associated with the given key
  • parallelism=89
    • Specifies the maximum desired number of tasks the execution should run at given time. Must be <= task_count. When the job is run, if this field is 0 or unset, the maximum possible value will be used for that execution. The actual number of tasks running in steady state will be less than this number when there are fewer tasks waiting to be completed remaining, i.e. when the work left to do is less than max parallelism.
  • task-count=85
    • Specifies the desired number of tasks the execution should run. Setting to 1 means that parallelism is limited to 1 and the success of that task signals the success of the execution. Defaults to 1.
  • template encryption-key=est
    • A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
  • execution-environment=ipsum
    • The execution environment being used to host this Task.
  • max-retries=51
    • Number of retries allowed per Task, before marking this Task failed. Defaults to 3.
  • service-account=est
    • Email address of the IAM service account associated with the Task of a Job. The service account represents the identity of the running task, and determines what permissions the task has. If not provided, the task will use the project's default service account.
  • timeout=gubergren
    • Max allowed time duration the Task may be active before the system will actively try to mark it failed and kill associated containers. This applies per attempt of a task, meaning each retry can run for the full timeout. Defaults to 600 seconds.
  • vpc-access connector=ea
    • VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}, where {project} can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.
  • egress=dolor

    • Traffic VPC egress settings. If not provided, it defaults to PRIVATE_RANGES_ONLY.
  • ....terminal-condition execution-reason=lorem

    • A reason for the execution condition.
  • last-transition-time=eos
    • Last time the condition transitioned from one status to another.
  • message=labore
    • Human readable message indicating details about the current status.
  • reason=sed
    • A common (service-level) reason for this condition.
  • revision-reason=duo
    • A reason for the revision condition.
  • severity=sed
    • How to interpret failures of this condition, one of Error, Warning, Info
  • state=no
    • State of the condition.
  • type=stet

    • type is used to communicate the status of the reconciliation process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting Types common to all resources include: * "Ready": True when the Resource is ready.
  • .. uid=kasd

    • Output only. Server assigned unique identifier for the Execution. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.
  • update-time=et
    • Output only. The last-modified time.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional Method Properties

You may set the following properties to further configure the call. Please note that -p is followed by one or more key-value-pairs, and is called like this -p k1=v1 k2=v2 even though the listing below repeats the -p for completeness.

  • -p job-id=string

    • Required. The unique identifier for the Job. The name of the job becomes {parent}/jobs/{job_id}.
  • -p validate-only=boolean

    • Indicates that the request should be validated and default values populated, without persisting the request or creating any resources.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").