Package google.cloud.baremetalsolution.v2

Index

BareMetalSolution

Performs management operations on Bare Metal Solution servers.

The baremetalsolution.googleapis.com service provides management capabilities for Bare Metal Solution servers. To access the API methods, you must assign Bare Metal Solution IAM roles containing the desired permissions to your staff in your Google Cloud project. You must also enable the Bare Metal Solution API. Once enabled, the methods act upon specific servers in your Bare Metal Solution environment.

GetInstance

rpc GetInstance(GetInstanceRequest) returns (Instance)

Get details about a single server.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetLun

rpc GetLun(GetLunRequest) returns (Lun)

Get details of a single storage logical unit number(LUN).

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetNetwork

rpc GetNetwork(GetNetworkRequest) returns (Network)

Get details of a single network.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetNfsShare

rpc GetNfsShare(GetNfsShareRequest) returns (NfsShare)

Get details of a single NFS share.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetVolume

rpc GetVolume(GetVolumeRequest) returns (Volume)

Get details of a single storage volume.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListInstances

rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse)

List servers in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListLuns

rpc ListLuns(ListLunsRequest) returns (ListLunsResponse)

List storage volume luns for given storage volume.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListNetworks

rpc ListNetworks(ListNetworksRequest) returns (ListNetworksResponse)

List network in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListNfsShares

rpc ListNfsShares(ListNfsSharesRequest) returns (ListNfsSharesResponse)

List NFS shares.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListVolumes

rpc ListVolumes(ListVolumesRequest) returns (ListVolumesResponse)

List storage volumes in a given project and location.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ResetInstance

rpc ResetInstance(ResetInstanceRequest) returns (Operation)

Perform an ungraceful, hard reset on a server. Equivalent to shutting the power off and then turning it back on.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

StartInstance

rpc StartInstance(StartInstanceRequest) returns (Operation)

Starts a server that was shutdown.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

StopInstance

rpc StopInstance(StopInstanceRequest) returns (Operation)

Stop a running server.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateInstance

rpc UpdateInstance(UpdateInstanceRequest) returns (Operation)

Update details of a single server.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateNetwork

rpc UpdateNetwork(UpdateNetworkRequest) returns (Operation)

Update details of a single network.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateNfsShare

rpc UpdateNfsShare(UpdateNfsShareRequest) returns (Operation)

Update details of a single NFS share.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateVolume

rpc UpdateVolume(UpdateVolumeRequest) returns (Operation)

Update details of a single storage volume.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetInstanceRequest

Message for requesting server information.

Fields
name

string

Required. Name of the resource.

GetLunRequest

Message for requesting storage lun information.

Fields
name

string

Required. Name of the resource.

GetNetworkRequest

Message for requesting network information.

Fields
name

string

Required. Name of the resource.

GetNfsShareRequest

Message for requesting NFS share information.

Fields
name

string

Required. Name of the resource.

GetVolumeRequest

Message for requesting storage volume information.

Fields
name

string

Required. Name of the resource.

Instance

A server.

Fields
name

string

Output only. The resource name of this Instance. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: projects/{project}/locations/{location}/instances/{instance}

id

string

An identifier for the Instance, generated by the backend.

create_time

Timestamp

Output only. Create a time stamp.

update_time

Timestamp

Output only. Update a time stamp.

machine_type

string

The server type. Available server types

state

State

The state of the server.

hyperthreading_enabled

bool

True if you enable hyperthreading for the server, otherwise false. The default value is false.

labels

map<string, string>

Labels as key value pairs.

luns[]

Lun

List of LUNs associated with this server.

networks[]

Network

List of networks associated with this server.

interactive_serial_console_enabled

bool

True if the interactive serial console feature is enabled for the instance, false otherwise. The default value is false.

os_image

string

The OS image currently installed on the server.

State

The possible states for this server.

Enums
STATE_UNSPECIFIED The server is in an unknown state.
PROVISIONING The server is being provisioned.
RUNNING The server is running.
DELETED The server has been deleted.

ListInstancesRequest

