baremetalsolution

package
v0.177.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Overview

Package baremetalsolution provides access to the Bare Metal Solution API.

For product documentation, see: https://cloud.google.com/bare-metal

Creating a client

Usage example:

import "google.golang.org/api/baremetalsolution/v1alpha1"
...
ctx := context.Background()
baremetalsolutionService, err := baremetalsolution.NewService(ctx)

In this example, Google Application Default Credentials are used for authentication.

For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:

baremetalsolutionService, err := baremetalsolution.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:

config := &oauth2.Config{...}
// ...
token, err := config.Exchange(ctx, ...)
baremetalsolutionService, err := baremetalsolution.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

See https://godoc.org/google.golang.org/api/option/ for details on options.

Index

Constants

View Source
const (
	// See, edit, configure, and delete your Google Cloud data and see the
	// email address for your Google Account.
	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

type InstanceConfig

type InstanceConfig struct {
	// ClientNetwork: Client network address.
	ClientNetwork *NetworkAddress `json:"clientNetwork,omitempty"`

	// Hyperthreading: Whether the instance should be provisioned with
	// Hyperthreading enabled.
	Hyperthreading bool `json:"hyperthreading,omitempty"`

	// Id: A transient unique identifier to idenfity an instance within an
	// ProvisioningConfig request.
	Id string `json:"id,omitempty"`

	// InstanceType: Instance type.
	InstanceType string `json:"instanceType,omitempty"`

	// Location: Location where to deploy the instance.
	Location string `json:"location,omitempty"`

	// OsImage: OS image to initialize the instance.
	OsImage string `json:"osImage,omitempty"`

	// PrivateNetwork: Private network address, if any.
	PrivateNetwork *NetworkAddress `json:"privateNetwork,omitempty"`

	// UserNote: User note field, it can be used by customers to add
	// additional information for the BMS Ops team (b/194021617).
	UserNote string `json:"userNote,omitempty"`

	// ForceSendFields is a list of field names (e.g. "ClientNetwork") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "ClientNetwork") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

InstanceConfig: Configuration parameters for a new instance.

func (*InstanceConfig) MarshalJSON

func (s *InstanceConfig) MarshalJSON() ([]byte, error)

type InstanceQuota

type InstanceQuota struct {
	// AvailableMachineCount: Number of machines than can be created for the
	// given location and instance_type.
	AvailableMachineCount int64 `json:"availableMachineCount,omitempty"`

	// InstanceType: Instance type.
	InstanceType string `json:"instanceType,omitempty"`

	// Location: Location where the quota applies.
	Location string `json:"location,omitempty"`

	// ForceSendFields is a list of field names (e.g.
	// "AvailableMachineCount") to unconditionally include in API requests.
	// By default, fields with empty or default values are omitted from API
	// requests. However, any non-pointer, non-interface field appearing in
	// ForceSendFields will be sent to the server regardless of whether the
	// field is empty or not. This may be used to include empty fields in
	// Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "AvailableMachineCount") to
	// include in API requests with the JSON null value. By default, fields
	// with empty values are omitted from API requests. However, any field
	// with an empty value appearing in NullFields will be sent to the
	// server as null. It is an error if a field in this list has a
	// non-empty value. This may be used to include null fields in Patch
	// requests.
	NullFields []string `json:"-"`
}

InstanceQuota: A resource budget.

func (*InstanceQuota) MarshalJSON

func (s *InstanceQuota) MarshalJSON() ([]byte, error)

type ListProvisioningQuotasResponse

type ListProvisioningQuotasResponse struct {
	// NextPageToken: Token to retrieve the next page of results, or empty
	// if there are no more results in the list.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// ProvisioningQuotas: The provisioning quotas registered in this
	// project.
	ProvisioningQuotas []*ProvisioningQuota `json:"provisioningQuotas,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the
	// server.
	googleapi.ServerResponse `json:"-"`

	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "NextPageToken") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

ListProvisioningQuotasResponse: Response for ListProvisioningQuotas.

func (*ListProvisioningQuotasResponse) MarshalJSON

func (s *ListProvisioningQuotasResponse) MarshalJSON() ([]byte, error)

type LunRange

type LunRange struct {
	// Quantity: Number of LUNs to create.
	Quantity int64 `json:"quantity,omitempty"`

	// SizeGb: The requested size of each LUN, in GB.
	SizeGb int64 `json:"sizeGb,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Quantity") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Quantity") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

LunRange: A LUN range.

func (*LunRange) MarshalJSON

func (s *LunRange) MarshalJSON() ([]byte, error)

type NetworkAddress

type NetworkAddress struct {
	// Address: IP address to be assigned to the server.
	Address string `json:"address,omitempty"`

	// ExistingNetworkId: Name of the existing network to use. Will be of
	// the format at--vlan for pre-intake UI networks like for eg,
	// at-123456-vlan001 or any user-defined name like for eg,
	// my-network-name for networks provisioned using intake UI. The field
	// is exclusively filled only in case of an already existing network.
	// Mutually exclusive with network_id.
	ExistingNetworkId string `json:"existingNetworkId,omitempty"`

	// NetworkId: Name of the network to use, within the same
	// ProvisioningConfig request. This represents a new network being
	// provisioned in the same request. Can have any user-defined name like
	// for eg, my-network-name. Mutually exclusive with existing_network_id.
	NetworkId string `json:"networkId,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Address") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Address") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

NetworkAddress: A network.

func (*NetworkAddress) MarshalJSON

func (s *NetworkAddress) MarshalJSON() ([]byte, error)

type NetworkConfig

type NetworkConfig struct {
	// Bandwidth: Interconnect bandwidth. Set only when type is CLIENT.
	//
	// Possible values:
	//   "BANDWIDTH_UNSPECIFIED" - Unspecified value.
	//   "BW_1_GBPS" - 1 Gbps.
	//   "BW_2_GBPS" - 2 Gbps.
	//   "BW_5_GBPS" - 5 Gbps.
	//   "BW_10_GBPS" - 10 Gbps.
	Bandwidth string `json:"bandwidth,omitempty"`

	// Cidr: CIDR range of the network.
	Cidr string `json:"cidr,omitempty"`

	// Id: A transient unique identifier to identify a volume within an
	// ProvisioningConfig request.
	Id string `json:"id,omitempty"`

	// Location: Location where to deploy the network.
	Location string `json:"location,omitempty"`

	// ServiceCidr: Service CIDR, if any.
	//
	// Possible values:
	//   "SERVICE_CIDR_UNSPECIFIED" - Unspecified value.
	//   "DISABLED" - Services are disabled for the given network.
	//   "HIGH_26" - Use the highest /26 block of the network to host
	// services.
	//   "HIGH_27" - Use the highest /27 block of the network to host
	// services.
	//   "HIGH_28" - Use the highest /28 block of the network to host
	// services.
	ServiceCidr string `json:"serviceCidr,omitempty"`

	// Type: The type of this network.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Unspecified value.
	//   "CLIENT" - Client network, that is a network peered to a GCP VPC.
	//   "PRIVATE" - Private network, that is a network local to the BMS
	// POD.
	Type string `json:"type,omitempty"`

	// UserNote: User note field, it can be used by customers to add
	// additional information for the BMS Ops team (b/194021617).
	UserNote string `json:"userNote,omitempty"`

	// VlanAttachments: List of VLAN attachments. As of now there are always
	// 2 attachments, but it is going to change in the future (multi vlan).
	VlanAttachments []*VlanAttachment `json:"vlanAttachments,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Bandwidth") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Bandwidth") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

NetworkConfig: Configuration parameters for a new network.

func (*NetworkConfig) MarshalJSON

func (s *NetworkConfig) MarshalJSON() ([]byte, error)

type NfsExport

type NfsExport struct {
	// AllowDev: Allow dev.
	AllowDev bool `json:"allowDev,omitempty"`

	// AllowSuid: Allow the setuid flag.
	AllowSuid bool `json:"allowSuid,omitempty"`

	// Cidr: A CIDR range.
	Cidr string `json:"cidr,omitempty"`

	// MachineId: Either a single machine, identified by an ID, or a
	// comma-separated list of machine IDs.
	MachineId string `json:"machineId,omitempty"`

	// NetworkId: Network to use to publish the export.
	NetworkId string `json:"networkId,omitempty"`

	// NoRootSquash: Disable root squashing.
	NoRootSquash bool `json:"noRootSquash,omitempty"`

	// Permissions: Export permissions.
	//
	// Possible values:
	//   "PERMISSIONS_UNSPECIFIED" - Unspecified value.
	//   "READ_ONLY" - Read-only permission.
	//   "READ_WRITE" - Read-write permission.
	Permissions string `json:"permissions,omitempty"`

	// ForceSendFields is a list of field names (e.g. "AllowDev") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "AllowDev") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

NfsExport: A NFS export entry.

func (*NfsExport) MarshalJSON

func (s *NfsExport) MarshalJSON() ([]byte, error)

type ProjectsLocationsService

type ProjectsLocationsService struct {
	// contains filtered or unexported fields
}

func NewProjectsLocationsService

func NewProjectsLocationsService(s *Service) *ProjectsLocationsService

func (*ProjectsLocationsService) SubmitProvisioningConfig

func (r *ProjectsLocationsService) SubmitProvisioningConfig(project string, location string, submitprovisioningconfigrequest *SubmitProvisioningConfigRequest) *ProjectsLocationsSubmitProvisioningConfigCall

SubmitProvisioningConfig: Submit a provisiong configuration for a given project.

- location: The target location of the provisioning request. - project: The target project of the provisioning request.

type ProjectsLocationsSubmitProvisioningConfigCall

type ProjectsLocationsSubmitProvisioningConfigCall struct {
	// contains filtered or unexported fields
}

func (*ProjectsLocationsSubmitProvisioningConfigCall) Context

Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.

func (*ProjectsLocationsSubmitProvisioningConfigCall) Do

Do executes the "baremetalsolution.projects.locations.submitProvisioningConfig" call. Exactly one of *ProvisioningConfig or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *ProvisioningConfig.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*ProjectsLocationsSubmitProvisioningConfigCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsLocationsSubmitProvisioningConfigCall) Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

type ProjectsProvisioningQuotasListCall

type ProjectsProvisioningQuotasListCall struct {
	// contains filtered or unexported fields
}

func (*ProjectsProvisioningQuotasListCall) Context

Context sets the context to be used in this call's Do method. Any pending HTTP request will be aborted if the provided context is canceled.

func (*ProjectsProvisioningQuotasListCall) Do

Do executes the "baremetalsolution.projects.provisioningQuotas.list" call. Exactly one of *ListProvisioningQuotasResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *ListProvisioningQuotasResponse.ServerResponse.Header or (if a response was returned at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check whether the returned error was because http.StatusNotModified was returned.

func (*ProjectsProvisioningQuotasListCall) Fields

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsProvisioningQuotasListCall) Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

func (*ProjectsProvisioningQuotasListCall) IfNoneMatch

IfNoneMatch sets the optional parameter which makes the operation fail if the object's ETag matches the given value. This is useful for getting updates only after the object has changed since the last request. Use googleapi.IsNotModified to check whether the response error from Do is the result of In-None-Match.

func (*ProjectsProvisioningQuotasListCall) PageSize

PageSize sets the optional parameter "pageSize": The maximum number of items to return.

func (*ProjectsProvisioningQuotasListCall) PageToken

PageToken sets the optional parameter "pageToken": The next_page_token value returned from a previous List request, if any.

func (*ProjectsProvisioningQuotasListCall) Pages

Pages invokes f for each page of results. A non-nil error returned from f will halt the iteration. The provided context supersedes any context provided to the Context method.

type ProjectsProvisioningQuotasService

type ProjectsProvisioningQuotasService struct {
	// contains filtered or unexported fields
}

func NewProjectsProvisioningQuotasService

func NewProjectsProvisioningQuotasService(s *Service) *ProjectsProvisioningQuotasService

func (*ProjectsProvisioningQuotasService) List

List: List the budget details to provision resources on a given project.

- parent: The parent project containing the provisioning quotas.

type ProjectsService

type ProjectsService struct {
	Locations *ProjectsLocationsService

	ProvisioningQuotas *ProjectsProvisioningQuotasService
	// contains filtered or unexported fields
}

func NewProjectsService

func NewProjectsService(s *Service) *ProjectsService

type ProvisioningConfig

type ProvisioningConfig struct {
	// Instances: Instances to be created.
	Instances []*InstanceConfig `json:"instances,omitempty"`

	// Networks: Networks to be created.
	Networks []*NetworkConfig `json:"networks,omitempty"`

	// TicketId: A reference to track the request.
	TicketId string `json:"ticketId,omitempty"`

	// Volumes: Volumes to be created.
	Volumes []*VolumeConfig `json:"volumes,omitempty"`

	// ServerResponse contains the HTTP response code and headers from the
	// server.
	googleapi.ServerResponse `json:"-"`

	// ForceSendFields is a list of field names (e.g. "Instances") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Instances") to include in
	// API requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

ProvisioningConfig: An provisioning configuration.

func (*ProvisioningConfig) MarshalJSON

func (s *ProvisioningConfig) MarshalJSON() ([]byte, error)

type ProvisioningQuota

type ProvisioningQuota struct {
	// InstanceQuota: Instance quota.
	InstanceQuota *InstanceQuota `json:"instanceQuota,omitempty"`

	// ForceSendFields is a list of field names (e.g. "InstanceQuota") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "InstanceQuota") to include
	// in API requests with the JSON null value. By default, fields with
	// empty values are omitted from API requests. However, any field with
	// an empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

ProvisioningQuota: A provisioning quota for a given project.

func (*ProvisioningQuota) MarshalJSON

func (s *ProvisioningQuota) MarshalJSON() ([]byte, error)

type Service

type Service struct {
	BasePath  string // API endpoint base URL
	UserAgent string // optional additional User-Agent fragment

	Projects *ProjectsService
	// contains filtered or unexported fields
}

func New deprecated

func New(client *http.Client) (*Service, error)

New creates a new Service. It uses the provided http.Client for requests.

Deprecated: please use NewService instead. To provide a custom HTTP client, use option.WithHTTPClient. If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

func NewService

func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error)

NewService creates a new Service.

type SubmitProvisioningConfigRequest

type SubmitProvisioningConfigRequest struct {
	// Email: Optional. Email provided to send a confirmation with
	// provisioning config to.
	Email string `json:"email,omitempty"`

	// ProvisioningConfig: Required. The ProvisioningConfig to submit.
	ProvisioningConfig *ProvisioningConfig `json:"provisioningConfig,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Email") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Email") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

SubmitProvisioningConfigRequest: Request for SubmitProvisioningConfig.

func (*SubmitProvisioningConfigRequest) MarshalJSON

func (s *SubmitProvisioningConfigRequest) MarshalJSON() ([]byte, error)

type VlanAttachment

type VlanAttachment struct {
	// Id: Identifier of the VLAN attachment.
	Id string `json:"id,omitempty"`

	// PairingKey: Attachment pairing key.
	PairingKey string `json:"pairingKey,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Id") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Id") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

VlanAttachment: A GCP vlan attachment.

func (*VlanAttachment) MarshalJSON

func (s *VlanAttachment) MarshalJSON() ([]byte, error)

type VolumeConfig

type VolumeConfig struct {
	// Id: A transient unique identifier to identify a volume within an
	// ProvisioningConfig request.
	Id string `json:"id,omitempty"`

	// Location: Location where to deploy the volume.
	Location string `json:"location,omitempty"`

	// LunRanges: LUN ranges to be configured. Set only when protocol is
	// PROTOCOL_FC.
	LunRanges []*LunRange `json:"lunRanges,omitempty"`

	// MachineIds: Machine ids connected to this volume. Set only when
	// protocol is PROTOCOL_FC.
	MachineIds []string `json:"machineIds,omitempty"`

	// NfsExports: NFS exports. Set only when protocol is PROTOCOL_NFS.
	NfsExports []*NfsExport `json:"nfsExports,omitempty"`

	// Protocol: Volume protocol.
	//
	// Possible values:
	//   "PROTOCOL_UNSPECIFIED" - Unspecified value.
	//   "PROTOCOL_FC" - Fibre channel.
	//   "PROTOCOL_NFS" - Network file system.
	Protocol string `json:"protocol,omitempty"`

	// SizeGb: The requested size of this volume, in GB. This will be
	// updated in a later iteration with a generic size field.
	SizeGb int64 `json:"sizeGb,omitempty"`

	// SnapshotsEnabled: Whether snapshots should be enabled.
	SnapshotsEnabled bool `json:"snapshotsEnabled,omitempty"`

	// Type: The type of this Volume.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - The unspecified type.
	//   "FLASH" - This Volume is on flash.
	//   "DISK" - This Volume is on disk.
	Type string `json:"type,omitempty"`

	// UserNote: User note field, it can be used by customers to add
	// additional information for the BMS Ops team (b/194021617).
	UserNote string `json:"userNote,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Id") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "Id") to include in API
	// requests with the JSON null value. By default, fields with empty
	// values are omitted from API requests. However, any field with an
	// empty value appearing in NullFields will be sent to the server as
	// null. It is an error if a field in this list has a non-empty value.
	// This may be used to include null fields in Patch requests.
	NullFields []string `json:"-"`
}

VolumeConfig: Configuration parameters for a new volume.

func (*VolumeConfig) MarshalJSON

func (s *VolumeConfig) MarshalJSON() ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL