Skip to content

Commit

Permalink
feat(workstations)!: update the API
Browse files Browse the repository at this point in the history
BREAKING CHANGE: This release has breaking changes.

#### workstations:v1beta

The following keys were deleted:
- schemas.PrivateClusterConfig.description
- schemas.PrivateClusterConfig.properties.allowedProjects.description
- schemas.PrivateClusterConfig.properties.clusterHostname.description
- schemas.PrivateClusterConfig.properties.enablePrivateEndpoint.description
- schemas.PrivateClusterConfig.properties.serviceAttachmentUri.description

The following keys were changed:
- schemas.DomainConfig.description
- schemas.DomainConfig.properties.domain.description
- schemas.GceInstance.properties.enableNestedVirtualization.description
- schemas.GenerateAccessTokenRequest.properties.port.description
- schemas.PortRange.description
- schemas.WorkstationConfig.properties.allowedPorts.description

#### workstations:v1

The following keys were deleted:
- schemas.PrivateClusterConfig.description
- schemas.PrivateClusterConfig.properties.allowedProjects.description
- schemas.PrivateClusterConfig.properties.clusterHostname.description
- schemas.PrivateClusterConfig.properties.enablePrivateEndpoint.description
- schemas.PrivateClusterConfig.properties.serviceAttachmentUri.description

The following keys were added:
- schemas.GceInstance.properties.vmTags.additionalProperties.type
- schemas.GceInstance.properties.vmTags.description
- schemas.GceInstance.properties.vmTags.type
- schemas.GenerateAccessTokenRequest.properties.port.description
- schemas.GenerateAccessTokenRequest.properties.port.format
- schemas.GenerateAccessTokenRequest.properties.port.type

The following keys were changed:
- schemas.DomainConfig.description
- schemas.DomainConfig.properties.domain.description
- schemas.GceInstance.properties.enableNestedVirtualization.description
  • Loading branch information
yoshi-automation authored and sofisl committed Jun 27, 2024
1 parent 26a7e73 commit 9757a61
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 60 deletions.
25 changes: 16 additions & 9 deletions discovery/workstations-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1195,7 +1195,7 @@
}
}
},
"revision": "20240424",
"revision": "20240619",
"rootUrl": "https://workstations.googleapis.com/",
"schemas": {
"Accelerator": {
Expand Down Expand Up @@ -1347,11 +1347,11 @@
"type": "object"
},
"DomainConfig": {
"description": "Configuration options for a custom domain.",
"description": "Configuration options for private workstation clusters.",
"id": "DomainConfig",
"properties": {
"domain": {
"description": "Immutable. Domain used by Workstations for HTTP ingress.",
"description": "Immutable. Whether Workstations endpoint is private.",
"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. 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.",
"type": "boolean"
},
"machineType": {
Expand Down Expand Up @@ -1474,6 +1474,13 @@
"type": "string"
},
"type": "array"
},
"vmTags": {
"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`.",
"type": "object"
}
},
"type": "object"
Expand Down Expand Up @@ -1567,6 +1574,11 @@
"format": "google-datetime",
"type": "string"
},
"port": {
"description": "Optional. Port for which the access token should be generated. If specified, the generated access token grants access only to the specified port of the workstation. If specified, values must be within the range [1 - 65535]. If not specified, the generated access token grants access to all ports of the workstation.",
"format": "int32",
"type": "integer"
},
"ttl": {
"description": "Desired lifetime duration of the access token. This value must be at most 24 hours. If a value is not specified, the token's lifetime will be set to a default value of 1 hour.",
"format": "google-duration",
Expand Down Expand Up @@ -1929,27 +1941,22 @@
"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
19 changes: 7 additions & 12 deletions discovery/workstations-v1beta.json
Original file line number Diff line number Diff line change
Expand Up @@ -1127,7 +1127,7 @@
}
}
},
"revision": "20240520",
"revision": "20240528",
"rootUrl": "https://workstations.googleapis.com/",
"schemas": {
"Accelerator": {
Expand Down Expand Up @@ -1315,11 +1315,11 @@
"type": "object"
},
"DomainConfig": {
"description": "Configuration options for a custom domain.",
"description": "Configuration options for private workstation clusters.",
"id": "DomainConfig",
"properties": {
"domain": {
"description": "Immutable. Domain used by Workstations for HTTP ingress.",
"description": "Immutable. Whether Workstations endpoint is private.",
"type": "string"
}
},
Expand Down Expand Up @@ -1410,7 +1410,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. 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.",
"type": "boolean"
},
"machineType": {
Expand Down Expand Up @@ -1550,7 +1550,7 @@
"type": "string"
},
"port": {
"description": "Optional. Port for which the access token should be generated. If specified, the generated access token will grant access only to the specified port of the workstation. If specified, values must be within the range [1 - 65535]. If not specified, the generated access token will grant access to all ports of the workstation.",
"description": "Optional. Port for which the access token should be generated. If specified, the generated access token grants access only to the specified port of the workstation. If specified, values must be within the range [1 - 65535]. If not specified, the generated access token grants access to all ports of the workstation.",
"format": "int32",
"type": "integer"
},
Expand Down Expand Up @@ -1864,7 +1864,7 @@
"type": "object"
},
"PortRange": {
"description": "A PortsConfig defines a range of ports. Both first and last are inclusive. To specify a single port, both first and last should be same.",
"description": "A PortsConfig 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": {
Expand All @@ -1881,27 +1881,22 @@
"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 @@ -2232,7 +2227,7 @@
"id": "WorkstationConfig",
"properties": {
"allowedPorts": {
"description": "Optional. Single or Range of ports externally accessible in the workstation. If not specified defaults to ports 22, 80 and ports 1024-65535.",
"description": "Optional. A Single or Range of ports externally accessible in the workstation. If not specified defaults to ports 22, 80 and ports 1024-65535.",
"items": {
"$ref": "PortRange"
},
Expand Down
Loading

0 comments on commit 9757a61

Please sign in to comment.