blob: 2788dee603f4e62a29feab1600f207e85f08faf6 [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package compute provides access to the Compute Engine API.
//
// See https://developers.google.com/compute/docs/reference/latest/
//
// Usage example:
//
// import "google.golang.org/api/compute/v1"
// ...
// computeService, err := compute.New(oauthHttpClient)
package compute // import "google.golang.org/api/compute/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "compute:v1"
const apiName = "compute"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/compute/v1/projects/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// View and manage your Google Compute Engine resources
ComputeScope = "https://www.googleapis.com/auth/compute"
// View your Google Compute Engine resources
ComputeReadonlyScope = "https://www.googleapis.com/auth/compute.readonly"
// Manage your data and permissions in Google Cloud Storage
DevstorageFullControlScope = "https://www.googleapis.com/auth/devstorage.full_control"
// View your data in Google Cloud Storage
DevstorageReadOnlyScope = "https://www.googleapis.com/auth/devstorage.read_only"
// Manage your data in Google Cloud Storage
DevstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.AcceleratorTypes = NewAcceleratorTypesService(s)
s.Addresses = NewAddressesService(s)
s.Autoscalers = NewAutoscalersService(s)
s.BackendBuckets = NewBackendBucketsService(s)
s.BackendServices = NewBackendServicesService(s)
s.DiskTypes = NewDiskTypesService(s)
s.Disks = NewDisksService(s)
s.Firewalls = NewFirewallsService(s)
s.ForwardingRules = NewForwardingRulesService(s)
s.GlobalAddresses = NewGlobalAddressesService(s)
s.GlobalForwardingRules = NewGlobalForwardingRulesService(s)
s.GlobalOperations = NewGlobalOperationsService(s)
s.HealthChecks = NewHealthChecksService(s)
s.HttpHealthChecks = NewHttpHealthChecksService(s)
s.HttpsHealthChecks = NewHttpsHealthChecksService(s)
s.Images = NewImagesService(s)
s.InstanceGroupManagers = NewInstanceGroupManagersService(s)
s.InstanceGroups = NewInstanceGroupsService(s)
s.InstanceTemplates = NewInstanceTemplatesService(s)
s.Instances = NewInstancesService(s)
s.InterconnectAttachments = NewInterconnectAttachmentsService(s)
s.InterconnectLocations = NewInterconnectLocationsService(s)
s.Interconnects = NewInterconnectsService(s)
s.LicenseCodes = NewLicenseCodesService(s)
s.Licenses = NewLicensesService(s)
s.MachineTypes = NewMachineTypesService(s)
s.Networks = NewNetworksService(s)
s.NodeGroups = NewNodeGroupsService(s)
s.NodeTemplates = NewNodeTemplatesService(s)
s.NodeTypes = NewNodeTypesService(s)
s.Projects = NewProjectsService(s)
s.RegionAutoscalers = NewRegionAutoscalersService(s)
s.RegionBackendServices = NewRegionBackendServicesService(s)
s.RegionCommitments = NewRegionCommitmentsService(s)
s.RegionDiskTypes = NewRegionDiskTypesService(s)
s.RegionDisks = NewRegionDisksService(s)
s.RegionInstanceGroupManagers = NewRegionInstanceGroupManagersService(s)
s.RegionInstanceGroups = NewRegionInstanceGroupsService(s)
s.RegionOperations = NewRegionOperationsService(s)
s.Regions = NewRegionsService(s)
s.Routers = NewRoutersService(s)
s.Routes = NewRoutesService(s)
s.SecurityPolicies = NewSecurityPoliciesService(s)
s.Snapshots = NewSnapshotsService(s)
s.SslCertificates = NewSslCertificatesService(s)
s.SslPolicies = NewSslPoliciesService(s)
s.Subnetworks = NewSubnetworksService(s)
s.TargetHttpProxies = NewTargetHttpProxiesService(s)
s.TargetHttpsProxies = NewTargetHttpsProxiesService(s)
s.TargetInstances = NewTargetInstancesService(s)
s.TargetPools = NewTargetPoolsService(s)
s.TargetSslProxies = NewTargetSslProxiesService(s)
s.TargetTcpProxies = NewTargetTcpProxiesService(s)
s.TargetVpnGateways = NewTargetVpnGatewaysService(s)
s.UrlMaps = NewUrlMapsService(s)
s.VpnTunnels = NewVpnTunnelsService(s)
s.ZoneOperations = NewZoneOperationsService(s)
s.Zones = NewZonesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
AcceleratorTypes *AcceleratorTypesService
Addresses *AddressesService
Autoscalers *AutoscalersService
BackendBuckets *BackendBucketsService
BackendServices *BackendServicesService
DiskTypes *DiskTypesService
Disks *DisksService
Firewalls *FirewallsService
ForwardingRules *ForwardingRulesService
GlobalAddresses *GlobalAddressesService
GlobalForwardingRules *GlobalForwardingRulesService
GlobalOperations *GlobalOperationsService
HealthChecks *HealthChecksService
HttpHealthChecks *HttpHealthChecksService
HttpsHealthChecks *HttpsHealthChecksService
Images *ImagesService
InstanceGroupManagers *InstanceGroupManagersService
InstanceGroups *InstanceGroupsService
InstanceTemplates *InstanceTemplatesService
Instances *InstancesService
InterconnectAttachments *InterconnectAttachmentsService
InterconnectLocations *InterconnectLocationsService
Interconnects *InterconnectsService
LicenseCodes *LicenseCodesService
Licenses *LicensesService
MachineTypes *MachineTypesService
Networks *NetworksService
NodeGroups *NodeGroupsService
NodeTemplates *NodeTemplatesService
NodeTypes *NodeTypesService
Projects *ProjectsService
RegionAutoscalers *RegionAutoscalersService
RegionBackendServices *RegionBackendServicesService
RegionCommitments *RegionCommitmentsService
RegionDiskTypes *RegionDiskTypesService
RegionDisks *RegionDisksService
RegionInstanceGroupManagers *RegionInstanceGroupManagersService
RegionInstanceGroups *RegionInstanceGroupsService
RegionOperations *RegionOperationsService
Regions *RegionsService
Routers *RoutersService
Routes *RoutesService
SecurityPolicies *SecurityPoliciesService
Snapshots *SnapshotsService
SslCertificates *SslCertificatesService
SslPolicies *SslPoliciesService
Subnetworks *SubnetworksService
TargetHttpProxies *TargetHttpProxiesService
TargetHttpsProxies *TargetHttpsProxiesService
TargetInstances *TargetInstancesService
TargetPools *TargetPoolsService
TargetSslProxies *TargetSslProxiesService
TargetTcpProxies *TargetTcpProxiesService
TargetVpnGateways *TargetVpnGatewaysService
UrlMaps *UrlMapsService
VpnTunnels *VpnTunnelsService
ZoneOperations *ZoneOperationsService
Zones *ZonesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewAcceleratorTypesService(s *Service) *AcceleratorTypesService {
rs := &AcceleratorTypesService{s: s}
return rs
}
type AcceleratorTypesService struct {
s *Service
}
func NewAddressesService(s *Service) *AddressesService {
rs := &AddressesService{s: s}
return rs
}
type AddressesService struct {
s *Service
}
func NewAutoscalersService(s *Service) *AutoscalersService {
rs := &AutoscalersService{s: s}
return rs
}
type AutoscalersService struct {
s *Service
}
func NewBackendBucketsService(s *Service) *BackendBucketsService {
rs := &BackendBucketsService{s: s}
return rs
}
type BackendBucketsService struct {
s *Service
}
func NewBackendServicesService(s *Service) *BackendServicesService {
rs := &BackendServicesService{s: s}
return rs
}
type BackendServicesService struct {
s *Service
}
func NewDiskTypesService(s *Service) *DiskTypesService {
rs := &DiskTypesService{s: s}
return rs
}
type DiskTypesService struct {
s *Service
}
func NewDisksService(s *Service) *DisksService {
rs := &DisksService{s: s}
return rs
}
type DisksService struct {
s *Service
}
func NewFirewallsService(s *Service) *FirewallsService {
rs := &FirewallsService{s: s}
return rs
}
type FirewallsService struct {
s *Service
}
func NewForwardingRulesService(s *Service) *ForwardingRulesService {
rs := &ForwardingRulesService{s: s}
return rs
}
type ForwardingRulesService struct {
s *Service
}
func NewGlobalAddressesService(s *Service) *GlobalAddressesService {
rs := &GlobalAddressesService{s: s}
return rs
}
type GlobalAddressesService struct {
s *Service
}
func NewGlobalForwardingRulesService(s *Service) *GlobalForwardingRulesService {
rs := &GlobalForwardingRulesService{s: s}
return rs
}
type GlobalForwardingRulesService struct {
s *Service
}
func NewGlobalOperationsService(s *Service) *GlobalOperationsService {
rs := &GlobalOperationsService{s: s}
return rs
}
type GlobalOperationsService struct {
s *Service
}
func NewHealthChecksService(s *Service) *HealthChecksService {
rs := &HealthChecksService{s: s}
return rs
}
type HealthChecksService struct {
s *Service
}
func NewHttpHealthChecksService(s *Service) *HttpHealthChecksService {
rs := &HttpHealthChecksService{s: s}
return rs
}
type HttpHealthChecksService struct {
s *Service
}
func NewHttpsHealthChecksService(s *Service) *HttpsHealthChecksService {
rs := &HttpsHealthChecksService{s: s}
return rs
}
type HttpsHealthChecksService struct {
s *Service
}
func NewImagesService(s *Service) *ImagesService {
rs := &ImagesService{s: s}
return rs
}
type ImagesService struct {
s *Service
}
func NewInstanceGroupManagersService(s *Service) *InstanceGroupManagersService {
rs := &InstanceGroupManagersService{s: s}
return rs
}
type InstanceGroupManagersService struct {
s *Service
}
func NewInstanceGroupsService(s *Service) *InstanceGroupsService {
rs := &InstanceGroupsService{s: s}
return rs
}
type InstanceGroupsService struct {
s *Service
}
func NewInstanceTemplatesService(s *Service) *InstanceTemplatesService {
rs := &InstanceTemplatesService{s: s}
return rs
}
type InstanceTemplatesService struct {
s *Service
}
func NewInstancesService(s *Service) *InstancesService {
rs := &InstancesService{s: s}
return rs
}
type InstancesService struct {
s *Service
}
func NewInterconnectAttachmentsService(s *Service) *InterconnectAttachmentsService {
rs := &InterconnectAttachmentsService{s: s}
return rs
}
type InterconnectAttachmentsService struct {
s *Service
}
func NewInterconnectLocationsService(s *Service) *InterconnectLocationsService {
rs := &InterconnectLocationsService{s: s}
return rs
}
type InterconnectLocationsService struct {
s *Service
}
func NewInterconnectsService(s *Service) *InterconnectsService {
rs := &InterconnectsService{s: s}
return rs
}
type InterconnectsService struct {
s *Service
}
func NewLicenseCodesService(s *Service) *LicenseCodesService {
rs := &LicenseCodesService{s: s}
return rs
}
type LicenseCodesService struct {
s *Service
}
func NewLicensesService(s *Service) *LicensesService {
rs := &LicensesService{s: s}
return rs
}
type LicensesService struct {
s *Service
}
func NewMachineTypesService(s *Service) *MachineTypesService {
rs := &MachineTypesService{s: s}
return rs
}
type MachineTypesService struct {
s *Service
}
func NewNetworksService(s *Service) *NetworksService {
rs := &NetworksService{s: s}
return rs
}
type NetworksService struct {
s *Service
}
func NewNodeGroupsService(s *Service) *NodeGroupsService {
rs := &NodeGroupsService{s: s}
return rs
}
type NodeGroupsService struct {
s *Service
}
func NewNodeTemplatesService(s *Service) *NodeTemplatesService {
rs := &NodeTemplatesService{s: s}
return rs
}
type NodeTemplatesService struct {
s *Service
}
func NewNodeTypesService(s *Service) *NodeTypesService {
rs := &NodeTypesService{s: s}
return rs
}
type NodeTypesService struct {
s *Service
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
return rs
}
type ProjectsService struct {
s *Service
}
func NewRegionAutoscalersService(s *Service) *RegionAutoscalersService {
rs := &RegionAutoscalersService{s: s}
return rs
}
type RegionAutoscalersService struct {
s *Service
}
func NewRegionBackendServicesService(s *Service) *RegionBackendServicesService {
rs := &RegionBackendServicesService{s: s}
return rs
}
type RegionBackendServicesService struct {
s *Service
}
func NewRegionCommitmentsService(s *Service) *RegionCommitmentsService {
rs := &RegionCommitmentsService{s: s}
return rs
}
type RegionCommitmentsService struct {
s *Service
}
func NewRegionDiskTypesService(s *Service) *RegionDiskTypesService {
rs := &RegionDiskTypesService{s: s}
return rs
}
type RegionDiskTypesService struct {
s *Service
}
func NewRegionDisksService(s *Service) *RegionDisksService {
rs := &RegionDisksService{s: s}
return rs
}
type RegionDisksService struct {
s *Service
}
func NewRegionInstanceGroupManagersService(s *Service) *RegionInstanceGroupManagersService {
rs := &RegionInstanceGroupManagersService{s: s}
return rs
}
type RegionInstanceGroupManagersService struct {
s *Service
}
func NewRegionInstanceGroupsService(s *Service) *RegionInstanceGroupsService {
rs := &RegionInstanceGroupsService{s: s}
return rs
}
type RegionInstanceGroupsService struct {
s *Service
}
func NewRegionOperationsService(s *Service) *RegionOperationsService {
rs := &RegionOperationsService{s: s}
return rs
}
type RegionOperationsService struct {
s *Service
}
func NewRegionsService(s *Service) *RegionsService {
rs := &RegionsService{s: s}
return rs
}
type RegionsService struct {
s *Service
}
func NewRoutersService(s *Service) *RoutersService {
rs := &RoutersService{s: s}
return rs
}
type RoutersService struct {
s *Service
}
func NewRoutesService(s *Service) *RoutesService {
rs := &RoutesService{s: s}
return rs
}
type RoutesService struct {
s *Service
}
func NewSecurityPoliciesService(s *Service) *SecurityPoliciesService {
rs := &SecurityPoliciesService{s: s}
return rs
}
type SecurityPoliciesService struct {
s *Service
}
func NewSnapshotsService(s *Service) *SnapshotsService {
rs := &SnapshotsService{s: s}
return rs
}
type SnapshotsService struct {
s *Service
}
func NewSslCertificatesService(s *Service) *SslCertificatesService {
rs := &SslCertificatesService{s: s}
return rs
}
type SslCertificatesService struct {
s *Service
}
func NewSslPoliciesService(s *Service) *SslPoliciesService {
rs := &SslPoliciesService{s: s}
return rs
}
type SslPoliciesService struct {
s *Service
}
func NewSubnetworksService(s *Service) *SubnetworksService {
rs := &SubnetworksService{s: s}
return rs
}
type SubnetworksService struct {
s *Service
}
func NewTargetHttpProxiesService(s *Service) *TargetHttpProxiesService {
rs := &TargetHttpProxiesService{s: s}
return rs
}
type TargetHttpProxiesService struct {
s *Service
}
func NewTargetHttpsProxiesService(s *Service) *TargetHttpsProxiesService {
rs := &TargetHttpsProxiesService{s: s}
return rs
}
type TargetHttpsProxiesService struct {
s *Service
}
func NewTargetInstancesService(s *Service) *TargetInstancesService {
rs := &TargetInstancesService{s: s}
return rs
}
type TargetInstancesService struct {
s *Service
}
func NewTargetPoolsService(s *Service) *TargetPoolsService {
rs := &TargetPoolsService{s: s}
return rs
}
type TargetPoolsService struct {
s *Service
}
func NewTargetSslProxiesService(s *Service) *TargetSslProxiesService {
rs := &TargetSslProxiesService{s: s}
return rs
}
type TargetSslProxiesService struct {
s *Service
}
func NewTargetTcpProxiesService(s *Service) *TargetTcpProxiesService {
rs := &TargetTcpProxiesService{s: s}
return rs
}
type TargetTcpProxiesService struct {
s *Service
}
func NewTargetVpnGatewaysService(s *Service) *TargetVpnGatewaysService {
rs := &TargetVpnGatewaysService{s: s}
return rs
}
type TargetVpnGatewaysService struct {
s *Service
}
func NewUrlMapsService(s *Service) *UrlMapsService {
rs := &UrlMapsService{s: s}
return rs
}
type UrlMapsService struct {
s *Service
}
func NewVpnTunnelsService(s *Service) *VpnTunnelsService {
rs := &VpnTunnelsService{s: s}
return rs
}
type VpnTunnelsService struct {
s *Service
}
func NewZoneOperationsService(s *Service) *ZoneOperationsService {
rs := &ZoneOperationsService{s: s}
return rs
}
type ZoneOperationsService struct {
s *Service
}
func NewZonesService(s *Service) *ZonesService {
rs := &ZonesService{s: s}
return rs
}
type ZonesService struct {
s *Service
}
// AcceleratorConfig: A specification of the type and number of
// accelerator cards attached to the instance.
type AcceleratorConfig struct {
// AcceleratorCount: The number of the guest accelerator cards exposed
// to this instance.
AcceleratorCount int64 `json:"acceleratorCount,omitempty"`
// AcceleratorType: Full or partial URL of the accelerator type resource
// to attach to this instance. If you are creating an instance template,
// specify only the accelerator name.
AcceleratorType string `json:"acceleratorType,omitempty"`
// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
// unconditionally include in API requests. By default, fields with
// empty 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. "AcceleratorCount") 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 *AcceleratorConfig) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AcceleratorType: An Accelerator Type resource. (== resource_for
// beta.acceleratorTypes ==) (== resource_for v1.acceleratorTypes ==)
type AcceleratorType struct {
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Deprecated: [Output Only] The deprecation status associated with this
// accelerator type.
Deprecated *DeprecationStatus `json:"deprecated,omitempty"`
// Description: [Output Only] An optional textual description of the
// resource.
Description string `json:"description,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
// Kind: [Output Only] The type of the resource. Always
// compute#acceleratorType for accelerator types.
Kind string `json:"kind,omitempty"`
// MaximumCardsPerInstance: [Output Only] Maximum accelerator cards
// allowed per instance.
MaximumCardsPerInstance int64 `json:"maximumCardsPerInstance,omitempty"`
// Name: [Output Only] Name of the resource.
Name string `json:"name,omitempty"`
// SelfLink: [Output Only] Server-defined fully-qualified URL for this
// resource.
SelfLink string `json:"selfLink,omitempty"`
// Zone: [Output Only] The name of the zone where the accelerator type
// resides, such as us-central1-a. You must specify this field as part
// of the HTTP request URL. It is not settable as a field in the request
// body.
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreationTimestamp")
// to unconditionally include in API requests. By default, fields with
// empty 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. "CreationTimestamp") 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 *AcceleratorType) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorType
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AcceleratorTypeAggregatedList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of AcceleratorTypesScopedList resources.
Items map[string]AcceleratorTypesScopedList `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always
// compute#acceleratorTypeAggregatedList for aggregated lists of
// accelerator types.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AcceleratorTypeAggregatedListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AcceleratorTypeAggregatedList) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeAggregatedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AcceleratorTypeAggregatedListWarning: [Output Only] Informational
// warning message.
type AcceleratorTypeAggregatedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AcceleratorTypeAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AcceleratorTypeAggregatedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeAggregatedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AcceleratorTypeAggregatedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AcceleratorTypeAggregatedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeAggregatedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AcceleratorTypeList: Contains a list of accelerator types.
type AcceleratorTypeList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of AcceleratorType resources.
Items []*AcceleratorType `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always
// compute#acceleratorTypeList for lists of accelerator types.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AcceleratorTypeListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AcceleratorTypeList) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AcceleratorTypeListWarning: [Output Only] Informational warning
// message.
type AcceleratorTypeListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AcceleratorTypeListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AcceleratorTypeListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AcceleratorTypeListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AcceleratorTypeListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypeListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AcceleratorTypesScopedList struct {
// AcceleratorTypes: [Output Only] A list of accelerator types contained
// in this scope.
AcceleratorTypes []*AcceleratorType `json:"acceleratorTypes,omitempty"`
// Warning: [Output Only] An informational warning that appears when the
// accelerator types list is empty.
Warning *AcceleratorTypesScopedListWarning `json:"warning,omitempty"`
// ForceSendFields is a list of field names (e.g. "AcceleratorTypes") to
// unconditionally include in API requests. By default, fields with
// empty 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. "AcceleratorTypes") 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 *AcceleratorTypesScopedList) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypesScopedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AcceleratorTypesScopedListWarning: [Output Only] An informational
// warning that appears when the accelerator types list is empty.
type AcceleratorTypesScopedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AcceleratorTypesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AcceleratorTypesScopedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypesScopedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AcceleratorTypesScopedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AcceleratorTypesScopedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AcceleratorTypesScopedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AccessConfig: An access configuration attached to an instance's
// network interface. Only one access config per instance is supported.
type AccessConfig struct {
// Kind: [Output Only] Type of the resource. Always compute#accessConfig
// for access configs.
Kind string `json:"kind,omitempty"`
// Name: The name of this access configuration. The default and
// recommended name is External NAT but you can use any arbitrary string
// you would like. For example, My external IP or Network Access.
Name string `json:"name,omitempty"`
// NatIP: An external IP address associated with this instance. Specify
// an unused static external IP address available to the project or
// leave this field undefined to use an IP from a shared ephemeral IP
// address pool. If you specify a static external IP address, it must
// live in the same region as the zone of the instance.
NatIP string `json:"natIP,omitempty"`
// NetworkTier: This signifies the networking tier used for configuring
// this access configuration and can only take the following values:
// PREMIUM, STANDARD.
//
// If an AccessConfig is specified without a valid external IP address,
// an ephemeral IP will be created with this networkTier.
//
// If an AccessConfig with a valid external IP address is specified, it
// must match that of the networkTier associated with the Address
// resource owning that IP.
//
// Possible values:
// "PREMIUM"
// "STANDARD"
NetworkTier string `json:"networkTier,omitempty"`
// PublicPtrDomainName: The DNS domain name for the public PTR record.
// This field can only be set when the set_public_ptr field is enabled.
PublicPtrDomainName string `json:"publicPtrDomainName,omitempty"`
// SetPublicPtr: Specifies whether a public DNS ?PTR? record should be
// created to map the external IP address of the instance to a DNS
// domain name.
SetPublicPtr bool `json:"setPublicPtr,omitempty"`
// Type: The type of configuration. The default and only option is
// ONE_TO_ONE_NAT.
//
// Possible values:
// "ONE_TO_ONE_NAT" (default)
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Kind") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Kind") 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 *AccessConfig) MarshalJSON() ([]byte, error) {
type NoMethod AccessConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Address: A reserved address resource. (== resource_for beta.addresses
// ==) (== resource_for v1.addresses ==) (== resource_for
// beta.globalAddresses ==) (== resource_for v1.globalAddresses ==)
type Address struct {
// Address: The static IP address represented by this resource.
Address string `json:"address,omitempty"`
// AddressType: The type of address to reserve, either INTERNAL or
// EXTERNAL. If unspecified, defaults to EXTERNAL.
//
// Possible values:
// "EXTERNAL"
// "INTERNAL"
// "UNSPECIFIED_TYPE"
AddressType string `json:"addressType,omitempty"`
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: An optional description of this resource. Provide this
// property when you create the resource.
Description string `json:"description,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
// IpVersion: The IP Version that will be used by this address. Valid
// options are IPV4 or IPV6. This can only be specified for a global
// address.
//
// Possible values:
// "IPV4"
// "IPV6"
// "UNSPECIFIED_VERSION"
IpVersion string `json:"ipVersion,omitempty"`
// Kind: [Output Only] Type of the resource. Always compute#address for
// addresses.
Kind string `json:"kind,omitempty"`
// Name: Name of the resource. Provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
// match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
// the first character must be a lowercase letter, and all following
// characters must be a dash, lowercase letter, or digit, except the
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
// Network: The URL of the network in which to reserve the address. This
// field can only be used with INTERNAL type with VPC_PEERING purpose.
Network string `json:"network,omitempty"`
// NetworkTier: This signifies the networking tier used for configuring
// this Address and can only take the following values: PREMIUM,
// STANDARD. Global forwarding rules can only be Premium Tier. Regional
// forwarding rules can be either Premium or Standard Tier. Standard
// Tier addresses applied to regional forwarding rules can be used with
// any external load balancer. Regional forwarding rules in Premium Tier
// can only be used with a Network load balancer.
//
// If this field is not specified, it is assumed to be PREMIUM.
//
// Possible values:
// "PREMIUM"
// "STANDARD"
NetworkTier string `json:"networkTier,omitempty"`
// PrefixLength: The prefix length if the resource reprensents an IP
// range.
PrefixLength int64 `json:"prefixLength,omitempty"`
// Purpose: The purpose of resource, only used with INTERNAL type.
//
// Possible values:
// "DNS_RESOLVER"
// "GCE_ENDPOINT"
// "VPC_PEERING"
Purpose string `json:"purpose,omitempty"`
// Region: [Output Only] URL of the region where the regional address
// resides. This field is not applicable to global addresses. You must
// specify this field as part of the HTTP request URL. You cannot set
// this field in the request body.
Region string `json:"region,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// Status: [Output Only] The status of the address, which can be one of
// RESERVING, RESERVED, or IN_USE. An address that is RESERVING is
// currently in the process of being reserved. A RESERVED address is
// currently reserved and available to use. An IN_USE address is
// currently being used by another resource and is not available.
//
// Possible values:
// "IN_USE"
// "RESERVED"
// "RESERVING"
Status string `json:"status,omitempty"`
// Subnetwork: The URL of the subnetwork in which to reserve the
// address. If an IP address is specified, it must be within the
// subnetwork's IP range. This field can only be used with INTERNAL type
// with GCE_ENDPOINT/DNS_RESOLVER purposes.
Subnetwork string `json:"subnetwork,omitempty"`
// Users: [Output Only] The URLs of the resources that are using this
// address.
Users []string `json:"users,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Address") to
// unconditionally include in API requests. By default, fields with
// empty 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 *Address) MarshalJSON() ([]byte, error) {
type NoMethod Address
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressAggregatedList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of AddressesScopedList resources.
Items map[string]AddressesScopedList `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always
// compute#addressAggregatedList for aggregated lists of addresses.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AddressAggregatedListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AddressAggregatedList) MarshalJSON() ([]byte, error) {
type NoMethod AddressAggregatedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressAggregatedListWarning: [Output Only] Informational warning
// message.
type AddressAggregatedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AddressAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AddressAggregatedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AddressAggregatedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressAggregatedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AddressAggregatedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AddressAggregatedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressList: Contains a list of addresses.
type AddressList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of Address resources.
Items []*Address `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always compute#addressList for
// lists of addresses.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AddressListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AddressList) MarshalJSON() ([]byte, error) {
type NoMethod AddressList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressListWarning: [Output Only] Informational warning message.
type AddressListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AddressListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AddressListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AddressListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AddressListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AddressListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressesScopedList struct {
// Addresses: [Output Only] A list of addresses contained in this scope.
Addresses []*Address `json:"addresses,omitempty"`
// Warning: [Output Only] Informational warning which replaces the list
// of addresses when the list is empty.
Warning *AddressesScopedListWarning `json:"warning,omitempty"`
// ForceSendFields is a list of field names (e.g. "Addresses") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Addresses") 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 *AddressesScopedList) MarshalJSON() ([]byte, error) {
type NoMethod AddressesScopedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AddressesScopedListWarning: [Output Only] Informational warning which
// replaces the list of addresses when the list is empty.
type AddressesScopedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AddressesScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AddressesScopedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AddressesScopedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AddressesScopedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AddressesScopedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AddressesScopedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AliasIpRange: An alias IP range attached to an instance's network
// interface.
type AliasIpRange struct {
// IpCidrRange: The IP CIDR range represented by this alias IP range.
// This IP CIDR range must belong to the specified subnetwork and cannot
// contain IP addresses reserved by system or used by other network
// interfaces. This range may be a single IP address (e.g. 10.2.3.4), a
// netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).
IpCidrRange string `json:"ipCidrRange,omitempty"`
// SubnetworkRangeName: Optional subnetwork secondary range name
// specifying the secondary range from which to allocate the IP CIDR
// range for this alias IP range. If left unspecified, the primary range
// of the subnetwork will be used.
SubnetworkRangeName string `json:"subnetworkRangeName,omitempty"`
// ForceSendFields is a list of field names (e.g. "IpCidrRange") to
// unconditionally include in API requests. By default, fields with
// empty 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. "IpCidrRange") 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 *AliasIpRange) MarshalJSON() ([]byte, error) {
type NoMethod AliasIpRange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AttachedDisk: An instance-attached disk resource.
type AttachedDisk struct {
// AutoDelete: Specifies whether the disk will be auto-deleted when the
// instance is deleted (but not when the disk is detached from the
// instance).
AutoDelete bool `json:"autoDelete,omitempty"`
// Boot: Indicates that this is a boot disk. The virtual machine will
// use the first partition of the disk for its root filesystem.
Boot bool `json:"boot,omitempty"`
// DeviceName: Specifies a unique device name of your choice that is
// reflected into the /dev/disk/by-id/google-* tree of a Linux operating
// system running within the instance. This name can be used to
// reference the device for mounting, resizing, and so on, from within
// the instance.
//
// If not specified, the server chooses a default device name to apply
// to this disk, in the form persistent-disks-x, where x is a number
// assigned by Google Compute Engine. This field is only applicable for
// persistent disks.
DeviceName string `json:"deviceName,omitempty"`
// DiskEncryptionKey: Encrypts or decrypts a disk using a
// customer-supplied encryption key.
//
// If you are creating a new disk, this field encrypts the new disk
// using an encryption key that you provide. If you are attaching an
// existing disk that is already encrypted, this field decrypts the disk
// using the customer-supplied encryption key.
//
// If you encrypt a disk using a customer-supplied key, you must provide
// the same key again when you attempt to use this resource at a later
// time. For example, you must provide the key when you create a
// snapshot or an image from the disk or when you attach the disk to a
// virtual machine instance.
//
// If you do not provide an encryption key, then the disk will be
// encrypted using an automatically generated key and you do not need to
// provide a key to use the disk later.
//
// Instance templates do not store customer-supplied encryption keys, so
// you cannot use your own keys to encrypt disks in a managed instance
// group.
DiskEncryptionKey *CustomerEncryptionKey `json:"diskEncryptionKey,omitempty"`
// GuestOsFeatures: A list of features to enable on the guest operating
// system. Applicable only for bootable images. Read Enabling guest
// operating system features to see a list of available options.
GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,omitempty"`
// Index: [Output Only] A zero-based index to this disk, where 0 is
// reserved for the boot disk. If you have many disks attached to an
// instance, each disk would have a unique index number.
Index int64 `json:"index,omitempty"`
// InitializeParams: [Input Only] Specifies the parameters for a new
// disk that will be created alongside the new instance. Use
// initialization parameters to create boot disks or local SSDs attached
// to the new instance.
//
// This property is mutually exclusive with the source property; you can
// only define one or the other, but not both.
InitializeParams *AttachedDiskInitializeParams `json:"initializeParams,omitempty"`
// Interface: Specifies the disk interface to use for attaching this
// disk, which is either SCSI or NVME. The default is SCSI. Persistent
// disks must always use SCSI and the request will fail if you attempt
// to attach a persistent disk in any other format than SCSI. Local SSDs
// can use either NVME or SCSI. For performance characteristics of SCSI
// over NVMe, see Local SSD performance.
//
// Possible values:
// "NVME"
// "SCSI"
Interface string `json:"interface,omitempty"`
// Kind: [Output Only] Type of the resource. Always compute#attachedDisk
// for attached disks.
Kind string `json:"kind,omitempty"`
// Licenses: [Output Only] Any valid publicly visible licenses.
Licenses []string `json:"licenses,omitempty"`
// Mode: The mode in which to attach this disk, either READ_WRITE or
// READ_ONLY. If not specified, the default is to attach the disk in
// READ_WRITE mode.
//
// Possible values:
// "READ_ONLY"
// "READ_WRITE"
Mode string `json:"mode,omitempty"`
// Source: Specifies a valid partial or full URL to an existing
// Persistent Disk resource. When creating a new instance, one of
// initializeParams.sourceImage or disks.source is required except for
// local SSD.
//
// If desired, you can also attach existing non-root persistent disks
// using this property. This field is only applicable for persistent
// disks.
//
// Note that for InstanceTemplate, specify the disk name, not the URL
// for the disk.
Source string `json:"source,omitempty"`
// Type: Specifies the type of the disk, either SCRATCH or PERSISTENT.
// If not specified, the default is PERSISTENT.
//
// Possible values:
// "PERSISTENT"
// "SCRATCH"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoDelete") to
// unconditionally include in API requests. By default, fields with
// empty 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. "AutoDelete") 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 *AttachedDisk) MarshalJSON() ([]byte, error) {
type NoMethod AttachedDisk
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AttachedDiskInitializeParams: [Input Only] Specifies the parameters
// for a new disk that will be created alongside the new instance. Use
// initialization parameters to create boot disks or local SSDs attached
// to the new instance.
//
// This property is mutually exclusive with the source property; you can
// only define one or the other, but not both.
type AttachedDiskInitializeParams struct {
// Description: An optional description. Provide this property when
// creating the disk.
Description string `json:"description,omitempty"`
// DiskName: Specifies the disk name. If not specified, the default is
// to use the name of the instance. If the disk with the instance name
// exists already in the given zone/region, a new name will be
// automatically generated.
DiskName string `json:"diskName,omitempty"`
// DiskSizeGb: Specifies the size of the disk in base-2 GB.
DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
// DiskType: Specifies the disk type to use to create the instance. If
// not specified, the default is pd-standard, specified using the full
// URL. For
// example:
// https://www.googleapis.com/compute/v1/projects/project/zones/
// zone/diskTypes/pd-standard
//
//
// Other values include pd-ssd and local-ssd. If you define this field,
// you can provide either the full or partial URL. For example, the
// following are valid values:
// -
// https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/diskType
// - projects/project/zones/zone/diskTypes/diskType
// - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this
// is the name of the disk type, not URL.
DiskType string `json:"diskType,omitempty"`
// Labels: Labels to apply to this disk. These can be later modified by
// the disks.setLabels method. This field is only applicable for
// persistent disks.
Labels map[string]string `json:"labels,omitempty"`
// SourceImage: The source image to create this disk. When creating a
// new instance, one of initializeParams.sourceImage or disks.source is
// required except for local SSD.
//
// To create a disk with one of the public operating system images,
// specify the image by its family name. For example, specify
// family/debian-9 to use the latest Debian 9
// image:
// projects/debian-cloud/global/images/family/debian-9
//
//
// Alternati
// vely, use a specific version of a public operating system
// image:
// projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD
//
//
//
// To create a disk with a custom image that you created, specify the
// image name in the following
// format:
// global/images/my-custom-image
//
//
// You can also specify a custom image by its image family, which
// returns the latest version of the image in that family. Replace the
// image name with
// family/family-name:
// global/images/family/my-image-family
//
//
// If the source image is deleted later, this field will not be set.
SourceImage string `json:"sourceImage,omitempty"`
// SourceImageEncryptionKey: The customer-supplied encryption key of the
// source image. Required if the source image is protected by a
// customer-supplied encryption key.
//
// Instance templates do not store customer-supplied encryption keys, so
// you cannot create disks for instances in a managed instance group if
// the source images are encrypted with your own keys.
SourceImageEncryptionKey *CustomerEncryptionKey `json:"sourceImageEncryptionKey,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Description") 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 *AttachedDiskInitializeParams) MarshalJSON() ([]byte, error) {
type NoMethod AttachedDiskInitializeParams
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditConfig: Specifies the audit configuration for a service. The
// configuration determines which permission types are logged, and what
// identities, if any, are exempted from logging. An AuditConfig must
// have one or more AuditLogConfigs.
//
// If there are AuditConfigs for both `allServices` and a specific
// service, the union of the two AuditConfigs is used for that service:
// the log_types specified in each AuditConfig are enabled, and the
// exempted_members in each AuditLogConfig are exempted.
//
// Example Policy with multiple AuditConfigs:
//
// { "audit_configs": [ { "service": "allServices" "audit_log_configs":
// [ { "log_type": "DATA_READ", "exempted_members": [
// "user:foo@gmail.com" ] }, { "log_type": "DATA_WRITE", }, {
// "log_type": "ADMIN_READ", } ] }, { "service":
// "fooservice.googleapis.com" "audit_log_configs": [ { "log_type":
// "DATA_READ", }, { "log_type": "DATA_WRITE", "exempted_members": [
// "user:bar@gmail.com" ] } ] } ] }
//
// For fooservice, this policy enables DATA_READ, DATA_WRITE and
// ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ
// logging, and bar@gmail.com from DATA_WRITE logging.
type AuditConfig struct {
// AuditLogConfigs: The configuration for logging of each type of
// permission.
AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// Service: Specifies a service that will be enabled for audit logging.
// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
// `allServices` is a special value that covers all services.
Service string `json:"service,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
// unconditionally include in API requests. By default, fields with
// empty 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. "AuditLogConfigs") 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 *AuditConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditLogConfig: Provides the configuration for logging a type of
// permissions. Example:
//
// { "audit_log_configs": [ { "log_type": "DATA_READ",
// "exempted_members": [ "user:foo@gmail.com" ] }, { "log_type":
// "DATA_WRITE", } ] }
//
// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
// foo@gmail.com from DATA_READ logging.
type AuditLogConfig struct {
// ExemptedMembers: Specifies the identities that do not cause logging
// for this type of permission. Follows the same format of
// [Binding.members][].
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// LogType: The log type that this config enables.
//
// Possible values:
// "ADMIN_READ"
// "DATA_READ"
// "DATA_WRITE"
// "LOG_TYPE_UNSPECIFIED"
LogType string `json:"logType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
// unconditionally include in API requests. By default, fields with
// empty 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. "ExemptedMembers") 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 *AuditLogConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditLogConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuthorizationLoggingOptions: Authorization-related information used
// by Cloud Audit Logging.
type AuthorizationLoggingOptions struct {
// PermissionType: The type of the permission that was checked.
//
// Possible values:
// "ADMIN_READ"
// "ADMIN_WRITE"
// "DATA_READ"
// "DATA_WRITE"
// "PERMISSION_TYPE_UNSPECIFIED"
PermissionType string `json:"permissionType,omitempty"`
// ForceSendFields is a list of field names (e.g. "PermissionType") to
// unconditionally include in API requests. By default, fields with
// empty 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. "PermissionType") 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 *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) {
type NoMethod AuthorizationLoggingOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Autoscaler: Represents an Autoscaler resource. Autoscalers allow you
// to automatically scale virtual machine instances in managed instance
// groups according to an autoscaling policy that you define. For more
// information, read Autoscaling Groups of Instances. (== resource_for
// beta.autoscalers ==) (== resource_for v1.autoscalers ==) (==
// resource_for beta.regionAutoscalers ==) (== resource_for
// v1.regionAutoscalers ==)
type Autoscaler struct {
// AutoscalingPolicy: The configuration parameters for the autoscaling
// algorithm. You can define one or more of the policies for an
// autoscaler: cpuUtilization, customMetricUtilizations, and
// loadBalancingUtilization.
//
// If none of these are specified, the default will be to autoscale
// based on cpuUtilization to 0.6 or 60%.
AutoscalingPolicy *AutoscalingPolicy `json:"autoscalingPolicy,omitempty"`
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: An optional description of this resource. Provide this
// property when you create the resource.
Description string `json:"description,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
// Kind: [Output Only] Type of the resource. Always compute#autoscaler
// for autoscalers.
Kind string `json:"kind,omitempty"`
// Name: Name of the resource. Provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
// match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
// the first character must be a lowercase letter, and all following
// characters must be a dash, lowercase letter, or digit, except the
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
// Region: [Output Only] URL of the region where the instance group
// resides (for autoscalers living in regional scope).
Region string `json:"region,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// Status: [Output Only] The status of the autoscaler configuration.
//
// Possible values:
// "ACTIVE"
// "DELETING"
// "ERROR"
// "PENDING"
Status string `json:"status,omitempty"`
// StatusDetails: [Output Only] Human-readable details about the current
// state of the autoscaler. Read the documentation for Commonly returned
// status messages for examples of status messages you might encounter.
StatusDetails []*AutoscalerStatusDetails `json:"statusDetails,omitempty"`
// Target: URL of the managed instance group that this autoscaler will
// scale.
Target string `json:"target,omitempty"`
// Zone: [Output Only] URL of the zone where the instance group resides
// (for autoscalers living in zonal scope).
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AutoscalingPolicy")
// to unconditionally include in API requests. By default, fields with
// empty 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. "AutoscalingPolicy") 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 *Autoscaler) MarshalJSON() ([]byte, error) {
type NoMethod Autoscaler
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalerAggregatedList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of AutoscalersScopedList resources.
Items map[string]AutoscalersScopedList `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always
// compute#autoscalerAggregatedList for aggregated lists of autoscalers.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AutoscalerAggregatedListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AutoscalerAggregatedList) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerAggregatedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalerAggregatedListWarning: [Output Only] Informational warning
// message.
type AutoscalerAggregatedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AutoscalerAggregatedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AutoscalerAggregatedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerAggregatedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalerAggregatedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AutoscalerAggregatedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerAggregatedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalerList: Contains a list of Autoscaler resources.
type AutoscalerList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of Autoscaler resources.
Items []*Autoscaler `json:"items,omitempty"`
// Kind: [Output Only] Type of resource. Always compute#autoscalerList
// for lists of autoscalers.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *AutoscalerListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *AutoscalerList) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalerListWarning: [Output Only] Informational warning message.
type AutoscalerListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AutoscalerListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AutoscalerListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalerListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AutoscalerListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalerStatusDetails struct {
// Message: The status message.
Message string `json:"message,omitempty"`
// Type: The type of error returned.
//
// Possible values:
// "ALL_INSTANCES_UNHEALTHY"
// "BACKEND_SERVICE_DOES_NOT_EXIST"
// "CAPPED_AT_MAX_NUM_REPLICAS"
// "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE"
// "CUSTOM_METRIC_INVALID"
// "MIN_EQUALS_MAX"
// "MISSING_CUSTOM_METRIC_DATA_POINTS"
// "MISSING_LOAD_BALANCING_DATA_POINTS"
// "MORE_THAN_ONE_BACKEND_SERVICE"
// "NOT_ENOUGH_QUOTA_AVAILABLE"
// "REGION_RESOURCE_STOCKOUT"
// "SCALING_TARGET_DOES_NOT_EXIST"
// "UNKNOWN"
// "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION"
// "ZONE_RESOURCE_STOCKOUT"
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Message") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Message") 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 *AutoscalerStatusDetails) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalerStatusDetails
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalersScopedList struct {
// Autoscalers: [Output Only] A list of autoscalers contained in this
// scope.
Autoscalers []*Autoscaler `json:"autoscalers,omitempty"`
// Warning: [Output Only] Informational warning which replaces the list
// of autoscalers when the list is empty.
Warning *AutoscalersScopedListWarning `json:"warning,omitempty"`
// ForceSendFields is a list of field names (e.g. "Autoscalers") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Autoscalers") 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 *AutoscalersScopedList) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalersScopedList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalersScopedListWarning: [Output Only] Informational warning
// which replaces the list of autoscalers when the list is empty.
type AutoscalersScopedListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*AutoscalersScopedListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *AutoscalersScopedListWarning) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalersScopedListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoscalersScopedListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Key") 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 *AutoscalersScopedListWarningData) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalersScopedListWarningData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalingPolicy: Cloud Autoscaler policy.
type AutoscalingPolicy struct {
// CoolDownPeriodSec: The number of seconds that the autoscaler should
// wait before it starts collecting information from a new instance.
// This prevents the autoscaler from collecting information when the
// instance is initializing, during which the collected usage would not
// be reliable. The default time autoscaler waits is 60
// seconds.
//
// Virtual machine initialization times might vary because of numerous
// factors. We recommend that you test how long an instance may take to
// initialize. To do this, create an instance and time the startup
// process.
CoolDownPeriodSec int64 `json:"coolDownPeriodSec,omitempty"`
// CpuUtilization: Defines the CPU utilization policy that allows the
// autoscaler to scale based on the average CPU utilization of a managed
// instance group.
CpuUtilization *AutoscalingPolicyCpuUtilization `json:"cpuUtilization,omitempty"`
// CustomMetricUtilizations: Configuration parameters of autoscaling
// based on a custom metric.
CustomMetricUtilizations []*AutoscalingPolicyCustomMetricUtilization `json:"customMetricUtilizations,omitempty"`
// LoadBalancingUtilization: Configuration parameters of autoscaling
// based on load balancer.
LoadBalancingUtilization *AutoscalingPolicyLoadBalancingUtilization `json:"loadBalancingUtilization,omitempty"`
// MaxNumReplicas: The maximum number of instances that the autoscaler
// can scale up to. This is required when creating or updating an
// autoscaler. The maximum number of replicas should not be lower than
// minimal number of replicas.
MaxNumReplicas int64 `json:"maxNumReplicas,omitempty"`
// MinNumReplicas: The minimum number of replicas that the autoscaler
// can scale down to. This cannot be less than 0. If not provided,
// autoscaler will choose a default value depending on maximum number of
// instances allowed.
MinNumReplicas int64 `json:"minNumReplicas,omitempty"`
// ForceSendFields is a list of field names (e.g. "CoolDownPeriodSec")
// to unconditionally include in API requests. By default, fields with
// empty 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. "CoolDownPeriodSec") 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 *AutoscalingPolicy) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoscalingPolicyCpuUtilization: CPU utilization policy.
type AutoscalingPolicyCpuUtilization struct {
// UtilizationTarget: The target CPU utilization that the autoscaler
// should maintain. Must be a float value in the range (0, 1]. If not
// specified, the default is 0.6.
//
// If the CPU level is below the target utilization, the autoscaler
// scales down the number of instances until it reaches the minimum
// number of instances you specified or until the average CPU of your
// instances reaches the target utilization.
//
// If the average CPU is above the target utilization, the autoscaler
// scales up until it reaches the maximum number of instances you
// specified or until the average utilization reaches the target
// utilization.
UtilizationTarget float64 `json:"utilizationTarget,omitempty"`
// ForceSendFields is a list of field names (e.g. "UtilizationTarget")
// to unconditionally include in API requests. By default, fields with
// empty 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. "UtilizationTarget") 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 *AutoscalingPolicyCpuUtilization) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingPolicyCpuUtilization
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *AutoscalingPolicyCpuUtilization) UnmarshalJSON(data []byte) error {
type NoMethod AutoscalingPolicyCpuUtilization
var s1 struct {
UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.UtilizationTarget = float64(s1.UtilizationTarget)
return nil
}
// AutoscalingPolicyCustomMetricUtilization: Custom utilization metric
// policy.
type AutoscalingPolicyCustomMetricUtilization struct {
// Metric: The identifier (type) of the Stackdriver Monitoring metric.
// The metric cannot have negative values.
//
// The metric must have a value type of INT64 or DOUBLE.
Metric string `json:"metric,omitempty"`
// UtilizationTarget: The target value of the metric that autoscaler
// should maintain. This must be a positive value. A utilization metric
// scales number of virtual machines handling requests to increase or
// decrease proportionally to the metric.
//
// For example, a good metric to use as a utilization_target is
// compute.googleapis.com/instance/network/received_bytes_count. The
// autoscaler will work to keep this value constant for each of the
// instances.
UtilizationTarget float64 `json:"utilizationTarget,omitempty"`
// UtilizationTargetType: Defines how target utilization value is
// expressed for a Stackdriver Monitoring metric. Either GAUGE,
// DELTA_PER_SECOND, or DELTA_PER_MINUTE.
//
// Possible values:
// "DELTA_PER_MINUTE"
// "DELTA_PER_SECOND"
// "GAUGE"
UtilizationTargetType string `json:"utilizationTargetType,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metric") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Metric") 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 *AutoscalingPolicyCustomMetricUtilization) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingPolicyCustomMetricUtilization
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *AutoscalingPolicyCustomMetricUtilization) UnmarshalJSON(data []byte) error {
type NoMethod AutoscalingPolicyCustomMetricUtilization
var s1 struct {
UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.UtilizationTarget = float64(s1.UtilizationTarget)
return nil
}
// AutoscalingPolicyLoadBalancingUtilization: Configuration parameters
// of autoscaling based on load balancing.
type AutoscalingPolicyLoadBalancingUtilization struct {
// UtilizationTarget: Fraction of backend capacity utilization (set in
// HTTP(s) load balancing configuration) that autoscaler should
// maintain. Must be a positive float value. If not defined, the default
// is 0.8.
UtilizationTarget float64 `json:"utilizationTarget,omitempty"`
// ForceSendFields is a list of field names (e.g. "UtilizationTarget")
// to unconditionally include in API requests. By default, fields with
// empty 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. "UtilizationTarget") 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 *AutoscalingPolicyLoadBalancingUtilization) MarshalJSON() ([]byte, error) {
type NoMethod AutoscalingPolicyLoadBalancingUtilization
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *AutoscalingPolicyLoadBalancingUtilization) UnmarshalJSON(data []byte) error {
type NoMethod AutoscalingPolicyLoadBalancingUtilization
var s1 struct {
UtilizationTarget gensupport.JSONFloat64 `json:"utilizationTarget"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.UtilizationTarget = float64(s1.UtilizationTarget)
return nil
}
// Backend: Message containing information of one individual backend.
type Backend struct {
// BalancingMode: Specifies the balancing mode for this backend. For
// global HTTP(S) or TCP/SSL load balancing, the default is UTILIZATION.
// Valid values are UTILIZATION, RATE (for HTTP(S)) and CONNECTION (for
// TCP/SSL).
//
// For Internal Load Balancing, the default and only supported mode is
// CONNECTION.
//
// Possible values:
// "CONNECTION"
// "RATE"
// "UTILIZATION"
BalancingMode string `json:"balancingMode,omitempty"`
// CapacityScaler: A multiplier applied to the group's maximum servicing
// capacity (based on UTILIZATION, RATE or CONNECTION). Default value is
// 1, which means the group will serve up to 100% of its configured
// capacity (depending on balancingMode). A setting of 0 means the group
// is completely drained, offering 0% of its available Capacity. Valid
// range is [0.0,1.0].
//
// This cannot be used for internal load balancing.
CapacityScaler float64 `json:"capacityScaler,omitempty"`
// Description: An optional description of this resource. Provide this
// property when you create the resource.
Description string `json:"description,omitempty"`
// Group: The fully-qualified URL of an Instance Group or Network
// Endpoint Group resource. In case of instance group this defines the
// list of instances that serve traffic. Member virtual machine
// instances from each instance group must live in the same zone as the
// instance group itself. No two backends in a backend service are
// allowed to use same Instance Group resource.
//
// For Network Endpoint Groups this defines list of endpoints. All
// endpoints of Network Endpoint Group must be hosted on instances
// located in the same zone as the Network Endpoint Group.
//
// Backend service can not contain mix of Instance Group and Network
// Endpoint Group backends.
//
// Note that you must specify an Instance Group or Network Endpoint
// Group resource using the fully-qualified URL, rather than a partial
// URL.
//
// When the BackendService has load balancing scheme INTERNAL, the
// instance group must be within the same region as the BackendService.
// Network Endpoint Groups are not supported for INTERNAL load balancing
// scheme.
Group string `json:"group,omitempty"`
// MaxConnections: The max number of simultaneous connections for the
// group. Can be used with either CONNECTION or UTILIZATION balancing
// modes. For CONNECTION mode, either maxConnections or
// maxConnectionsPerInstance must be set.
//
// This cannot be used for internal load balancing.
MaxConnections int64 `json:"maxConnections,omitempty"`
// MaxConnectionsPerInstance: The max number of simultaneous connections
// that a single backend instance can handle. This is used to calculate
// the capacity of the group. Can be used in either CONNECTION or
// UTILIZATION balancing modes. For CONNECTION mode, either
// maxConnections or maxConnectionsPerInstance must be set.
//
// This cannot be used for internal load balancing.
MaxConnectionsPerInstance int64 `json:"maxConnectionsPerInstance,omitempty"`
// MaxRate: The max requests per second (RPS) of the group. Can be used
// with either RATE or UTILIZATION balancing modes, but required if RATE
// mode. For RATE mode, either maxRate or maxRatePerInstance must be
// set.
//
// This cannot be used for internal load balancing.
MaxRate int64 `json:"maxRate,omitempty"`
// MaxRatePerInstance: The max requests per second (RPS) that a single
// backend instance can handle. This is used to calculate the capacity
// of the group. Can be used in either balancing mode. For RATE mode,
// either maxRate or maxRatePerInstance must be set.
//
// This cannot be used for internal load balancing.
MaxRatePerInstance float64 `json:"maxRatePerInstance,omitempty"`
// MaxUtilization: Used when balancingMode is UTILIZATION. This ratio
// defines the CPU utilization target for the group. The default is 0.8.
// Valid range is [0.0, 1.0].
//
// This cannot be used for internal load balancing.
MaxUtilization float64 `json:"maxUtilization,omitempty"`
// ForceSendFields is a list of field names (e.g. "BalancingMode") to
// unconditionally include in API requests. By default, fields with
// empty 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. "BalancingMode") 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 *Backend) MarshalJSON() ([]byte, error) {
type NoMethod Backend
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Backend) UnmarshalJSON(data []byte) error {
type NoMethod Backend
var s1 struct {
CapacityScaler gensupport.JSONFloat64 `json:"capacityScaler"`
MaxRatePerInstance gensupport.JSONFloat64 `json:"maxRatePerInstance"`
MaxUtilization gensupport.JSONFloat64 `json:"maxUtilization"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.CapacityScaler = float64(s1.CapacityScaler)
s.MaxRatePerInstance = float64(s1.MaxRatePerInstance)
s.MaxUtilization = float64(s1.MaxUtilization)
return nil
}
// BackendBucket: A BackendBucket resource. This resource defines a
// Cloud Storage bucket.
type BackendBucket struct {
// BucketName: Cloud Storage bucket name.
BucketName string `json:"bucketName,omitempty"`
// CdnPolicy: Cloud CDN configuration for this BackendBucket.
CdnPolicy *BackendBucketCdnPolicy `json:"cdnPolicy,omitempty"`
// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
// format.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: An optional textual description of the resource;
// provided by the client when the resource is created.
Description string `json:"description,omitempty"`
// EnableCdn: If true, enable Cloud CDN for this BackendBucket.
EnableCdn bool `json:"enableCdn,omitempty"`
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id uint64 `json:"id,omitempty,string"`
// Kind: Type of the resource.
Kind string `json:"kind,omitempty"`
// Name: Name of the resource. Provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
// match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
// the first character must be a lowercase letter, and all following
// characters must be a dash, lowercase letter, or digit, except the
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BucketName") to
// unconditionally include in API requests. By default, fields with
// empty 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. "BucketName") 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 *BackendBucket) MarshalJSON() ([]byte, error) {
type NoMethod BackendBucket
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BackendBucketCdnPolicy: Message containing Cloud CDN configuration
// for a backend bucket.
type BackendBucketCdnPolicy struct {
// SignedUrlCacheMaxAgeSec: Maximum number of seconds the response to a
// signed URL request will be considered fresh. After this time period,
// the response will be revalidated before being served. Defaults to 1hr
// (3600s). When serving responses to signed URL requests, Cloud CDN
// will internally behave as though all responses from this backend had
// a "Cache-Control: public, max-age=[TTL]" header, regardless of any
// existing Cache-Control header. The actual headers served in responses
// will not be altered.
SignedUrlCacheMaxAgeSec int64 `json:"signedUrlCacheMaxAgeSec,omitempty,string"`
// SignedUrlKeyNames: [Output Only] Names of the keys for signing
// request URLs.
SignedUrlKeyNames []string `json:"signedUrlKeyNames,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "SignedUrlCacheMaxAgeSec") to unconditionally include in API
// requests. By default, fields with empty 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. "SignedUrlCacheMaxAgeSec")
// 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 *BackendBucketCdnPolicy) MarshalJSON() ([]byte, error) {
type NoMethod BackendBucketCdnPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BackendBucketList: Contains a list of BackendBucket resources.
type BackendBucketList struct {
// Id: [Output Only] Unique identifier for the resource; defined by the
// server.
Id string `json:"id,omitempty"`
// Items: A list of BackendBucket resources.
Items []*BackendBucket `json:"items,omitempty"`
// Kind: Type of resource.
Kind string `json:"kind,omitempty"`
// NextPageToken: [Output Only] This token allows you to get the next
// page of results for list requests. If the number of results is larger
// than maxResults, use the nextPageToken as a value for the query
// parameter pageToken in the next list request. Subsequent list
// requests will have their own nextPageToken to continue paging through
// the results.
NextPageToken string `json:"nextPageToken,omitempty"`
// SelfLink: [Output Only] Server-defined URL for this resource.
SelfLink string `json:"selfLink,omitempty"`
// Warning: [Output Only] Informational warning message.
Warning *BackendBucketListWarning `json:"warning,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty 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 *BackendBucketList) MarshalJSON() ([]byte, error) {
type NoMethod BackendBucketList
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BackendBucketListWarning: [Output Only] Informational warning
// message.
type BackendBucketListWarning struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
//
// Possible values:
// "CLEANUP_FAILED"
// "DEPRECATED_RESOURCE_USED"
// "DEPRECATED_TYPE_USED"
// "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
// "EXPERIMENTAL_TYPE_USED"
// "EXTERNAL_API_WARNING"
// "FIELD_VALUE_OVERRIDEN"
// "INJECTED_KERNELS_DEPRECATED"
// "MISSING_TYPE_DEPENDENCY"
// "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
// "NEXT_HOP_CANNOT_IP_FORWARD"
// "NEXT_HOP_INSTANCE_NOT_FOUND"
// "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
// "NEXT_HOP_NOT_RUNNING"
// "NOT_CRITICAL_ERROR"
// "NO_RESULTS_ON_PAGE"
// "REQUIRED_TOS_AGREEMENT"
// "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
// "RESOURCE_NOT_DELETED"
// "SCHEMA_VALIDATION_IGNORED"
// "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
// "UNDECLARED_PROPERTIES"
// "UNREACHABLE"
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*BackendBucketListWarningData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty 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. "Code") 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 *BackendBucketListWarning) MarshalJSON() ([]byte, error) {
type NoMethod BackendBucketListWarning
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type BackendBucketListWarningData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty 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:"-"`