Message for requesting the list of servers.

Fields
parent

string

Required. Parent value for ListInstancesRequest.

page_size

int32

Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.

page_token

string

A token identifying a page of results from the server.

filter

string

List filter.

ListInstancesResponse

Response message for the list of servers.

Fields
instances[]

Instance

The list of servers.

next_page_token

string

A token identifying a page of results from the server.

unreachable[]

string

Locations that could not be reached.

ListLunsRequest

Message for requesting a list of storage volume luns.

Fields
parent

string

Required. Parent value for ListLunsRequest.

page_size

int32

Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

A token identifying a page of results from the server.

ListLunsResponse

Response message containing the list of storage volume luns.

Fields
luns[]

Lun

The list of luns.

next_page_token

string

A token identifying a page of results from the server.

unreachable[]

string

Locations that could not be reached.

ListNetworksRequest

Message for requesting a list of networks.

Fields
parent

string

Required. Parent value for ListNetworksRequest.

page_size

int32

Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

A token identifying a page of results from the server.

filter

string

List filter.

ListNetworksResponse

Response message containing the list of networks.

Fields
networks[]

Network

The list of networks.

next_page_token

string

A token identifying a page of results from the server.

unreachable[]

string

Locations that could not be reached.

ListNfsSharesRequest

Message for requesting a list of NFS shares.

Fields
parent

string

Required. Parent value for ListNfsSharesRequest.

page_size

int32

Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

A token identifying a page of results from the server.

filter

string

List filter.

ListNfsSharesResponse

Response message containing the list of NFS shares.

Fields
nfs_shares[]

NfsShare

The list of NFS shares.

next_page_token

string

A token identifying a page of results from the server.

unreachable[]

string

Locations that could not be reached.

ListVolumesRequest

Message for requesting a list of storage volumes.

Fields
parent

string

Required. Parent value for ListVolumesRequest.

page_size

int32

Requested page size. The server might return fewer items than requested. If unspecified, server will pick an appropriate default.

page_token

string

A token identifying a page of results from the server.

filter

string

List filter.

ListVolumesResponse

Response message containing the list of storage volumes.

Fields
volumes[]

Volume

The list of storage volumes.

next_page_token

string

A token identifying a page of results from the server.

unreachable[]

string

Locations that could not be reached.

Lun

A storage volume logical unit number (LUN).

Fields
name

string

Output only. The name of the LUN.

id

string

An identifier for the LUN, generated by the backend.

state

State

The state of this storage volume.

size_gb

int64

The size of this LUN, in gigabytes.

multiprotocol_type

MultiprotocolType

The LUN multiprotocol type ensures the characteristics of the LUN are optimized for each operating system.

storage_volume

string

Display the storage volume for this LUN.

shareable

bool

Display if this LUN can be shared between multiple physical servers.

boot_lun

bool

Display if this LUN is a boot LUN.

storage_type

StorageType

The storage type for this LUN.

wwid

string

The WWID for this LUN.

MultiprotocolType

Display the operating systems present for the LUN multiprotocol type.

Enums
MULTIPROTOCOL_TYPE_UNSPECIFIED Server has no OS specified.
LINUX Server with Linux OS.

State

The possible states for the LUN.

Enums
STATE_UNSPECIFIED The LUN is in an unknown state.
CREATING The LUN is being created.
UPDATING The LUN is being updated.
READY The LUN is ready for use.
DELETING The LUN has been requested to be deleted.

StorageType

The storage types for a LUN.

Enums
STORAGE_TYPE_UNSPECIFIED The storage type for this LUN is unknown.
SSD This storage type for this LUN is SSD.
HDD This storage type for this LUN is HDD.

Network

A Network.

Fields
name

string

Output only. The resource name of this Network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: projects/{project}/locations/{location}/networks/{network}

id

string

An identifier for the Network, generated by the backend.

type

Type

The type of this network.

ip_address

string

IP address configured.

mac_address[]

string

List of physical interfaces.

state

State

The Network state.

vlan_id

string

The vlan id of the Network.

cidr

string

The cidr of the Network.

vrf

VRF

The vrf for the Network.

labels

map<string, string>

Labels as key value pairs.

services_cidr

string

IP range for reserved for services (e.g. NFS).

reservations[]

NetworkAddressReservation

List of IP address reservations in this network. When updating this field, an error will be generated if a reservation conflicts with an IP address already allocated to a physical server.

State

The possible states for this Network.

Enums
STATE_UNSPECIFIED The Network is in an unknown state.
PROVISIONING The Network is provisioning.
PROVISIONED The Network has been provisioned.

Type

Network type.

Enums
TYPE_UNSPECIFIED Unspecified value.
CLIENT Client network, a network peered to a Google Cloud VPC.
PRIVATE Private network, a network local to the Bare Metal Solution environment.

NetworkAddressReservation

A reservation of one or more addresses in a network.

Fields
start_address

string

The first address of this reservation block. Must be specified as a single IPv4 address, e.g. 10.1.2.2.

end_address

string

The last address of this reservation block, inclusive. I.e., for cases when reservations are only single addresses, end_address and start_address will be the same. Must be specified as a single IPv4 address, e.g. 10.1.2.2.

note

string

A note about this reservation, intended for human consumption.

NfsShare

An NFS share.

Fields
name

string

Output only. The name of the NFS share.

nfs_share_id

string

Output only. An identifier for the NFS share, generated by the backend.

state

State

The state of the NFS share.

volume

string

The volume containing the share.

allowed_clients[]

AllowedClient

List of allowed access points.

labels

map<string, string>

Labels as key value pairs.

AllowedClient

Represents an 'access point' for the share.

Fields
network

string

The network the access point sits on.

share_ip

string

The IP address of the share on this network.

allowed_clients_cidr

string

The subnet of IP addresses permitted to access the share.

mount_permissions

MountPermissions

Mount permissions.

allow_dev

bool

Allow dev flag. Which controls whether to allow creation of devices.

allow_suid

bool

Allow the setuid flag.

no_root_squash

bool

Disable root squashing, which is a feature of NFS. Root squash is a special mapping of the remote superuser (root) identity when using identity authentication.

MountPermissions

The possible mount permissions.

Enums
MOUNT_PERMISSIONS_UNSPECIFIED Permissions were not specified.
READ NFS share can be mount with read-only permissions.
READ_WRITE NFS share can be mount with read-write permissions.

State

The possible states for this NFS share.

Enums
STATE_UNSPECIFIED The share is in an unknown state.
PROVISIONED The share has been provisioned.

ResetInstanceRequest

Message requesting to reset a server.

Fields
name

string

Required. Name of the resource.

StartInstanceRequest

Message requesting to start a server.

Fields
name

string

Required. Name of the resource.

StopInstanceRequest

Message requesting to stop a server.

Fields
name

string

Required. Name of the resource.

UpdateInstanceRequest

Message requesting to updating a server.

Fields
instance

Instance

Required. The server to update.

The name field is used to identify the instance to update. Format: projects/{project}/locations/{location}/instances/{instance}

update_mask

FieldMask

The list of fields to update. The only currently supported fields are: labels hyperthreading_enabled

UpdateNetworkRequest

Message requesting to updating a network.

Fields
network

Network

Required. The network to update.

The name field is used to identify the instance to update. Format: projects/{project}/locations/{location}/networks/{network}

update_mask

FieldMask

The list of fields to update. The only currently supported fields are: labels

UpdateNfsShareRequest

Message requesting to updating a NFS share.

Fields
nfs_share

NfsShare

Required. The NFS share to update.

The name field is used to identify the NFS share to update. Format: projects/{project}/locations/{location}/nfsShares/{nfs_share}

update_mask

FieldMask

The list of fields to update. The only currently supported fields are: labels

UpdateVolumeRequest

Message for updating a volume.

Fields
volume

Volume

Required. The volume to update.

The name field is used to identify the volume to update. Format: projects/{project}/locations/{location}/volumes/{volume}

update_mask

FieldMask

