Class WorkstationConfig.Host.GceInstance

    • Field Detail

      • MACHINE_TYPE_FIELD_NUMBER

        public static final int MACHINE_TYPE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVICE_ACCOUNT_FIELD_NUMBER

        public static final int SERVICE_ACCOUNT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVICE_ACCOUNT_SCOPES_FIELD_NUMBER

        public static final int SERVICE_ACCOUNT_SCOPES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • POOLED_INSTANCES_FIELD_NUMBER

        public static final int POOLED_INSTANCES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • DISABLE_PUBLIC_IP_ADDRESSES_FIELD_NUMBER

        public static final int DISABLE_PUBLIC_IP_ADDRESSES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ENABLE_NESTED_VIRTUALIZATION_FIELD_NUMBER

        public static final int ENABLE_NESTED_VIRTUALIZATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SHIELDED_INSTANCE_CONFIG_FIELD_NUMBER

        public static final int SHIELDED_INSTANCE_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CONFIDENTIAL_INSTANCE_CONFIG_FIELD_NUMBER

        public static final int CONFIDENTIAL_INSTANCE_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • BOOT_DISK_SIZE_GB_FIELD_NUMBER

        public static final int BOOT_DISK_SIZE_GB_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • 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
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static WorkstationConfig.Host.GceInstance parseFrom​(ByteBuffer data,
                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkstationConfig.Host.GceInstance parseFrom​(com.google.protobuf.ByteString data)
                                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkstationConfig.Host.GceInstance parseFrom​(com.google.protobuf.ByteString data,
                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkstationConfig.Host.GceInstance parseFrom​(byte[] data)
                                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static WorkstationConfig.Host.GceInstance parseFrom​(byte[] data,
                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                            throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

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

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

        protected WorkstationConfig.Host.GceInstance.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<WorkstationConfig.Host.GceInstance> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

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