Class WorkstationConfig.Host.GceInstance.Builder

    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<WorkstationConfig.Host.GceInstance.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<WorkstationConfig.Host.GceInstance.Builder>
      • getDefaultInstanceForType

        public WorkstationConfig.Host.GceInstance getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public WorkstationConfig.Host.GceInstance build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public WorkstationConfig.Host.GceInstance buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<WorkstationConfig.Host.GceInstance.Builder>
      • getMachineType

        public String getMachineType()
         Optional. The type of machine to use for VM instances—for example,
         `"e2-standard-4"`. For more information about machine types that
         Cloud Workstations supports, see the list of
         [available machine
         types](https://cloud.google.com/workstations/docs/available-machine-types).
         
        string machine_type = 1 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getMachineType in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The machineType.
      • getMachineTypeBytes

        public com.google.protobuf.ByteString getMachineTypeBytes()
         Optional. The type of machine to use for VM instances—for example,
         `"e2-standard-4"`. For more information about machine types that
         Cloud Workstations supports, see the list of
         [available machine
         types](https://cloud.google.com/workstations/docs/available-machine-types).
         
        string machine_type = 1 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getMachineTypeBytes in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The bytes for machineType.
      • setMachineType

        public WorkstationConfig.Host.GceInstance.Builder setMachineType​(String value)
         Optional. The type of machine to use for VM instances—for example,
         `"e2-standard-4"`. For more information about machine types that
         Cloud Workstations supports, see the list of
         [available machine
         types](https://cloud.google.com/workstations/docs/available-machine-types).
         
        string machine_type = 1 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The machineType to set.
        Returns:
        This builder for chaining.
      • clearMachineType

        public WorkstationConfig.Host.GceInstance.Builder clearMachineType()
         Optional. The type of machine to use for VM instances—for example,
         `"e2-standard-4"`. For more information about machine types that
         Cloud Workstations supports, see the list of
         [available machine
         types](https://cloud.google.com/workstations/docs/available-machine-types).
         
        string machine_type = 1 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • setMachineTypeBytes

        public WorkstationConfig.Host.GceInstance.Builder setMachineTypeBytes​(com.google.protobuf.ByteString value)
         Optional. The type of machine to use for VM instances—for example,
         `"e2-standard-4"`. For more information about machine types that
         Cloud Workstations supports, see the list of
         [available machine
         types](https://cloud.google.com/workstations/docs/available-machine-types).
         
        string machine_type = 1 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes for machineType to set.
        Returns:
        This builder for chaining.
      • getServiceAccount

        public String getServiceAccount()
         Optional. The email address of the service account for Cloud
         Workstations VMs created with this configuration. When specified, be
         sure that the service account has `logginglogEntries.create` permission
         on the project so it can write logs out to Cloud Logging. If using a
         custom container image, the service account must have permissions to
         pull the specified image.
        
         If you as the administrator want to be able to `ssh` into the
         underlying VM, you need to set this value to a service account
         for which you have the `iam.serviceAccounts.actAs` permission.
         Conversely, if you don't want anyone to be able to `ssh` into the
         underlying VM, use a service account where no one has that
         permission.
        
         If not set, VMs run with a service account provided by the
         Cloud Workstations service, and the image must be publicly
         accessible.
         
        string service_account = 2 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccount in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The serviceAccount.
      • getServiceAccountBytes

        public com.google.protobuf.ByteString getServiceAccountBytes()
         Optional. The email address of the service account for Cloud
         Workstations VMs created with this configuration. When specified, be
         sure that the service account has `logginglogEntries.create` permission
         on the project so it can write logs out to Cloud Logging. If using a
         custom container image, the service account must have permissions to
         pull the specified image.
        
         If you as the administrator want to be able to `ssh` into the
         underlying VM, you need to set this value to a service account
         for which you have the `iam.serviceAccounts.actAs` permission.
         Conversely, if you don't want anyone to be able to `ssh` into the
         underlying VM, use a service account where no one has that
         permission.
        
         If not set, VMs run with a service account provided by the
         Cloud Workstations service, and the image must be publicly
         accessible.
         
        string service_account = 2 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccountBytes in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The bytes for serviceAccount.
      • setServiceAccount

        public WorkstationConfig.Host.GceInstance.Builder setServiceAccount​(String value)
         Optional. The email address of the service account for Cloud
         Workstations VMs created with this configuration. When specified, be
         sure that the service account has `logginglogEntries.create` permission
         on the project so it can write logs out to Cloud Logging. If using a
         custom container image, the service account must have permissions to
         pull the specified image.
        
         If you as the administrator want to be able to `ssh` into the
         underlying VM, you need to set this value to a service account
         for which you have the `iam.serviceAccounts.actAs` permission.
         Conversely, if you don't want anyone to be able to `ssh` into the
         underlying VM, use a service account where no one has that
         permission.
        
         If not set, VMs run with a service account provided by the
         Cloud Workstations service, and the image must be publicly
         accessible.
         
        string service_account = 2 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The serviceAccount to set.
        Returns:
        This builder for chaining.
      • clearServiceAccount

        public WorkstationConfig.Host.GceInstance.Builder clearServiceAccount()
         Optional. The email address of the service account for Cloud
         Workstations VMs created with this configuration. When specified, be
         sure that the service account has `logginglogEntries.create` permission
         on the project so it can write logs out to Cloud Logging. If using a
         custom container image, the service account must have permissions to
         pull the specified image.
        
         If you as the administrator want to be able to `ssh` into the
         underlying VM, you need to set this value to a service account
         for which you have the `iam.serviceAccounts.actAs` permission.
         Conversely, if you don't want anyone to be able to `ssh` into the
         underlying VM, use a service account where no one has that
         permission.
        
         If not set, VMs run with a service account provided by the
         Cloud Workstations service, and the image must be publicly
         accessible.
         
        string service_account = 2 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • setServiceAccountBytes

        public WorkstationConfig.Host.GceInstance.Builder setServiceAccountBytes​(com.google.protobuf.ByteString value)
         Optional. The email address of the service account for Cloud
         Workstations VMs created with this configuration. When specified, be
         sure that the service account has `logginglogEntries.create` permission
         on the project so it can write logs out to Cloud Logging. If using a
         custom container image, the service account must have permissions to
         pull the specified image.
        
         If you as the administrator want to be able to `ssh` into the
         underlying VM, you need to set this value to a service account
         for which you have the `iam.serviceAccounts.actAs` permission.
         Conversely, if you don't want anyone to be able to `ssh` into the
         underlying VM, use a service account where no one has that
         permission.
        
         If not set, VMs run with a service account provided by the
         Cloud Workstations service, and the image must be publicly
         accessible.
         
        string service_account = 2 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes for serviceAccount to set.
        Returns:
        This builder for chaining.
      • getServiceAccountScopesList

        public com.google.protobuf.ProtocolStringList getServiceAccountScopesList()
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccountScopesList in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        A list containing the serviceAccountScopes.
      • getServiceAccountScopesCount

        public int getServiceAccountScopesCount()
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccountScopesCount in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The count of serviceAccountScopes.
      • getServiceAccountScopes

        public String getServiceAccountScopes​(int index)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccountScopes in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The serviceAccountScopes at the given index.
      • getServiceAccountScopesBytes

        public com.google.protobuf.ByteString getServiceAccountScopesBytes​(int index)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getServiceAccountScopesBytes in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the serviceAccountScopes at the given index.
      • setServiceAccountScopes

        public WorkstationConfig.Host.GceInstance.Builder setServiceAccountScopes​(int index,
                                                                                  String value)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        index - The index to set the value at.
        value - The serviceAccountScopes to set.
        Returns:
        This builder for chaining.
      • addServiceAccountScopes

        public WorkstationConfig.Host.GceInstance.Builder addServiceAccountScopes​(String value)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The serviceAccountScopes to add.
        Returns:
        This builder for chaining.
      • addAllServiceAccountScopes

        public WorkstationConfig.Host.GceInstance.Builder addAllServiceAccountScopes​(Iterable<String> values)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        values - The serviceAccountScopes to add.
        Returns:
        This builder for chaining.
      • clearServiceAccountScopes

        public WorkstationConfig.Host.GceInstance.Builder clearServiceAccountScopes()
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • addServiceAccountScopesBytes

        public WorkstationConfig.Host.GceInstance.Builder addServiceAccountScopesBytes​(com.google.protobuf.ByteString value)
         Optional. Scopes to grant to the
         [service_account][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.service_account].
         Various scopes are automatically added based on feature usage. When
         specified, users of workstations under this configuration must have
         `iam.serviceAccounts.actAs` on the service account.
         
        repeated string service_account_scopes = 3 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes of the serviceAccountScopes to add.
        Returns:
        This builder for chaining.
      • getTagsList

        public com.google.protobuf.ProtocolStringList getTagsList()
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getTagsList in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        A list containing the tags.
      • getTagsCount

        public int getTagsCount()
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getTagsCount in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The count of tags.
      • getTags

        public String getTags​(int index)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getTags in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The tags at the given index.
      • getTagsBytes

        public com.google.protobuf.ByteString getTagsBytes​(int index)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getTagsBytes in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the tags at the given index.
      • setTags

        public WorkstationConfig.Host.GceInstance.Builder setTags​(int index,
                                                                  String value)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        index - The index to set the value at.
        value - The tags to set.
        Returns:
        This builder for chaining.
      • addTags

        public WorkstationConfig.Host.GceInstance.Builder addTags​(String value)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The tags to add.
        Returns:
        This builder for chaining.
      • addAllTags

        public WorkstationConfig.Host.GceInstance.Builder addAllTags​(Iterable<String> values)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        values - The tags to add.
        Returns:
        This builder for chaining.
      • clearTags

        public WorkstationConfig.Host.GceInstance.Builder clearTags()
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • addTagsBytes

        public WorkstationConfig.Host.GceInstance.Builder addTagsBytes​(com.google.protobuf.ByteString value)
         Optional. Network tags to add to the Compute Engine VMs backing the
         workstations. This option applies
         [network
         tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs
         created with this configuration. These network tags enable the creation
         of [firewall
         rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
         
        repeated string tags = 4 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bytes of the tags to add.
        Returns:
        This builder for chaining.
      • getPoolSize

        public int getPoolSize()
         Optional. The number of VMs that the system should keep idle so that
         new workstations can be started quickly for new users. Defaults to `0`
         in the API.
         
        int32 pool_size = 5 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getPoolSize in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The poolSize.
      • setPoolSize

        public WorkstationConfig.Host.GceInstance.Builder setPoolSize​(int value)
         Optional. The number of VMs that the system should keep idle so that
         new workstations can be started quickly for new users. Defaults to `0`
         in the API.
         
        int32 pool_size = 5 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The poolSize to set.
        Returns:
        This builder for chaining.
      • clearPoolSize

        public WorkstationConfig.Host.GceInstance.Builder clearPoolSize()
         Optional. The number of VMs that the system should keep idle so that
         new workstations can be started quickly for new users. Defaults to `0`
         in the API.
         
        int32 pool_size = 5 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • getPooledInstances

        public int getPooledInstances()
         Output only. Number of instances currently available in the pool for
         faster workstation startup.
         
        int32 pooled_instances = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getPooledInstances in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The pooledInstances.
      • setPooledInstances

        public WorkstationConfig.Host.GceInstance.Builder setPooledInstances​(int value)
         Output only. Number of instances currently available in the pool for
         faster workstation startup.
         
        int32 pooled_instances = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The pooledInstances to set.
        Returns:
        This builder for chaining.
      • clearPooledInstances

        public WorkstationConfig.Host.GceInstance.Builder clearPooledInstances()
         Output only. Number of instances currently available in the pool for
         faster workstation startup.
         
        int32 pooled_instances = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Returns:
        This builder for chaining.
      • getDisablePublicIpAddresses

        public boolean getDisablePublicIpAddresses()
         Optional. When set to true, disables public IP addresses for VMs. If
         you disable public IP addresses, you must set up Private Google Access
         or Cloud NAT on your network. If you use Private Google Access and you
         use `private.googleapis.com` or `restricted.googleapis.com` for
         Container Registry and Artifact Registry, make sure that you set
         up DNS records for domains `*.gcr.io` and `*.pkg.dev`.
         Defaults to false (VMs have public IP addresses).
         
        bool disable_public_ip_addresses = 6 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getDisablePublicIpAddresses in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The disablePublicIpAddresses.
      • setDisablePublicIpAddresses

        public WorkstationConfig.Host.GceInstance.Builder setDisablePublicIpAddresses​(boolean value)
         Optional. When set to true, disables public IP addresses for VMs. If
         you disable public IP addresses, you must set up Private Google Access
         or Cloud NAT on your network. If you use Private Google Access and you
         use `private.googleapis.com` or `restricted.googleapis.com` for
         Container Registry and Artifact Registry, make sure that you set
         up DNS records for domains `*.gcr.io` and `*.pkg.dev`.
         Defaults to false (VMs have public IP addresses).
         
        bool disable_public_ip_addresses = 6 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The disablePublicIpAddresses to set.
        Returns:
        This builder for chaining.
      • clearDisablePublicIpAddresses

        public WorkstationConfig.Host.GceInstance.Builder clearDisablePublicIpAddresses()
         Optional. When set to true, disables public IP addresses for VMs. If
         you disable public IP addresses, you must set up Private Google Access
         or Cloud NAT on your network. If you use Private Google Access and you
         use `private.googleapis.com` or `restricted.googleapis.com` for
         Container Registry and Artifact Registry, make sure that you set
         up DNS records for domains `*.gcr.io` and `*.pkg.dev`.
         Defaults to false (VMs have public IP addresses).
         
        bool disable_public_ip_addresses = 6 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • getEnableNestedVirtualization

        public boolean getEnableNestedVirtualization()
         Optional. Whether to enable nested virtualization on Cloud Workstations
         VMs created under 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][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.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.
         
        bool enable_nested_virtualization = 7 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getEnableNestedVirtualization in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The enableNestedVirtualization.
      • setEnableNestedVirtualization

        public WorkstationConfig.Host.GceInstance.Builder setEnableNestedVirtualization​(boolean value)
         Optional. Whether to enable nested virtualization on Cloud Workstations
         VMs created under 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][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.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.
         
        bool enable_nested_virtualization = 7 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The enableNestedVirtualization to set.
        Returns:
        This builder for chaining.
      • clearEnableNestedVirtualization

        public WorkstationConfig.Host.GceInstance.Builder clearEnableNestedVirtualization()
         Optional. Whether to enable nested virtualization on Cloud Workstations
         VMs created under 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][google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.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.
         
        bool enable_nested_virtualization = 7 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.
      • hasShieldedInstanceConfig

        public boolean hasShieldedInstanceConfig()
         Optional. A set of Compute Engine Shielded instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig shielded_instance_config = 8 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasShieldedInstanceConfig in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        Whether the shieldedInstanceConfig field is set.
      • clearShieldedInstanceConfig

        public WorkstationConfig.Host.GceInstance.Builder clearShieldedInstanceConfig()
         Optional. A set of Compute Engine Shielded instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig shielded_instance_config = 8 [(.google.api.field_behavior) = OPTIONAL];
      • getShieldedInstanceConfigBuilder

        public WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig.Builder getShieldedInstanceConfigBuilder()
         Optional. A set of Compute Engine Shielded instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceShieldedInstanceConfig shielded_instance_config = 8 [(.google.api.field_behavior) = OPTIONAL];
      • hasConfidentialInstanceConfig

        public boolean hasConfidentialInstanceConfig()
         Optional. A set of Compute Engine Confidential VM instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig confidential_instance_config = 10 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasConfidentialInstanceConfig in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        Whether the confidentialInstanceConfig field is set.
      • clearConfidentialInstanceConfig

        public WorkstationConfig.Host.GceInstance.Builder clearConfidentialInstanceConfig()
         Optional. A set of Compute Engine Confidential VM instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig confidential_instance_config = 10 [(.google.api.field_behavior) = OPTIONAL];
      • getConfidentialInstanceConfigBuilder

        public WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig.Builder getConfidentialInstanceConfigBuilder()
         Optional. A set of Compute Engine Confidential VM instance options.
         
        .google.cloud.workstations.v1.WorkstationConfig.Host.GceInstance.GceConfidentialInstanceConfig confidential_instance_config = 10 [(.google.api.field_behavior) = OPTIONAL];
      • getBootDiskSizeGb

        public int getBootDiskSizeGb()
         Optional. The size of the boot disk for the VM in gigabytes (GB).
         The minimum boot disk size is `30` GB. Defaults to `50` GB.
         
        int32 boot_disk_size_gb = 9 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getBootDiskSizeGb in interface WorkstationConfig.Host.GceInstanceOrBuilder
        Returns:
        The bootDiskSizeGb.
      • setBootDiskSizeGb

        public WorkstationConfig.Host.GceInstance.Builder setBootDiskSizeGb​(int value)
         Optional. The size of the boot disk for the VM in gigabytes (GB).
         The minimum boot disk size is `30` GB. Defaults to `50` GB.
         
        int32 boot_disk_size_gb = 9 [(.google.api.field_behavior) = OPTIONAL];
        Parameters:
        value - The bootDiskSizeGb to set.
        Returns:
        This builder for chaining.
      • clearBootDiskSizeGb

        public WorkstationConfig.Host.GceInstance.Builder clearBootDiskSizeGb()
         Optional. The size of the boot disk for the VM in gigabytes (GB).
         The minimum boot disk size is `30` GB. Defaults to `50` GB.
         
        int32 boot_disk_size_gb = 9 [(.google.api.field_behavior) = OPTIONAL];
        Returns:
        This builder for chaining.