config/crds/resources/apiextensions.k8s.io_v1_customresourcedefinition_notebookinstances.notebooks.cnrm.cloud.google.com.yaml (607 lines of code) (raw):
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 0.0.0-dev
creationTimestamp: null
labels:
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/system: "true"
name: notebookinstances.notebooks.cnrm.cloud.google.com
spec:
group: notebooks.cnrm.cloud.google.com
names:
categories:
- gcp
kind: NotebookInstance
listKind: NotebookInstanceList
plural: notebookinstances
shortNames:
- gcpnotebookinstance
- gcpnotebookinstances
singular: notebookinstance
preserveUnknownFields: false
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: NotebookInstance is the Schema for the NotebookInstance API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: NotebookInstanceSpec defines the desired state of NotebookInstance
properties:
acceleratorConfig:
description: The hardware accelerator used on this instance. If you
use accelerators, make sure that your configuration has [enough
vCPUs and memory to support the `machine_type` you have selected](https://cloud.google.com/compute/docs/gpus/#gpus-list).
properties:
coreCount:
description: Count of cores of this accelerator.
format: int64
type: integer
type:
description: Type of this accelerator.
type: string
type: object
bootDiskSizeGB:
description: Input only. The size of the boot disk in GB attached
to this instance, up to a maximum of 64000 GB (64 TB). The minimum
recommended value is 100 GB. If not specified, this defaults to
100.
format: int64
type: integer
bootDiskType:
description: Input only. The type of the boot disk attached to this
instance, defaults to standard persistent disk (`PD_STANDARD`).
type: string
canIPForward:
description: Optional. Flag to enable ip forwarding or not, default
false/off. https://cloud.google.com/vpc/docs/using-routes#canipforward
type: boolean
containerImage:
description: Use a container image to start the notebook instance.
properties:
repository:
description: 'Required. The path to the container image repository.
For example: `gcr.io/{project_id}/{image_name}`'
type: string
tag:
description: The tag of the container image. If not specified,
this defaults to the latest tag.
type: string
type: object
customGpuDriverPath:
description: Specify a custom Cloud Storage path where the GPU driver
is stored. If not specified, we'll automatically choose from official
GPU drivers.
type: string
dataDiskSizeGB:
description: Input only. The size of the data disk in GB attached
to this instance, up to a maximum of 64000 GB (64 TB). You can choose
the size of the data disk based on how big your notebooks and data
are. If not specified, this defaults to 100.
format: int64
type: integer
dataDiskType:
description: Input only. The type of the data disk attached to this
instance, defaults to standard persistent disk (`PD_STANDARD`).
type: string
diskEncryption:
description: Input only. Disk encryption method used on the boot and
data disks, defaults to GMEK.
type: string
installGpuDriver:
description: Whether the end user authorizes Google Cloud to install
GPU driver on this instance. If this field is empty or set to false,
the GPU driver won't be installed. Only applicable to instances
with GPUs.
type: boolean
instanceOwners:
description: |-
Input only. The owner of this instance after creation. Format: `alias@example.com`
Currently supports one owner only. If not specified, all of the service
account users of your VM instance's service account can use
the instance.
items:
type: string
type: array
kmsKeyRef:
description: Input only. The KMS key used to encrypt the disks, only
applicable if disk_encryption is CMEK. Learn more about [using your
own encryption keys](/kms/docs/quickstart).
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed KMSCryptoKey.
Should be in the format `projects/[kms_project_id]/locations/[region]/keyRings/[key_ring_id]/cryptoKeys/[key]`.
type: string
name:
description: The `name` of a `KMSCryptoKey` resource.
type: string
namespace:
description: The `namespace` of a `KMSCryptoKey` resource.
type: string
type: object
labels:
additionalProperties:
type: string
description: Labels to apply to this instance. These can be later
modified by the setLabels method.
type: object
machineType:
description: Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types)
of this instance.
type: string
metadata:
additionalProperties:
type: string
description: Custom metadata to apply to this instance.
type: object
networkRef:
description: The name of the VPC that this instance is in.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: A reference to an externally managed Compute Network
resource. Should be in the format `projects/{{projectID}}/global/networks/{{network}}`.
type: string
name:
description: The `name` field of a `ComputeNetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeNetwork` resource.
type: string
type: object
nicType:
description: Optional. The type of vNIC to be used on this interface.
This may be gVNIC or VirtioNet.
type: string
noProxyAccess:
description: If true, the notebook instance will not register with
the proxy.
type: boolean
noPublicIP:
description: If true, no public IP will be assigned to this instance.
type: boolean
noRemoveDataDisk:
description: Input only. If true, the data disk will not be auto deleted
when deleting the instance.
type: boolean
postStartupScript:
description: Path to a Bash script that automatically runs after a
notebook instance fully boots up. The path must be a URL or Cloud
Storage path (`gs://path-to-file/file-name`).
type: string
projectRef:
description: The project that this resource belongs to.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: The `projectID` field of a project, when not managed
by Config Connector.
type: string
kind:
description: The kind of the Project resource; optional but must
be `Project` if provided.
type: string
name:
description: The `name` field of a `Project` resource.
type: string
namespace:
description: The `namespace` field of a `Project` resource.
type: string
type: object
reservationAffinity:
description: Optional. The optional reservation affinity. Setting
this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
to this notebook instance.
properties:
consumeReservationType:
description: Optional. Type of reservation to consume
type: string
key:
description: Optional. Corresponds to the label key of reservation
resource.
type: string
values:
description: Optional. Corresponds to the label values of reservation
resource.
items:
type: string
type: array
type: object
resourceID:
description: The NotebookInstance name. If not given, the metadata.name
will be used.
type: string
serviceAccountRef:
description: |-
The service account on this instance, giving access to other Google
Cloud services.
You can use any service account within the same project, but you
must have the service account user permission to use the instance.
If not specified, the [Compute Engine default service
account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account)
is used.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: The `email` field of an `IAMServiceAccount` resource.
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
serviceAccountScopes:
description: |-
Optional. The URIs of service account scopes to be included in
Compute Engine instances.
If not specified, the following
[scopes](https://cloud.google.com/compute/docs/access/service-accounts#accesscopesiam)
are defined:
- https://www.googleapis.com/auth/cloud-platform
- https://www.googleapis.com/auth/userinfo.email
If not using default scopes, you need at least:
https://www.googleapis.com/auth/compute
items:
type: string
type: array
shieldedInstanceConfig:
description: Optional. Shielded VM configuration. [Images using supported
Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).
properties:
enableIntegrityMonitoring:
description: |-
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.
type: boolean
enableSecureBoot:
description: |-
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.
type: boolean
enableVTPM:
description: Defines whether the instance has the vTPM enabled.
Enabled by default.
type: boolean
type: object
subnetRef:
description: The name of the subnet that this instance is in.
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: The ComputeSubnetwork selflink of form "projects/{{project}}/regions/{{region}}/subnetworks/{{name}}",
when not managed by Config Connector.
type: string
name:
description: The `name` field of a `ComputeSubnetwork` resource.
type: string
namespace:
description: The `namespace` field of a `ComputeSubnetwork` resource.
type: string
type: object
tags:
description: Optional. The Compute Engine tags to add to runtime (see
[Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
items:
type: string
type: array
upgradeHistory:
description: The upgrade history of this instance.
items:
properties:
action:
description: Action. Rolloback or Upgrade.
type: string
containerImage:
description: The container image before this instance upgrade.
type: string
createTime:
description: The time that this instance upgrade history entry
is created.
type: string
framework:
description: The framework of this notebook instance.
type: string
snapshot:
description: The snapshot of the boot disk of this notebook
instance before upgrade.
type: string
state:
description: The state of this instance upgrade history entry.
type: string
targetImage:
description: 'Target VM Image. Format: `ainotebooks-vm/project/image-name/name`.'
type: string
targetVersion:
description: Target VM Version, like m63.
type: string
version:
description: The version of the notebook instance before this
upgrade.
type: string
vmImage:
description: The VM image before this instance upgrade.
type: string
type: object
type: array
vmImage:
description: Use a Compute Engine VM image to start the notebook instance.
properties:
imageFamily:
description: Use this VM image family to find the image; the newest
image in this family will be used.
type: string
imageName:
description: Use VM image name to find the image.
type: string
project:
description: 'Required. The name of the Google Cloud project that
this VM image belongs to. Format: `{project_id}`'
type: string
type: object
zone:
description: Immutable. The location where the notebook instance should
reside.
type: string
required:
- projectRef
- zone
type: object
status:
description: NotebookInstanceStatus defines the config connector machine
state of NotebookInstance
properties:
conditions:
description: Conditions represent the latest available observations
of the object's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
externalRef:
description: A unique specifier for the NotebookInstance resource
in GCP.
type: string
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
format: int64
type: integer
observedState:
description: ObservedState is the state of the resource as most recently
observed in GCP.
properties:
createTime:
description: Output only. Instance creation time.
type: string
creator:
description: Output only. Email address of entity that sent original
CreateInstance request.
type: string
disks:
description: Output only. Attached disks to notebook instance.
items:
properties:
autoDelete:
description: Indicates whether the disk will be auto-deleted
when the instance is deleted (but not when the disk is
detached from the instance).
type: boolean
boot:
description: Indicates that this is a boot disk. The virtual
machine will use the first partition of the disk for its
root filesystem.
type: boolean
deviceName:
description: |-
Indicates a unique device name of your choice that is reflected into the
`/dev/disk/by-id/google-*` tree of a Linux operating system running
within the instance. This name can be used to reference the device for
mounting, resizing, and so on, from within the instance.
If not specified, the server chooses a default device name to apply to
this disk, in the form persistent-disk-x, where x is a number assigned by
Google Compute Engine.This field is only applicable for persistent disks.
type: string
diskSizeGB:
description: Indicates the size of the disk in base-2 GB.
format: int64
type: integer
guestOSFeatures:
description: Indicates a list of features to enable on the
guest operating system. Applicable only for bootable images.
Read Enabling guest operating system features to see
a list of available options.
items:
properties:
type:
description: |-
The ID of a supported feature. Read Enabling guest operating system
features to see a list of available options.
Valid values:
* `FEATURE_TYPE_UNSPECIFIED`
* `MULTI_IP_SUBNET`
* `SECURE_BOOT`
* `UEFI_COMPATIBLE`
* `VIRTIO_SCSI_MULTIQUEUE`
* `WINDOWS`
type: string
type: object
type: array
index:
description: A zero-based index to this disk, where 0 is
reserved for the boot disk. If you have many disks attached
to an instance, each disk would have a unique index number.
format: int64
type: integer
interface:
description: |-
Indicates the disk interface to use for attaching this disk, which is
either SCSI or NVME. The default is SCSI. Persistent disks must always
use SCSI and the request will fail if you attempt to attach a persistent
disk in any other format than SCSI. Local SSDs can use either NVME or
SCSI. For performance characteristics of SCSI over NVMe, see Local SSD
performance.
Valid values:
* `NVME`
* `SCSI`
type: string
kind:
description: Type of the resource. Always compute#attachedDisk
for attached disks.
type: string
licenses:
description: A list of publicly visible licenses. Reserved
for Google's use. A License represents billing and aggregate
usage data for public and marketplace images.
items:
type: string
type: array
mode:
description: |-
The mode in which to attach this disk, either `READ_WRITE` or
`READ_ONLY`. If not specified, the default is to attach the disk in
`READ_WRITE` mode. Valid values:
* `READ_ONLY`
* `READ_WRITE`
type: string
source:
description: Indicates a valid partial or full URL to an
existing Persistent Disk resource.
type: string
type:
description: |-
Indicates the type of the disk, either `SCRATCH` or `PERSISTENT`.
Valid values:
* `PERSISTENT`
* `SCRATCH`
type: string
type: object
type: array
name:
description: 'Output only. The name of this notebook instance.
Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`'
type: string
proxyURI:
description: Output only. The proxy endpoint that is used to access
the Jupyter notebook.
type: string
state:
description: Output only. The state of this instance.
type: string
updateTime:
description: Output only. Instance update time.
type: string
type: object
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}