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" )
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 (s *InstanceConfig) MarshalJSON() ([]byte, error)
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 (s *InstanceQuota) MarshalJSON() ([]byte, error)
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 (s *ListProvisioningQuotasResponse) MarshalJSON() ([]byte, error)
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 (s *LunRange) MarshalJSON() ([]byte, error)
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 (s *NetworkAddress) MarshalJSON() ([]byte, error)
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 (s *NetworkConfig) MarshalJSON() ([]byte, error)
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 (s *NfsExport) MarshalJSON() ([]byte, error)
type ProjectsLocationsService struct {
// contains filtered or unexported fields
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService
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 struct {
// contains filtered or unexported fields
}
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 (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 (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 (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 struct {
// contains filtered or unexported fields
}
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 (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 (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 (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 (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 (c *ProjectsProvisioningQuotasListCall) PageSize(pageSize int64) *ProjectsProvisioningQuotasListCall
PageSize sets the optional parameter "pageSize": The maximum number of items to return.
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 (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 struct {
// contains filtered or unexported fields
}
func NewProjectsProvisioningQuotasService(s *Service) *ProjectsProvisioningQuotasService
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 struct { Locations *ProjectsLocationsService ProvisioningQuotas *ProjectsProvisioningQuotasService // contains filtered or unexported fields }
func NewProjectsService(s *Service) *ProjectsService
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 (s *ProvisioningConfig) MarshalJSON() ([]byte, error)
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 (s *ProvisioningQuota) MarshalJSON() ([]byte, error)
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(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(ctx context.Context, opts ...option.ClientOption) (*Service, error)
NewService creates a new Service.
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 (s *SubmitProvisioningConfigRequest) MarshalJSON() ([]byte, error)
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 (s *VlanAttachment) MarshalJSON() ([]byte, error)
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 (s *VolumeConfig) MarshalJSON() ([]byte, error)