google.cloud.gcp_colab_notebook_execution module – Manages a Colab.NotebookExecution resource

Note

This module is part of the google.cloud collection (version 1.15.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install google.cloud. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: google.cloud.gcp_colab_notebook_execution.

Synopsis

  • ‘An instance of a notebook Execution’

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 3.8

  • requests >= 2.18.4

  • google-auth >= 2.25.1

Parameters

Parameter

Comments

access_token

string

The access token used to authenticate.

auth_kind

string / required

The type of credential used.

Choices:

  • "accesstoken"

  • "application"

  • "machineaccount"

  • "serviceaccount"

custom_environment_spec

dictionary

Compute configuration to use for an execution job.

machine_spec

dictionary

‘The machine configuration of the runtime.’.

accelerator_count

integer

The number of accelerators used by the runtime.

accelerator_type

string

The type of hardware accelerator used by the runtime.

If specified, acceleratorCount must also be specified.

machine_type

string

The Compute Engine machine type selected for the runtime.

network_spec

dictionary

The network configuration for the runtime.

enable_internet_access

boolean

Enable public internet access for the runtime.

Choices:

  • false

  • true

network

string

The name of the VPC that this runtime is in.

subnetwork

string

The name of the subnetwork that this runtime is in.

persistent_disk_spec

dictionary

The configuration for the data disk of the runtime.

disk_size_gb

string

The disk size of the runtime in GB.

If specified, the diskType must also be specified.

The minimum size is 10GB and the maximum is 65536GB.

disk_type

string

The type of the persistent disk.

shielded_instance_config

dictionary

Shielded VM configuration.

enable_integrity_monitoring

boolean

Defines whether the instance has integrity monitoring enabled.

Enables monitoring and attestation of the boot integrity of the instance.

The attestation is performed against the integrity policy baseline.

This baseline is initially derived from the implicitly trusted boot image when the instance is created.

Enabled by default.

Choices:

  • false

  • true

enable_secure_boot

boolean

Defines whether the instance has Secure Boot enabled.

Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.

Disabled by default.

Choices:

  • false

  • true

enable_vtpm

boolean

Defines whether the instance has the vTPM enabled.

Enabled by default.

Choices:

  • false

  • true

dataform_repository_source

dictionary

The Dataform Repository containing the input notebook.

commit_sha

string

The commit SHA to read repository with.

If unset, the file will be read at HEAD.

dataform_repository_resource_name

string / required

The resource name of the Dataform Repository.

direct_notebook_source

dictionary

The content of the input notebook in ipynb format.

content

string / required

The base64-encoded contents of the input notebook file.

display_name

string / required

The display name of the Notebook Execution.

env_type

string

Specifies which Ansible environment you’re running this module within.

This should not be set unless you know what you’re doing.

This only alters the User Agent string for any API requests.

execution_timeout

string

Max running time of the execution job in seconds (default 86400s / 24 hrs).

execution_user

string

The user email to run the execution as.

gcs_notebook_source

dictionary

The Cloud Storage uri for the input notebook.

generation

string

The version of the Cloud Storage object to read.

If unset, the current version of the object is read.

See https://cloud.google.com/storage/docs/metadata#generation-number.

uri

string / required

The Cloud Storage uri pointing to the ipynb file.

gcs_output_uri

string / required

The Cloud Storage location to upload the result to.

Format:`gs://bucket-name`.

location

string / required

The location for the resource: https://cloud.google.com/colab/docs/locations.

notebook_execution_job_id

string

User specified ID for the Notebook Execution Job.

notebook_runtime_template_resource_name

string

The NotebookRuntimeTemplate to source compute configuration from.

project

string

The Google Cloud Platform project to use.

scopes

list / elements=string

Array of scopes to be used.

service_account

string

The service account to run the execution as.

service_account_contents

jsonarg

The contents of a Service Account JSON file,

either in a dictionary or as a JSON string that represents it.

service_account_email

string

An optional service account email address if machineaccount is

selected and the user does not wish to use the default email.

service_account_file

path

The path of a Service Account JSON file if serviceaccount

is selected as type.

state

string

Whether the resource should exist.

Choices:

  • "present" ← (default)

  • "absent"

workbench_runtime

dictionary

Configuration for a Workbench Instances-based environment.

vm_image

dictionary / required

Custom Compute Engine VM image for the Workbench instance.

family

string

Use this VM image family to find the image; the newest image in this family will be used.

name

string

Use VM image name to find the image.

project

string

The name of the Google Cloud project that this VM image belongs to.

Format: {project_id}.

Notes

Note

Examples

- name: Create Basic Notebook Execution
  vars:
    nb_config:
      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
  google.cloud.gcp_colab_notebook_execution:
    state: present
    display_name: my-notebook-execution
    location: us-central1
    direct_notebook_source:
      content: "{{ nb_config | to_json | b64encode }}"
    notebook_runtime_template_resource_name: projects/my-project/locations/us-central1/notebookRuntimeTemplates/my-runtime-template
    gcs_output_uri: gs://my-bucket/output/

################################################################################

- name: Create Notebook Execution With Custom Environment
  vars:
    nb_config:
      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
  google.cloud.gcp_colab_notebook_execution:
    state: present
    display_name: my-notebook-execution
    location: us-central1
    direct_notebook_source:
      content: "{{ nb_config | to_json | b64encode }}"
    notebook_runtime_template_resource_name: projects/my-project/locations/us-central1/notebookRuntimeTemplates/my-runtime-template
    custom_environment_spec:
      machine_spec:
        machine_type: n1-standard-4
        accelerator_type: NVIDIA_TESLA_T4
        accelerator_count: 1
      persistent_disk_spec:
        disk_type: pd-standard
        disk_size_gb: 100
      network_spec:
        enable_internet_access: true
        network: "projects/my-project/global/networks/my-network"
    gcs_output_uri: gs://my-bucket/output/

################################################################################

- name: Create Notebook Execution With Dataform Repository Source
  google.cloud.gcp_colab_notebook_execution:
    state: present
    display_name: my-notebook-execution
    location: us-central1
    dataform_repository_source:
      commit_sha: deadbeef
      dataform_repository_resource_name: projects/my-project/locations/us-central1/dataform/repositories/my-dataform-repository
    notebook_runtime_template_resource_name: projects/my-project/locations/us-central1/notebookRuntimeTemplates/my-runtime-template
    gcs_output_uri: gs://my-bucket/output/

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Whether the resource was changed.

Returned: always

state

string

The current state of the resource.

Returned: always

Authors

  • Google Inc. (@googlecloudplatform)