...

Package baremetalsolution

import "google.golang.org/api/baremetalsolution/v1alpha1"
Overview
Index

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
type InstanceConfig
    func (s *InstanceConfig) MarshalJSON() ([]byte, error)
type InstanceQuota
    func (s *InstanceQuota) MarshalJSON() ([]byte, error)
type ListProvisioningQuotasResponse
    func (s *ListProvisioningQuotasResponse) MarshalJSON() ([]byte, error)
type LunRange
    func (s *LunRange) MarshalJSON() ([]byte, error)
type NetworkAddress
    func (s *NetworkAddress) MarshalJSON() ([]byte, error)
type NetworkConfig
    func (s *NetworkConfig) MarshalJSON() ([]byte, error)
type NfsExport
    func (s *NfsExport) MarshalJSON() ([]byte, error)
type ProjectsLocationsService
    func NewProjectsLocationsService(s *Service) *ProjectsLocationsService
    func (r *ProjectsLocationsService) SubmitProvisioningConfig(project string, location string, submitprovisioningconfigrequest *SubmitProvisioningConfigRequest) *ProjectsLocationsSubmitProvisioningConfigCall
type ProjectsLocationsSubmitProvisioningConfigCall
    func (c *ProjectsLocationsSubmitProvisioningConfigCall) Context(ctx context.Context) *ProjectsLocationsSubmitProvisioningConfigCall
    func (c *ProjectsLocationsSubmitProvisioningConfigCall) Do(opts ...googleapi.CallOption) (*ProvisioningConfig, error)
    func (c *ProjectsLocationsSubmitProvisioningConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsSubmitProvisioningConfigCall
    func (c *ProjectsLocationsSubmitProvisioningConfigCall) Header() http.Header
type ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) Context(ctx context.Context) *ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) Do(opts ...googleapi.CallOption) (*ListProvisioningQuotasResponse, error)
    func (c *ProjectsProvisioningQuotasListCall) Fields(s ...googleapi.Field) *ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) Header() http.Header
    func (c *ProjectsProvisioningQuotasListCall) IfNoneMatch(entityTag string) *ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) PageSize(pageSize int64) *ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) PageToken(pageToken string) *ProjectsProvisioningQuotasListCall
    func (c *ProjectsProvisioningQuotasListCall) Pages(ctx context.Context, f func(*ListProvisioningQuotasResponse) error) error
type ProjectsProvisioningQuotasService
    func NewProjectsProvisioningQuotasService(s *Service) *ProjectsProvisioningQuotasService
    func (r *ProjectsProvisioningQuotasService) List(parent string) *ProjectsProvisioningQuotasListCall
type ProjectsService
    func NewProjectsService(s *Service) *ProjectsService
type ProvisioningConfig
    func (s *ProvisioningConfig) MarshalJSON() ([]byte, error)
type ProvisioningQuota
    func (s *ProvisioningQuota) MarshalJSON() ([]byte, error)
type Service
    func New(client *http.Client) (*Service, error)
    func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error)
type SubmitProvisioningConfigRequest
    func (s *SubmitProvisioningConfigRequest) MarshalJSON() ([]byte, error)
type VlanAttachment
    func (s *VlanAttachment) MarshalJSON() ([]byte, error)
type VolumeConfig
    func (s *VolumeConfig) MarshalJSON() ([]byte, error)

Package files

baremetalsolution-gen.go

Constants

OAuth2 scopes used by this API.

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"
)

type InstanceConfig

InstanceConfig: Configuration parameters for a new instance.

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:"-"`
}

func (*InstanceConfig) MarshalJSON

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

type InstanceQuota

InstanceQuota: A resource budget.

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:"-"`
}

func (*InstanceQuota) MarshalJSON

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

type ListProvisioningQuotasResponse

ListProvisioningQuotasResponse: Response for ListProvisioningQuotas.

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:"-"`
}

func (*ListProvisioningQuotasResponse) MarshalJSON

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

type LunRange

LunRange: A LUN range.

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:"-"`
}

func (*LunRange) MarshalJSON

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

type NetworkAddress

NetworkAddress: A network.

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:"-"`
}

func (*NetworkAddress) MarshalJSON

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

type NetworkConfig

NetworkConfig: Configuration parameters for a new network.

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:"-"`
}

func (*NetworkConfig) MarshalJSON

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

type NfsExport

NfsExport: A NFS export entry.

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:"-"`
}

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

func (c *ProjectsLocationsSubmitProvisioningConfigCall) Context(ctx context.Context) *ProjectsLocationsSubmitProvisioningConfigCall

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

func (c *ProjectsLocationsSubmitProvisioningConfigCall) Do(opts ...googleapi.CallOption) (*ProvisioningConfig, error)

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

func (c *ProjectsLocationsSubmitProvisioningConfigCall) Fields(s ...googleapi.Field) *ProjectsLocationsSubmitProvisioningConfigCall

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

func (*ProjectsLocationsSubmitProvisioningConfigCall) Header

func (c *ProjectsLocationsSubmitProvisioningConfigCall) Header() http.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

func (c *ProjectsProvisioningQuotasListCall) Context(ctx context.Context) *ProjectsProvisioningQuotasListCall

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

func (c *ProjectsProvisioningQuotasListCall) Do(opts ...googleapi.CallOption) (*ListProvisioningQuotasResponse, error)

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

func (c *ProjectsProvisioningQuotasListCall) Fields(s ...googleapi.Field) *ProjectsProvisioningQuotasListCall

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

func (*ProjectsProvisioningQuotasListCall) Header

func (c *ProjectsProvisioningQuotasListCall) Header() http.Header

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

func (*ProjectsProvisioningQuotasListCall) IfNoneMatch

func (c *ProjectsProvisioningQuotasListCall) IfNoneMatch(entityTag string) *ProjectsProvisioningQuotasListCall

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

func (c *ProjectsProvisioningQuotasListCall) PageSize(pageSize int64) *ProjectsProvisioningQuotasListCall

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

func (*ProjectsProvisioningQuotasListCall) PageToken

func (c *ProjectsProvisioningQuotasListCall) PageToken(pageToken string) *ProjectsProvisioningQuotasListCall

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

func (*ProjectsProvisioningQuotasListCall) Pages

func (c *ProjectsProvisioningQuotasListCall) Pages(ctx context.Context, f func(*ListProvisioningQuotasResponse) error) error

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

func (r *ProjectsProvisioningQuotasService) List(parent string) *ProjectsProvisioningQuotasListCall

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

ProvisioningConfig: An provisioning configuration.

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:"-"`
}

func (*ProvisioningConfig) MarshalJSON

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

type ProvisioningQuota

ProvisioningQuota: A provisioning quota for a given project.

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:"-"`
}

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

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

SubmitProvisioningConfigRequest: Request for SubmitProvisioningConfig.

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:"-"`
}

func (*SubmitProvisioningConfigRequest) MarshalJSON

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

type VlanAttachment

VlanAttachment: A GCP vlan attachment.

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:"-"`
}

func (*VlanAttachment) MarshalJSON

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

type VolumeConfig

VolumeConfig: Configuration parameters for a new volume.

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:"-"`
}

func (*VolumeConfig) MarshalJSON

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