Skip to content

Commit

Permalink
feat(workstations): update the API
Browse files Browse the repository at this point in the history
#### workstations:v1beta

The following keys were added:
- schemas.PrivateClusterConfig.description
- schemas.PrivateClusterConfig.properties.allowedProjects.description
- schemas.PrivateClusterConfig.properties.clusterHostname.description
- schemas.PrivateClusterConfig.properties.enablePrivateEndpoint.description
- schemas.PrivateClusterConfig.properties.serviceAttachmentUri.description
- schemas.Workstation.properties.boostConfigs.description
- schemas.Workstation.properties.boostConfigs.items.$ref
- schemas.Workstation.properties.boostConfigs.readOnly
- schemas.Workstation.properties.boostConfigs.type
- schemas.Workstation.properties.satisfiesPzi.description
- schemas.Workstation.properties.satisfiesPzi.readOnly
- schemas.Workstation.properties.satisfiesPzi.type
- schemas.Workstation.properties.satisfiesPzs.description
- schemas.Workstation.properties.satisfiesPzs.readOnly
- schemas.Workstation.properties.satisfiesPzs.type
- schemas.WorkstationBoostConfig.description
- schemas.WorkstationBoostConfig.id
- schemas.WorkstationBoostConfig.properties.id.description
- schemas.WorkstationBoostConfig.properties.id.readOnly
- schemas.WorkstationBoostConfig.properties.id.type
- schemas.WorkstationBoostConfig.type
- schemas.WorkstationCluster.properties.satisfiesPzi.description
- schemas.WorkstationCluster.properties.satisfiesPzi.readOnly
- schemas.WorkstationCluster.properties.satisfiesPzi.type
- schemas.WorkstationCluster.properties.satisfiesPzs.description
- schemas.WorkstationCluster.properties.satisfiesPzs.readOnly
- schemas.WorkstationCluster.properties.satisfiesPzs.type
- schemas.WorkstationConfig.properties.maxUsableWorkstations.description
- schemas.WorkstationConfig.properties.maxUsableWorkstations.format
- schemas.WorkstationConfig.properties.maxUsableWorkstations.type
- schemas.WorkstationConfig.properties.satisfiesPzi.description
- schemas.WorkstationConfig.properties.satisfiesPzi.readOnly
- schemas.WorkstationConfig.properties.satisfiesPzi.type
- schemas.WorkstationConfig.properties.satisfiesPzs.description
- schemas.WorkstationConfig.properties.satisfiesPzs.readOnly
- schemas.WorkstationConfig.properties.satisfiesPzs.type

The following keys were changed:
- schemas.BoostConfig.properties.enableNestedVirtualization.description
- schemas.DomainConfig.description
- schemas.DomainConfig.properties.domain.description
- schemas.GceInstance.properties.enableNestedVirtualization.description
- schemas.GceInstance.properties.vmTags.description
- schemas.HttpOptions.description
- schemas.PortRange.description
- schemas.PortRange.properties.first.description
- schemas.PortRange.properties.last.description
- schemas.Workstation.properties.sourceWorkstation.description
- schemas.WorkstationConfig.properties.allowedPorts.description
- schemas.WorkstationConfig.properties.enableAuditAgent.description
- schemas.WorkstationConfig.properties.httpOptions.description

#### workstations:v1

The following keys were added:
- schemas.PortRange.description
- schemas.PortRange.id
- schemas.PortRange.properties.first.description
- schemas.PortRange.properties.first.format
- schemas.PortRange.properties.first.type
- schemas.PortRange.properties.last.description
- schemas.PortRange.properties.last.format
- schemas.PortRange.properties.last.type
- schemas.PortRange.type
- schemas.PrivateClusterConfig.description
- schemas.PrivateClusterConfig.properties.allowedProjects.description
- schemas.PrivateClusterConfig.properties.clusterHostname.description
- schemas.PrivateClusterConfig.properties.enablePrivateEndpoint.description
- schemas.PrivateClusterConfig.properties.serviceAttachmentUri.description
- schemas.WorkstationConfig.properties.allowedPorts.description
- schemas.WorkstationConfig.properties.allowedPorts.items.$ref
- schemas.WorkstationConfig.properties.allowedPorts.type

The following keys were changed:
- schemas.DomainConfig.description
- schemas.DomainConfig.properties.domain.description
- schemas.GceInstance.properties.enableNestedVirtualization.description
- schemas.GceInstance.properties.vmTags.description
- schemas.WorkstationConfig.properties.enableAuditAgent.description
  • Loading branch information
yoshi-automation authored and sofisl committed Aug 16, 2024
1 parent 09ceeaf commit 2cabd9e
Show file tree
Hide file tree
Showing 4 changed files with 215 additions and 38 deletions.
41 changes: 35 additions & 6 deletions discovery/workstations-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1195,7 +1195,7 @@
}
}
},
"revision": "20240619",
"revision": "20240723",
"rootUrl": "https://workstations.googleapis.com/",
"schemas": {
"Accelerator": {
Expand Down Expand Up @@ -1347,11 +1347,11 @@
"type": "object"
},
"DomainConfig": {
"description": "Configuration options for private workstation clusters.",
"description": "Configuration options for a custom domain.",
"id": "DomainConfig",
"properties": {
"domain": {
"description": "Immutable. Whether Workstations endpoint is private.",
"description": "Immutable. Domain used by Workstations for HTTP ingress.",
"type": "string"
}
},
Expand Down Expand Up @@ -1435,7 +1435,7 @@
"type": "boolean"
},
"enableNestedVirtualization": {
"description": "Optional. Whether to enable nested virtualization on Cloud Workstations VMs created using this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.",
"description": "Optional. Whether to enable nested virtualization on Cloud Workstations VMs created using this workstation configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series.",
"type": "boolean"
},
"machineType": {
Expand Down Expand Up @@ -1479,7 +1479,7 @@
"additionalProperties": {
"type": "string"
},
"description": "Optional. Resource manager tags to be bound to this instance. Tag keys and values have the same definition as https://cloud.google.com/resource-manager/docs/tags/tags-overview Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`.",
"description": "Optional. Resource manager tags to be bound to this instance. Tag keys and values have the same definition as [resource manager tags](https://cloud.google.com/resource-manager/docs/tags/tags-overview). Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`.",
"type": "object"
}
},
Expand Down Expand Up @@ -1940,23 +1940,45 @@
},
"type": "object"
},
"PortRange": {
"description": "A PortRange defines a range of ports. Both first and last are inclusive. To specify a single port, both first and last should be the same.",
"id": "PortRange",
"properties": {
"first": {
"description": "Required. Starting port number for the current range of ports. Valid ports are 22, 80, and ports within the range 1024-65535.",
"format": "int32",
"type": "integer"
},
"last": {
"description": "Required. Ending port number for the current range of ports. Valid ports are 22, 80, and ports within the range 1024-65535.",
"format": "int32",
"type": "integer"
}
},
"type": "object"
},
"PrivateClusterConfig": {
"description": "Configuration options for private workstation clusters.",
"id": "PrivateClusterConfig",
"properties": {
"allowedProjects": {
"description": "Optional. Additional projects that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.",
"items": {
"type": "string"
},
"type": "array"
},
"clusterHostname": {
"description": "Output only. Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the workstation cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.",
"readOnly": true,
"type": "string"
},
"enablePrivateEndpoint": {
"description": "Immutable. Whether Workstations endpoint is private.",
"type": "boolean"
},
"serviceAttachmentUri": {
"description": "Output only. Service attachment URI for the workstation cluster. The service attachemnt is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).",
"readOnly": true,
"type": "string"
}
Expand Down Expand Up @@ -2282,6 +2304,13 @@
"description": "A workstation configuration resource in the Cloud Workstations API. Workstation configurations act as templates for workstations. The workstation configuration defines details such as the workstation virtual machine (VM) instance type, persistent storage, container image defining environment, which IDE or Code Editor to use, and more. Administrators and platform teams can also use [Identity and Access Management (IAM)](https://cloud.google.com/iam/docs/overview) rules to grant access to teams or to individual developers.",
"id": "WorkstationConfig",
"properties": {
"allowedPorts": {
"description": "Optional. A list of PortRanges specifying single ports or ranges of ports that are externally accessible in the workstation. Allowed ports must be one of 22, 80, or within range 1024-65535. If not specified defaults to ports 22, 80, and ports 1024-65535.",
"items": {
"$ref": "PortRange"
},
"type": "array"
},
"annotations": {
"additionalProperties": {
"type": "string"
Expand Down Expand Up @@ -2327,7 +2356,7 @@
"type": "string"
},
"enableAuditAgent": {
"description": "Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging).",
"description": "Optional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service_account must also be specified that has `roles/logging.logWriter` and `roles/monitoring.metricWriter` on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging) and [Container output logging](http://cloud/workstations/docs/container-output-logging#overview). Operating system audit logs are available in the [Cloud Logging](https://cloud.google.com/logging/docs) console by querying: resource.type=\"gce_instance\" log_name:\"/logs/linux-auditd\"",
"type": "boolean"
},
"encryptionKey": {
Expand Down
Loading

0 comments on commit 2cabd9e

Please sign in to comment.