The list of fields to update. The only currently supported fields are: snapshot_auto_delete_behavior snapshot_schedule_policy_name 'labels' 'requested_size_gib' 'snapshot_enabled' 'snapshot_reservation_detail.reserved_space_percent'

VRF

A network VRF.

Fields
name

string

The name of the VRF.

state

State

The possible state of VRF.

qos_policy

QosPolicy

The QOS policy applied to this VRF.

vlan_attachments[]

VlanAttachment

The list of VLAN attachments for the VRF.

QosPolicy

QOS policy parameters.

Fields
bandwidth_gbps

double

The bandwidth permitted by the QOS policy, in gbps.

State

The possible states for this VRF.

Enums
STATE_UNSPECIFIED The unspecified state.
PROVISIONING The vrf is provisioning.
PROVISIONED The vrf is provisioned.

VlanAttachment

VLAN attachment details.

Fields
peer_vlan_id

int64

The peer vlan ID of the attachment.

peer_ip

string

The peer IP of the attachment.

router_ip

string

The router IP of the attachment.

Volume

A storage volume.

Fields
name

string

Output only. The resource name of this Volume. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. Format: projects/{project}/locations/{location}/volumes/{volume}

id

string

An identifier for the Volume, generated by the backend.

storage_type

StorageType

The storage type for this volume.

state

State

The state of this storage volume.

requested_size_gib

int64

The requested size of this storage volume, in GiB.

current_size_gib

int64

The current size of this storage volume, in GiB, including space reserved for snapshots. This size might be different than the requested size if the storage volume has been configured with auto grow or auto shrink.

emergency_size_gib

int64

Additional emergency size that was requested for this Volume, in GiB. current_size_gib includes this value.

auto_grown_size_gib

int64

The size, in GiB, that this storage volume has expanded as a result of an auto grow policy. In the absence of auto-grow, the value is 0.

remaining_space_gib

int64

The space remaining in the storage volume for new LUNs, in GiB, excluding space reserved for snapshots.

snapshot_reservation_detail

SnapshotReservationDetail

Details about snapshot space reservation and usage on the storage volume.

snapshot_auto_delete_behavior

SnapshotAutoDeleteBehavior

The behavior to use when snapshot reserved space is full.

snapshot_schedule_policy

string

The name of the snapshot schedule policy in use for this volume, if any.

labels

map<string, string>

Labels as key value pairs.

snapshot_enabled

bool

Whether snapshots are enabled.

SnapshotAutoDeleteBehavior

The kinds of auto delete behavior to use when snapshot reserved space is full.

Enums
SNAPSHOT_AUTO_DELETE_BEHAVIOR_UNSPECIFIED The unspecified behavior.
DISABLED Don't delete any snapshots. This disables new snapshot creation, as long as the snapshot reserved space is full.
OLDEST_FIRST Delete the oldest snapshots first.
NEWEST_FIRST Delete the newest snapshots first.

SnapshotReservationDetail

Details about snapshot space reservation and usage on the storage volume.

Fields
reserved_space_gib

int64

The space on this storage volume reserved for snapshots, shown in GiB.

reserved_space_used_percent

int32

The percent of snapshot space on this storage volume actually being used by the snapshot copies. This value might be higher than 100% if the snapshot copies have overflowed into the data portion of the storage volume.

reserved_space_remaining_gib

int64

The amount, in GiB, of available space in this storage volume's reserved snapshot space.

reserved_space_percent

int32

Percent of the total Volume size reserved for snapshot copies. Enabling snapshots requires reserving 20% or more of the storage volume space for snapshots. Maximum reserved space for snapshots is 40%. Setting this field will effectively set snapshot_enabled to true.

State

The possible states for a storage volume.

Enums
STATE_UNSPECIFIED The storage volume is in an unknown state.
CREATING The storage volume is being created.
READY The storage volume is ready for use.
DELETING The storage volume has been requested to be deleted.

StorageType

The storage type for a volume.

Enums
STORAGE_TYPE_UNSPECIFIED The storage type for this volume is unknown.
SSD The storage type for this volume is SSD.
HDD This storage type for this volume is HDD.