compute

package
v0.0.0-...-ff3b5ee Latest Latest
Warning

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

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

Documentation

Overview

Package compute provides access to the Compute Engine API.

For product documentation, see: https://cloud.google.com/compute/

Library status

These client libraries are officially supported by Google. However, this library is considered complete and is in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.

When possible, we recommend using our newer [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) that are still actively being worked and iterated on.

Creating a client

Usage example:

import "google.golang.org/api/compute/v0.beta"
...
ctx := context.Background()
computeService, err := compute.NewService(ctx)

In this example, Google Application Default Credentials are used for authentication. For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use google.golang.org/api/option.WithScopes:

computeService, err := compute.NewService(ctx, option.WithScopes(compute.DevstorageReadWriteScope))

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

computeService, err := compute.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow, use google.golang.org/api/option.WithTokenSource:

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

See google.golang.org/api/option.ClientOption for details on options.

Index

Constants

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

	// 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 Cloud Storage and see the email
	// address for your Google Account
	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 Cloud Storage and see the email address of your
	// Google Account
	DevstorageReadWriteScope = "https://www.googleapis.com/auth/devstorage.read_write"
)

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSV4Signature

type AWSV4Signature struct {
	// AccessKey: The access key used for s3 bucket authentication. Required
	// for updating or creating a backend that uses AWS v4 signature
	// authentication, but will not be returned as part of the configuration
	// when queried with a REST API GET request. @InputOnly
	AccessKey string `json:"accessKey,omitempty"`

	// AccessKeyId: The identifier of an access key used for s3 bucket
	// authentication.
	AccessKeyId string `json:"accessKeyId,omitempty"`

	// AccessKeyVersion: The optional version identifier for the access key.
	// You can use this to keep track of different iterations of your access
	// key.
	AccessKeyVersion string `json:"accessKeyVersion,omitempty"`

	// OriginRegion: The name of the cloud region of your origin. This is a
	// free-form field with the name of the region your cloud uses to host
	// your origin. For example, "us-east-1" for AWS or "us-ashburn-1" for
	// OCI.
	OriginRegion string `json:"originRegion,omitempty"`

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

	// NullFields is a list of field names (e.g. "AccessKey") 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:"-"`
}

AWSV4Signature: Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.

func (*AWSV4Signature) MarshalJSON

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

type AcceleratorConfig

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. For example:
	// projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-
	// p100 If you are creating an instance template, specify only the
	// accelerator name. See GPUs on Compute Engine for a full list of
	// accelerator types.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AcceleratorConfig: A specification of the type and number of accelerator cards attached to the instance.

func (*AcceleratorConfig) MarshalJSON

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

type AcceleratorType

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 number of 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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AcceleratorType: Represents an Accelerator Type resource. Google Cloud Platform provides graphics processing units (accelerators) that you can add to VM instances to improve or accelerate performance when working with intensive workloads. For more information, read GPUs on Compute Engine.

func (*AcceleratorType) MarshalJSON

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

type AcceleratorTypeAggregatedList

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

	// Unreachables: [Output Only] Unreachable resources.
	Unreachables []string `json:"unreachables,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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

func (*AcceleratorTypeAggregatedList) MarshalJSON

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

type AcceleratorTypeAggregatedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AcceleratorTypeAggregatedListWarning: [Output Only] Informational warning message.

func (*AcceleratorTypeAggregatedListWarning) MarshalJSON

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

type AcceleratorTypeAggregatedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AcceleratorTypeAggregatedListWarningData) MarshalJSON

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

type AcceleratorTypeList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

AcceleratorTypeList: Contains a list of accelerator types.

func (*AcceleratorTypeList) MarshalJSON

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

type AcceleratorTypeListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AcceleratorTypeListWarning: [Output Only] Informational warning message.

func (*AcceleratorTypeListWarning) MarshalJSON

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

type AcceleratorTypeListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AcceleratorTypeListWarningData) MarshalJSON

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

type AcceleratorTypesAggregatedListCall

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

func (*AcceleratorTypesAggregatedListCall) Context

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

func (*AcceleratorTypesAggregatedListCall) Do

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

func (*AcceleratorTypesAggregatedListCall) Fields

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

func (*AcceleratorTypesAggregatedListCall) Filter

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AcceleratorTypesAggregatedListCall) Header

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

func (*AcceleratorTypesAggregatedListCall) IfNoneMatch

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

func (*AcceleratorTypesAggregatedListCall) IncludeAllScopes

func (c *AcceleratorTypesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *AcceleratorTypesAggregatedListCall

IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.

func (*AcceleratorTypesAggregatedListCall) MaxResults

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AcceleratorTypesAggregatedListCall) OrderBy

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AcceleratorTypesAggregatedListCall) PageToken

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AcceleratorTypesAggregatedListCall) Pages

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

func (*AcceleratorTypesAggregatedListCall) ReturnPartialSuccess

func (c *AcceleratorTypesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AcceleratorTypesAggregatedListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

func (*AcceleratorTypesAggregatedListCall) ServiceProjectNumber

func (c *AcceleratorTypesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *AcceleratorTypesAggregatedListCall

ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.

type AcceleratorTypesGetCall

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

func (*AcceleratorTypesGetCall) Context

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

func (*AcceleratorTypesGetCall) Do

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

func (*AcceleratorTypesGetCall) Fields

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

func (*AcceleratorTypesGetCall) Header

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

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

func (*AcceleratorTypesGetCall) IfNoneMatch

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

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

type AcceleratorTypesListCall

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

func (*AcceleratorTypesListCall) Context

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

func (*AcceleratorTypesListCall) Do

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

func (*AcceleratorTypesListCall) Fields

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

func (*AcceleratorTypesListCall) Filter

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AcceleratorTypesListCall) Header

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

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

func (*AcceleratorTypesListCall) IfNoneMatch

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

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

func (*AcceleratorTypesListCall) MaxResults

func (c *AcceleratorTypesListCall) MaxResults(maxResults int64) *AcceleratorTypesListCall

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AcceleratorTypesListCall) OrderBy

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AcceleratorTypesListCall) PageToken

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

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AcceleratorTypesListCall) Pages

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

func (*AcceleratorTypesListCall) ReturnPartialSuccess

func (c *AcceleratorTypesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AcceleratorTypesListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

type AcceleratorTypesScopedList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AcceleratorTypesScopedList) MarshalJSON

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

type AcceleratorTypesScopedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AcceleratorTypesScopedListWarning: [Output Only] An informational warning that appears when the accelerator types list is empty.

func (*AcceleratorTypesScopedListWarning) MarshalJSON

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

type AcceleratorTypesScopedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AcceleratorTypesScopedListWarningData) MarshalJSON

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

type AcceleratorTypesService

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

func NewAcceleratorTypesService

func NewAcceleratorTypesService(s *Service) *AcceleratorTypesService

func (*AcceleratorTypesService) AggregatedList

AggregatedList: Retrieves an aggregated list of accelerator types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.

- project: Project ID for this request.

func (*AcceleratorTypesService) Get

func (r *AcceleratorTypesService) Get(project string, zone string, acceleratorType string) *AcceleratorTypesGetCall

Get: Returns the specified accelerator type.

- acceleratorType: Name of the accelerator type to return. - project: Project ID for this request. - zone: The name of the zone for this request.

func (*AcceleratorTypesService) List

List: Retrieves a list of accelerator types that are available to the specified project.

- project: Project ID for this request. - zone: The name of the zone for this request.

type AccessConfig

type AccessConfig struct {
	// ExternalIpv6: Applies to ipv6AccessConfigs only. The first IPv6
	// address of the external IPv6 range associated with this instance,
	// prefix length is stored in externalIpv6PrefixLength in
	// ipv6AccessConfig. To use a static external IP address, it must be
	// unused and in the same region as the instance's zone. If not
	// specified, Google Cloud will automatically assign an external IPv6
	// address from the instance's subnetwork.
	ExternalIpv6 string `json:"externalIpv6,omitempty"`

	// ExternalIpv6PrefixLength: Applies to ipv6AccessConfigs only. The
	// prefix length of the external IPv6 range.
	ExternalIpv6PrefixLength int64 `json:"externalIpv6PrefixLength,omitempty"`

	// 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. In accessConfigs (IPv4),
	// the default and recommended name is External NAT, but you can use any
	// arbitrary string, such as My external IP or Network Access. In
	// ipv6AccessConfigs, the recommend name is External IPv6.
	Name string `json:"name,omitempty"`

	// NatIP: Applies to accessConfigs (IPv4) only. 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:
	//   "FIXED_STANDARD" - Public internet quality with fixed bandwidth.
	//   "PREMIUM" - High quality, Google-grade network tier, support for
	// all networking products.
	//   "STANDARD" - Public internet quality, only limited support for
	// other networking products.
	//   "STANDARD_OVERRIDES_FIXED_STANDARD" - (Output only) Temporary tier
	// for FIXED_STANDARD when fixed standard tier is expired or not
	// configured.
	NetworkTier string `json:"networkTier,omitempty"`

	// PublicPtrDomainName: The DNS domain name for the public PTR record.
	// You can set this field only if the `setPublicPtr` field is enabled in
	// accessConfig. If this field is unspecified in ipv6AccessConfig, a
	// default PTR record will be createc for first IP in associated
	// external IPv6 range.
	PublicPtrDomainName string `json:"publicPtrDomainName,omitempty"`

	// SecurityPolicy: [Output Only] The resource URL for the security
	// policy associated with this access config.
	SecurityPolicy string `json:"securityPolicy,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. This field is not used in ipv6AccessConfig. A default
	// PTR record will be created if the VM has external IPv6 range
	// associated.
	SetPublicPtr bool `json:"setPublicPtr,omitempty"`

	// Type: The type of configuration. In accessConfigs (IPv4), the default
	// and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default
	// and only option is DIRECT_IPV6.
	//
	// Possible values:
	//   "DIRECT_IPV6"
	//   "ONE_TO_ONE_NAT"
	Type string `json:"type,omitempty"`

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

	// NullFields is a list of field names (e.g. "ExternalIpv6") 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:"-"`
}

AccessConfig: An access configuration attached to an instance's network interface. Only one access config per instance is supported.

func (*AccessConfig) MarshalJSON

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

type Address

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" - A publicly visible external IP address.
	//   "INTERNAL" - A private network IP address, for use with an Instance
	// or Internal Load Balancer forwarding rule.
	//   "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
	// field 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.
	//
	// Possible values:
	//   "IPV4"
	//   "IPV6"
	//   "UNSPECIFIED_VERSION"
	IpVersion string `json:"ipVersion,omitempty"`

	// Ipv6EndpointType: The endpoint type of this address, which should be
	// VM or NETLB. This is used for deciding which type of endpoint this
	// address can be used after the external IPv6 address reservation.
	//
	// Possible values:
	//   "NETLB" - Reserved IPv6 address can be used on network load
	// balancer.
	//   "VM" - Reserved IPv6 address can be used on VM.
	Ipv6EndpointType string `json:"ipv6EndpointType,omitempty"`

	// Kind: [Output Only] Type of the resource. Always compute#address for
	// addresses.
	Kind string `json:"kind,omitempty"`

	// LabelFingerprint: A fingerprint for the labels being applied to this
	// Address, which is essentially a hash of the labels set used for
	// optimistic locking. The fingerprint is initially generated by Compute
	// Engine and changes after every request to modify or update labels.
	// You must always provide an up-to-date fingerprint hash in order to
	// update or change labels, otherwise the request will fail with error
	// 412 conditionNotMet. To see the latest fingerprint, make a get()
	// request to retrieve an Address.
	LabelFingerprint string `json:"labelFingerprint,omitempty"`

	// Labels: Labels for this resource. These can only be added or modified
	// by the setLabels method. Each label key/value pair must comply with
	// RFC1035. Label values may be empty.
	Labels map[string]string `json:"labels,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])?`. The first
	// character must be a lowercase letter, and all following characters
	// (except for the last character) must be a dash, lowercase letter, or
	// digit. The last character must be a lowercase letter or digit.
	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 the 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 or
	// STANDARD. Internal IP addresses are always Premium Tier; global
	// external IP addresses are always Premium Tier; regional external IP
	// addresses can be either Standard or Premium Tier. If this field is
	// not specified, it is assumed to be PREMIUM.
	//
	// Possible values:
	//   "FIXED_STANDARD" - Public internet quality with fixed bandwidth.
	//   "PREMIUM" - High quality, Google-grade network tier, support for
	// all networking products.
	//   "STANDARD" - Public internet quality, only limited support for
	// other networking products.
	//   "STANDARD_OVERRIDES_FIXED_STANDARD" - (Output only) Temporary tier
	// for FIXED_STANDARD when fixed standard tier is expired or not
	// configured.
	NetworkTier string `json:"networkTier,omitempty"`

	// PrefixLength: The prefix length if the resource represents an IP
	// range.
	PrefixLength int64 `json:"prefixLength,omitempty"`

	// Purpose: The purpose of this resource, which can be one of the
	// following values: - GCE_ENDPOINT for addresses that are used by VM
	// instances, alias IP ranges, load balancers, and similar resources. -
	// DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud
	// DNS inbound forwarder IP addresses (regional internal IP address in a
	// subnet of a VPC network) - VPC_PEERING for global internal IP
	// addresses used for private services access allocated ranges. -
	// NAT_AUTO for the regional external IP addresses used by Cloud NAT
	// when allocating addresses using automatic NAT IP address allocation.
	// - IPSEC_INTERCONNECT for addresses created from a private IP range
	// that are reserved for a VLAN attachment in an *HA VPN over Cloud
	// Interconnect* configuration. These addresses are regional resources.
	// - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
	// assigned to multiple internal forwarding rules. -
	// `PRIVATE_SERVICE_CONNECT` for a private network address that is used
	// to configure Private Service Connect. Only global internal addresses
	// can use this purpose.
	//
	// Possible values:
	//   "DNS_RESOLVER" - DNS resolver address in the subnetwork.
	//   "GCE_ENDPOINT" - VM internal/alias IP, Internal LB service IP, etc.
	//   "IPSEC_INTERCONNECT" - A regional internal IP address range
	// reserved for the VLAN attachment that is used in HA VPN over Cloud
	// Interconnect. This regional internal IP address range must not
	// overlap with any IP address range of subnet/route in the VPC network
	// and its peering networks. After the VLAN attachment is created with
	// the reserved IP address range, when creating a new VPN gateway, its
	// interface IP address is allocated from the associated VLAN
	// attachment’s IP address range.
	//   "NAT_AUTO" - External IP automatically reserved for Cloud NAT.
	//   "PRIVATE_SERVICE_CONNECT" - A private network IP address that can
	// be used to configure Private Service Connect. This purpose can be
	// specified only for GLOBAL addresses of Type INTERNAL
	//   "SERVERLESS" - A regional internal IP address range reserved for
	// Serverless.
	//   "SHARED_LOADBALANCER_VIP" - A private network IP address that can
	// be shared by multiple Internal Load Balancer forwarding rules.
	//   "VPC_PEERING" - IP range for peer networks.
	Purpose string `json:"purpose,omitempty"`

	// Region: [Output Only] The URL of the region where a regional address
	// resides. For regional addresses, you must specify the region as a
	// path parameter in the HTTP request URL. *This field is not applicable
	// to global addresses.*
	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" - Address is being used by another resource and is not
	// available.
	//   "RESERVED" - Address is reserved and available to use.
	//   "RESERVING" - Address is being reserved.
	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 a GCE_ENDPOINT or DNS_RESOLVER purpose.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

Address: Represents an IP Address resource. Google Compute Engine has two IP Address resources: * Global (external and internal) (https://cloud.google.com/compute/docs/reference/rest/beta/globalAddresses) * Regional (external and internal) (https://cloud.google.com/compute/docs/reference/rest/beta/addresses) For more information, see Reserving a static external IP address.

func (*Address) MarshalJSON

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

type AddressAggregatedList

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

	// Unreachables: [Output Only] Unreachable resources.
	Unreachables []string `json:"unreachables,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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

func (*AddressAggregatedList) MarshalJSON

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

type AddressAggregatedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AddressAggregatedListWarning: [Output Only] Informational warning message.

func (*AddressAggregatedListWarning) MarshalJSON

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

type AddressAggregatedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AddressAggregatedListWarningData) MarshalJSON

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

type AddressList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

AddressList: Contains a list of addresses.

func (*AddressList) MarshalJSON

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

type AddressListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AddressListWarning: [Output Only] Informational warning message.

func (*AddressListWarning) MarshalJSON

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

type AddressListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AddressListWarningData) MarshalJSON

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

type AddressesAggregatedListCall

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

func (*AddressesAggregatedListCall) Context

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

func (*AddressesAggregatedListCall) Do

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

func (*AddressesAggregatedListCall) Fields

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

func (*AddressesAggregatedListCall) Filter

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AddressesAggregatedListCall) Header

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

func (*AddressesAggregatedListCall) IfNoneMatch

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

func (*AddressesAggregatedListCall) IncludeAllScopes

func (c *AddressesAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *AddressesAggregatedListCall

IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.

func (*AddressesAggregatedListCall) MaxResults

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AddressesAggregatedListCall) OrderBy

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AddressesAggregatedListCall) PageToken

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AddressesAggregatedListCall) Pages

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

func (*AddressesAggregatedListCall) ReturnPartialSuccess

func (c *AddressesAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AddressesAggregatedListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

func (*AddressesAggregatedListCall) ServiceProjectNumber

func (c *AddressesAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *AddressesAggregatedListCall

ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.

type AddressesDeleteCall

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

func (*AddressesDeleteCall) Context

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

func (*AddressesDeleteCall) Do

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

func (*AddressesDeleteCall) Fields

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

func (*AddressesDeleteCall) Header

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

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

func (*AddressesDeleteCall) RequestId

func (c *AddressesDeleteCall) RequestId(requestId string) *AddressesDeleteCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AddressesGetCall

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

func (*AddressesGetCall) Context

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

func (*AddressesGetCall) Do

func (c *AddressesGetCall) Do(opts ...googleapi.CallOption) (*Address, error)

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

func (*AddressesGetCall) Fields

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

func (*AddressesGetCall) Header

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

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

func (*AddressesGetCall) IfNoneMatch

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

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

type AddressesInsertCall

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

func (*AddressesInsertCall) Context

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

func (*AddressesInsertCall) Do

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

func (*AddressesInsertCall) Fields

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

func (*AddressesInsertCall) Header

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

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

func (*AddressesInsertCall) RequestId

func (c *AddressesInsertCall) RequestId(requestId string) *AddressesInsertCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AddressesListCall

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

func (*AddressesListCall) Context

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

func (*AddressesListCall) Do

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

func (*AddressesListCall) Fields

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

func (*AddressesListCall) Filter

func (c *AddressesListCall) Filter(filter string) *AddressesListCall

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AddressesListCall) Header

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

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

func (*AddressesListCall) IfNoneMatch

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

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

func (*AddressesListCall) MaxResults

func (c *AddressesListCall) MaxResults(maxResults int64) *AddressesListCall

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AddressesListCall) OrderBy

func (c *AddressesListCall) OrderBy(orderBy string) *AddressesListCall

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AddressesListCall) PageToken

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

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AddressesListCall) Pages

func (c *AddressesListCall) Pages(ctx context.Context, f func(*AddressList) error) error

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

func (*AddressesListCall) ReturnPartialSuccess

func (c *AddressesListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AddressesListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

type AddressesMoveCall

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

func (*AddressesMoveCall) Context

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

func (*AddressesMoveCall) Do

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

func (*AddressesMoveCall) Fields

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

func (*AddressesMoveCall) Header

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

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

func (*AddressesMoveCall) RequestId

func (c *AddressesMoveCall) RequestId(requestId string) *AddressesMoveCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AddressesScopedList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AddressesScopedList) MarshalJSON

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

type AddressesScopedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AddressesScopedListWarning: [Output Only] Informational warning which replaces the list of addresses when the list is empty.

func (*AddressesScopedListWarning) MarshalJSON

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

type AddressesScopedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AddressesScopedListWarningData) MarshalJSON

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

type AddressesService

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

func NewAddressesService

func NewAddressesService(s *Service) *AddressesService

func (*AddressesService) AggregatedList

func (r *AddressesService) AggregatedList(project string) *AddressesAggregatedListCall

AggregatedList: Retrieves an aggregated list of addresses. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.

- project: Project ID for this request.

func (*AddressesService) Delete

func (r *AddressesService) Delete(project string, region string, address string) *AddressesDeleteCall

Delete: Deletes the specified address resource.

- address: Name of the address resource to delete. - project: Project ID for this request. - region: Name of the region for this request.

func (*AddressesService) Get

func (r *AddressesService) Get(project string, region string, address string) *AddressesGetCall

Get: Returns the specified address resource.

- address: Name of the address resource to return. - project: Project ID for this request. - region: Name of the region for this request.

func (*AddressesService) Insert

func (r *AddressesService) Insert(project string, region string, address *Address) *AddressesInsertCall

Insert: Creates an address resource in the specified project by using the data included in the request.

- project: Project ID for this request. - region: Name of the region for this request.

func (*AddressesService) List

func (r *AddressesService) List(project string, region string) *AddressesListCall

List: Retrieves a list of addresses contained within the specified region.

- project: Project ID for this request. - region: Name of the region for this request.

func (*AddressesService) Move

func (r *AddressesService) Move(project string, region string, address string, regionaddressesmoverequest *RegionAddressesMoveRequest) *AddressesMoveCall

Move: Moves the specified address resource.

- address: Name of the address resource to move. - project: Source project ID which the Address is moved from. - region: Name of the region for this request.

func (*AddressesService) SetLabels

func (r *AddressesService) SetLabels(project string, region string, resource string, regionsetlabelsrequest *RegionSetLabelsRequest) *AddressesSetLabelsCall

SetLabels: Sets the labels on an Address. To learn more about labels, read the Labeling Resources documentation.

- project: Project ID for this request. - region: The region for this request. - resource: Name or id of the resource for this request.

func (*AddressesService) TestIamPermissions

func (r *AddressesService) TestIamPermissions(project string, region string, resource string, testpermissionsrequest *TestPermissionsRequest) *AddressesTestIamPermissionsCall

TestIamPermissions: Returns permissions that a caller has on the specified resource.

- project: Project ID for this request. - region: The name of the region for this request. - resource: Name or id of the resource for this request.

type AddressesSetLabelsCall

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

func (*AddressesSetLabelsCall) Context

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

func (*AddressesSetLabelsCall) Do

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

func (*AddressesSetLabelsCall) Fields

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

func (*AddressesSetLabelsCall) Header

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

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

func (*AddressesSetLabelsCall) RequestId

func (c *AddressesSetLabelsCall) RequestId(requestId string) *AddressesSetLabelsCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AddressesTestIamPermissionsCall

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

func (*AddressesTestIamPermissionsCall) Context

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

func (*AddressesTestIamPermissionsCall) Do

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

func (*AddressesTestIamPermissionsCall) Fields

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

func (*AddressesTestIamPermissionsCall) Header

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

type AdvancedMachineFeatures

type AdvancedMachineFeatures struct {
	// EnableNestedVirtualization: Whether to enable nested virtualization
	// or not (default is false).
	EnableNestedVirtualization bool `json:"enableNestedVirtualization,omitempty"`

	// EnableUefiNetworking: Whether to enable UEFI networking for instance
	// creation.
	EnableUefiNetworking bool `json:"enableUefiNetworking,omitempty"`

	// ThreadsPerCore: The number of threads per physical core. To disable
	// simultaneous multithreading (SMT) set this to 1. If unset, the
	// maximum number of threads supported per core by the underlying
	// processor is assumed.
	ThreadsPerCore int64 `json:"threadsPerCore,omitempty"`

	// VisibleCoreCount: The number of physical cores to expose to an
	// instance. Multiply by the number of threads per core to compute the
	// total number of virtual CPUs to expose to the instance. If unset, the
	// number of cores is inferred from the instance's nominal CPU count and
	// the underlying platform's SMT width.
	VisibleCoreCount int64 `json:"visibleCoreCount,omitempty"`

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

	// NullFields is a list of field names (e.g.
	// "EnableNestedVirtualization") 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:"-"`
}

AdvancedMachineFeatures: Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).

func (*AdvancedMachineFeatures) MarshalJSON

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

type AliasIpRange

type AliasIpRange struct {
	// IpCidrRange: The IP alias ranges to allocate for this interface. 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 (such as 10.2.3.4),
	// a netmask (such as /24) or a CIDR-formatted string (such as
	// 10.1.2.0/24).
	IpCidrRange string `json:"ipCidrRange,omitempty"`

	// SubnetworkRangeName: The name of a subnetwork secondary IP range from
	// which to allocate an IP alias range. If not specified, the primary
	// range of the subnetwork is 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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AliasIpRange: An alias IP range attached to an instance's network interface.

func (*AliasIpRange) MarshalJSON

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

type AllocationAggregateReservation

type AllocationAggregateReservation struct {
	// InUseResources: [Output only] List of resources currently in use.
	InUseResources []*AllocationAggregateReservationReservedResourceInfo `json:"inUseResources,omitempty"`

	// ReservedResources: List of reserved resources (CPUs, memory,
	// accelerators).
	ReservedResources []*AllocationAggregateReservationReservedResourceInfo `json:"reservedResources,omitempty"`

	// VmFamily: The VM family that all instances scheduled against this
	// reservation must belong to.
	//
	// Possible values:
	//   "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L"
	//   "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP"
	//   "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P"
	VmFamily string `json:"vmFamily,omitempty"`

	// WorkloadType: The workload type of the instances that will target
	// this reservation.
	//
	// Possible values:
	//   "BATCH" - Reserved resources will be optimized for BATCH workloads,
	// such as ML training.
	//   "SERVING" - Reserved resources will be optimized for SERVING
	// workloads, such as ML inference.
	//   "UNSPECIFIED"
	WorkloadType string `json:"workloadType,omitempty"`

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

	// NullFields is a list of field names (e.g. "InUseResources") 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:"-"`
}

AllocationAggregateReservation: This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.

func (*AllocationAggregateReservation) MarshalJSON

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

type AllocationAggregateReservationReservedResourceInfo

type AllocationAggregateReservationReservedResourceInfo struct {
	// Accelerator: Properties of accelerator resources in this reservation.
	Accelerator *AllocationAggregateReservationReservedResourceInfoAccelerator `json:"accelerator,omitempty"`

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

	// NullFields is a list of field names (e.g. "Accelerator") 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 (*AllocationAggregateReservationReservedResourceInfo) MarshalJSON

type AllocationAggregateReservationReservedResourceInfoAccelerator

type AllocationAggregateReservationReservedResourceInfoAccelerator struct {
	// AcceleratorCount: Number of accelerators of specified type.
	AcceleratorCount int64 `json:"acceleratorCount,omitempty"`

	// AcceleratorType: Full or partial URL to accelerator type. e.g.
	// "projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l"
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AllocationAggregateReservationReservedResourceInfoAccelerator) MarshalJSON

type AllocationResourceStatus

type AllocationResourceStatus struct {
	// SpecificSkuAllocation: Allocation Properties of this reservation.
	SpecificSkuAllocation *AllocationResourceStatusSpecificSKUAllocation `json:"specificSkuAllocation,omitempty"`

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

	// NullFields is a list of field names (e.g. "SpecificSkuAllocation") 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:"-"`
}

AllocationResourceStatus: [Output Only] Contains output only fields.

func (*AllocationResourceStatus) MarshalJSON

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

type AllocationResourceStatusSpecificSKUAllocation

type AllocationResourceStatusSpecificSKUAllocation struct {
	// SourceInstanceTemplateId: ID of the instance template used to
	// populate reservation properties.
	SourceInstanceTemplateId string `json:"sourceInstanceTemplateId,omitempty"`

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

	// NullFields is a list of field names (e.g. "SourceInstanceTemplateId")
	// 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:"-"`
}

AllocationResourceStatusSpecificSKUAllocation: Contains Properties set for the reservation.

func (*AllocationResourceStatusSpecificSKUAllocation) MarshalJSON

type AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk

type AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk struct {
	// DiskSizeGb: Specifies the size of the disk in base-2 GB.
	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`

	// Interface: Specifies the disk interface to use for attaching this
	// disk, which is either SCSI or NVME. The default is SCSI. For
	// performance characteristics of SCSI over NVMe, see Local SSD
	// performance.
	//
	// Possible values:
	//   "NVME"
	//   "SCSI"
	Interface string `json:"interface,omitempty"`

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

	// NullFields is a list of field names (e.g. "DiskSizeGb") 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 (*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) MarshalJSON

type AllocationSpecificSKUAllocationReservedInstanceProperties

type AllocationSpecificSKUAllocationReservedInstanceProperties struct {
	// GuestAccelerators: Specifies accelerator type and count.
	GuestAccelerators []*AcceleratorConfig `json:"guestAccelerators,omitempty"`

	// LocalSsds: Specifies amount of local ssd to reserve with each
	// instance. The type of disk is local-ssd.
	LocalSsds []*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk `json:"localSsds,omitempty"`

	// LocationHint: An opaque location hint used to place the allocation
	// close to other resources. This field is for use by internal tools
	// that use the public API.
	LocationHint string `json:"locationHint,omitempty"`

	// MachineType: Specifies type of machine (name only) which has fixed
	// number of vCPUs and fixed amount of memory. This also includes
	// specifying custom machine type following
	// custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
	MachineType string `json:"machineType,omitempty"`

	// MaintenanceFreezeDurationHours: Specifies the number of hours after
	// reservation creation where instances using the reservation won't be
	// scheduled for maintenance.
	MaintenanceFreezeDurationHours int64 `json:"maintenanceFreezeDurationHours,omitempty"`

	// MaintenanceInterval: Specifies the frequency of planned maintenance
	// events. The accepted values are: `PERIODIC`.
	//
	// Possible values:
	//   "AS_NEEDED" - VMs are eligible to receive infrastructure and
	// hypervisor updates as they become available. This may result in more
	// maintenance operations (live migrations or terminations) for the VM
	// than the PERIODIC and RECURRENT options.
	//   "PERIODIC" - VMs receive infrastructure and hypervisor updates on a
	// periodic basis, minimizing the number of maintenance operations (live
	// migrations or terminations) on an individual VM. This may mean a VM
	// will take longer to receive an update than if it was configured for
	// AS_NEEDED. Security updates will still be applied as soon as they are
	// available.
	//   "RECURRENT" - VMs receive infrastructure and hypervisor updates on
	// a periodic basis, minimizing the number of maintenance operations
	// (live migrations or terminations) on an individual VM. This may mean
	// a VM will take longer to receive an update than if it was configured
	// for AS_NEEDED. Security updates will still be applied as soon as they
	// are available. RECURRENT is used for GEN3 and Slice of Hardware VMs.
	MaintenanceInterval string `json:"maintenanceInterval,omitempty"`

	// MinCpuPlatform: Minimum cpu platform the reservation.
	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`

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

	// NullFields is a list of field names (e.g. "GuestAccelerators") 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:"-"`
}

AllocationSpecificSKUAllocationReservedInstanceProperties: Properties of the SKU instances being reserved. Next ID: 9

func (*AllocationSpecificSKUAllocationReservedInstanceProperties) MarshalJSON

type AllocationSpecificSKUReservation

type AllocationSpecificSKUReservation struct {
	// AssuredCount: [Output Only] Indicates how many instances are actually
	// usable currently.
	AssuredCount int64 `json:"assuredCount,omitempty,string"`

	// Count: Specifies the number of resources that are allocated.
	Count int64 `json:"count,omitempty,string"`

	// InUseCount: [Output Only] Indicates how many instances are in use.
	InUseCount int64 `json:"inUseCount,omitempty,string"`

	// InstanceProperties: The instance properties for the reservation.
	InstanceProperties *AllocationSpecificSKUAllocationReservedInstanceProperties `json:"instanceProperties,omitempty"`

	// SourceInstanceTemplate: Specifies the instance template to create the
	// reservation. If you use this field, you must exclude the
	// instanceProperties field. This field is optional, and it can be a
	// full or partial URL. For example, the following are all valid URLs to
	// an instance template: -
	// https://www.googleapis.com/compute/v1/projects/project
	// /global/instanceTemplates/instanceTemplate -
	// projects/project/global/instanceTemplates/instanceTemplate -
	// global/instanceTemplates/instanceTemplate
	SourceInstanceTemplate string `json:"sourceInstanceTemplate,omitempty"`

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

	// NullFields is a list of field names (e.g. "AssuredCount") 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:"-"`
}

AllocationSpecificSKUReservation: This reservation type allows to pre allocate specific instance configuration. Next ID: 6

func (*AllocationSpecificSKUReservation) MarshalJSON

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

type AttachedDisk

type AttachedDisk struct {
	// Architecture: [Output Only] The architecture of the attached disk.
	// Valid values are ARM64 or X86_64.
	//
	// Possible values:
	//   "ARCHITECTURE_UNSPECIFIED" - Default value indicating Architecture
	// is not set.
	//   "ARM64" - Machines with architecture ARM64
	//   "X86_64" - Machines with architecture X86_64
	Architecture string `json:"architecture,omitempty"`

	// 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-disk-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"`

	// DiskSizeGb: The size of the disk in GB.
	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`

	// ForceAttach: [Input Only] Whether to force attach the regional disk
	// even if it's currently attached to another instance. If you try to
	// force attach a zonal disk to an instance, you will receive an error.
	ForceAttach bool `json:"forceAttach,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. For most machine types, the
	// default is SCSI. Local SSDs can use either NVME or SCSI. In certain
	// configurations, persistent disks can use NVMe. For more information,
	// see About persistent disks.
	//
	// 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"`

	// Locked: [Output Only] Whether to indicate the attached disk is
	// locked. The locked disk is not allowed to be detached from the
	// instance, or to be used as the source of the snapshot creation, and
	// the image creation. The instance with at least one locked attached
	// disk is not allow to be used as source of machine image creation,
	// instant snapshot creation, and not allowed to be deleted with
	// --keep-disk parameter set to true for locked disks.
	Locked bool `json:"locked,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" - Attaches this disk in read-only mode. Multiple
	// virtual machines can use a disk in read-only mode at a time.
	//   "READ_WRITE" - *[Default]* Attaches this disk in read-write mode.
	// Only one virtual machine at a time can be attached to a disk in
	// read-write mode.
	Mode string `json:"mode,omitempty"`

	// SavedState: For LocalSSD disks on VM Instances in STOPPED or
	// SUSPENDED state, this field is set to PRESERVED if the LocalSSD data
	// has been saved to a persistent location by customer request. (see the
	// discard_local_ssd option on Stop/Suspend). Read-only in the api.
	//
	// Possible values:
	//   "DISK_SAVED_STATE_UNSPECIFIED" - *[Default]* Disk state has not
	// been preserved.
	//   "PRESERVED" - Disk state has been preserved.
	SavedState string `json:"savedState,omitempty"`

	// ShieldedInstanceInitialState: [Output Only] shielded vm initial state
	// stored on disk
	ShieldedInstanceInitialState *InitialStateConfig `json:"shieldedInstanceInitialState,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 initializeParams.sourceSnapshot 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 for zonal disk, and the URL
	// for regional 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"`

	// UserLicenses: [Output Only] A list of user provided licenses. It
	// represents a list of URLs to the license resource. Unlike regular
	// licenses, user provided licenses can be modified after the disk is
	// created.
	UserLicenses []string `json:"userLicenses,omitempty"`

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

	// NullFields is a list of field names (e.g. "Architecture") 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:"-"`
}

AttachedDisk: An instance-attached disk resource.

func (*AttachedDisk) MarshalJSON

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

type AttachedDiskInitializeParams

type AttachedDiskInitializeParams struct {
	// Architecture: The architecture of the attached disk. Valid values are
	// arm64 or x86_64.
	//
	// Possible values:
	//   "ARCHITECTURE_UNSPECIFIED" - Default value indicating Architecture
	// is not set.
	//   "ARM64" - Machines with architecture ARM64
	//   "X86_64" - Machines with architecture X86_64
	Architecture string `json:"architecture,omitempty"`

	// 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 a disk with the same name already
	// exists in the given region, the existing disk is attached to the new
	// instance and the new disk is not created.
	DiskName string `json:"diskName,omitempty"`

	// DiskSizeGb: Specifies the size of the disk in base-2 GB. The size
	// must be at least 10 GB. If you specify a sourceImage, which is
	// required for boot disks, the default size is the size of the
	// sourceImage. If you do not specify a sourceImage, the default disk
	// size is 500 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 For a full list of acceptable values, see
	// Persistent disk types. If you specify this field when creating a VM,
	// you can provide either the full or partial URL. For example, the
	// following values are valid: -
	// https://www.googleapis.com/compute/v1/projects/project/zones/zone
	// /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType
	// - zones/zone/diskTypes/diskType If you specify this field when
	// creating or updating an instance template or all-instances
	// configuration, specify the type of the disk, not the URL. For
	// example: pd-standard.
	DiskType string `json:"diskType,omitempty"`

	// EnableConfidentialCompute: Whether this disk is using confidential
	// compute mode.
	EnableConfidentialCompute bool `json:"enableConfidentialCompute,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. Guest
	// OS features are applied by merging initializeParams.guestOsFeatures
	// and disks.guestOsFeatures
	GuestOsFeatures []*GuestOsFeature `json:"guestOsFeatures,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"`

	// Licenses: A list of publicly visible licenses. Reserved for Google's
	// use.
	Licenses []string `json:"licenses,omitempty"`

	// MultiWriter: Indicates whether or not the disk can be read/write
	// attached to more than one instance.
	MultiWriter bool `json:"multiWriter,omitempty"`

	// OnUpdateAction: Specifies which action to take on instance update
	// with this disk. Default is to use the existing disk.
	//
	// Possible values:
	//   "RECREATE_DISK" - Always recreate the disk.
	//   "RECREATE_DISK_IF_SOURCE_CHANGED" - Recreate the disk if source
	// (image, snapshot) of this disk is different from source of existing
	// disk.
	//   "USE_EXISTING_DISK" - Use the existing disk, this is the default
	// behaviour.
	OnUpdateAction string `json:"onUpdateAction,omitempty"`

	// ProvisionedIops: Indicates how many IOPS to provision for the disk.
	// This sets the number of I/O operations per second that the disk can
	// handle. Values must be between 10,000 and 120,000. For more details,
	// see the Extreme persistent disk documentation.
	ProvisionedIops int64 `json:"provisionedIops,omitempty,string"`

	// ProvisionedThroughput: Indicates how much throughput to provision for
	// the disk. This sets the number of throughput mb per second that the
	// disk can handle. Values must greater than or equal to 1.
	ProvisionedThroughput int64 `json:"provisionedThroughput,omitempty,string"`

	// ReplicaZones: Required for each regional disk associated with the
	// instance. Specify the URLs of the zones where the disk should be
	// replicated to. You must provide exactly two replica zones, and one
	// zone must be the same as the instance zone.
	ReplicaZones []string `json:"replicaZones,omitempty"`

	// ResourceManagerTags: Resource manager tags to be bound to the disk.
	// Tag keys and values have the same definition as resource manager
	// tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values
	// are in the format `tagValues/456`. The field is ignored (both PUT &
	// PATCH) when empty.
	ResourceManagerTags map[string]string `json:"resourceManagerTags,omitempty"`

	// ResourcePolicies: Resource policies applied to this disk for
	// automatic snapshot creations. Specified using the full or partial
	// URL. For instance template, specify only the resource policy name.
	ResourcePolicies []string `json:"resourcePolicies,omitempty"`

	// SourceImage: The source image to create this disk. When creating a
	// new instance, one of initializeParams.sourceImage or
	// initializeParams.sourceSnapshot 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 Alternatively,
	// 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. InstanceTemplate and
	// InstancePropertiesPatch 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"`

	// SourceInstantSnapshot: The source instant-snapshot to create this
	// disk. When creating a new instance, one of
	// initializeParams.sourceSnapshot or
	// initializeParams.sourceInstantSnapshot initializeParams.sourceImage
	// or disks.source is required except for local SSD. To create a disk
	// with a snapshot that you created, specify the snapshot name in the
	// following format: us-central1-a/instantSnapshots/my-backup If the
	// source instant-snapshot is deleted later, this field will not be set.
	SourceInstantSnapshot string `json:"sourceInstantSnapshot,omitempty"`

	// SourceSnapshot: The source snapshot to create this disk. When
	// creating a new instance, one of initializeParams.sourceSnapshot or
	// initializeParams.sourceImage or disks.source is required except for
	// local SSD. To create a disk with a snapshot that you created, specify
	// the snapshot name in the following format: global/snapshots/my-backup
	// If the source snapshot is deleted later, this field will not be set.
	SourceSnapshot string `json:"sourceSnapshot,omitempty"`

	// SourceSnapshotEncryptionKey: The customer-supplied encryption key of
	// the source snapshot.
	SourceSnapshotEncryptionKey *CustomerEncryptionKey `json:"sourceSnapshotEncryptionKey,omitempty"`

	// StoragePool: The storage pool in which the new disk is created. You
	// can provide this as a partial or full URL to the resource. For
	// example, the following are valid values: -
	// https://www.googleapis.com/compute/v1/projects/project/zones/zone
	// /storagePools/storagePool -
	// projects/project/zones/zone/storagePools/storagePool -
	// zones/zone/storagePools/storagePool
	StoragePool string `json:"storagePool,omitempty"`

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

	// NullFields is a list of field names (e.g. "Architecture") 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:"-"`
}

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 field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.

func (*AttachedDiskInitializeParams) MarshalJSON

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

type AuditConfig

type AuditConfig struct {
	// AuditLogConfigs: The configuration for logging of each type of
	// permission.
	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`

	// ExemptedMembers: This is deprecated and has no effect. Do not use.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

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:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.

func (*AuditConfig) MarshalJSON

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

type AuditLogConfig

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

	// IgnoreChildExemptions: This is deprecated and has no effect. Do not
	// use.
	IgnoreChildExemptions bool `json:"ignoreChildExemptions,omitempty"`

	// LogType: The log type that this config enables.
	//
	// Possible values:
	//   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
	//   "DATA_READ" - Data reads. Example: CloudSQL Users list
	//   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
	//   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AuditLogConfig: Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

func (*AuditLogConfig) MarshalJSON

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

type AuthorizationLoggingOptions

type AuthorizationLoggingOptions struct {
	// PermissionType: This is deprecated and has no effect. Do not use.
	//
	// Possible values:
	//   "ADMIN_READ" - This is deprecated and has no effect. Do not use.
	//   "ADMIN_WRITE" - This is deprecated and has no effect. Do not use.
	//   "DATA_READ" - This is deprecated and has no effect. Do not use.
	//   "DATA_WRITE" - This is deprecated and has no effect. Do not use.
	//   "PERMISSION_TYPE_UNSPECIFIED" - This is deprecated and has no
	// effect. Do not use.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AuthorizationLoggingOptions: This is deprecated and has no effect. Do not use.

func (*AuthorizationLoggingOptions) MarshalJSON

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

type Autoscaler

type Autoscaler struct {
	// AutoscalingPolicy: The configuration parameters for the autoscaling
	// algorithm. You can define one or more signals 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"`

	// RecommendedSize: [Output Only] Target recommended MIG size (number of
	// instances) computed by autoscaler. Autoscaler calculates the
	// recommended MIG size even when the autoscaling policy mode is
	// different from ON. This field is empty when autoscaler is not
	// connected to an existing managed instance group or autoscaler did not
	// generate its prediction.
	RecommendedSize int64 `json:"recommendedSize,omitempty"`

	// Region: [Output Only] URL of the region where the instance group
	// resides (for autoscalers living in regional scope).
	Region string `json:"region,omitempty"`

	// ScalingScheduleStatus: [Output Only] Status information of existing
	// scaling schedules.
	ScalingScheduleStatus map[string]ScalingScheduleStatus `json:"scalingScheduleStatus,omitempty"`

	// SelfLink: [Output Only] Server-defined URL for the resource.
	SelfLink string `json:"selfLink,omitempty"`

	// Status: [Output Only] The status of the autoscaler configuration.
	// Current set of possible values: - PENDING: Autoscaler backend hasn't
	// read new/updated configuration. - DELETING: Configuration is being
	// deleted. - ACTIVE: Configuration is acknowledged to be effective.
	// Some warnings might be present in the statusDetails field. - ERROR:
	// Configuration has errors. Actionable for users. Details are present
	// in the statusDetails field. New values might be added in the future.
	//
	// Possible values:
	//   "ACTIVE" - Configuration is acknowledged to be effective
	//   "DELETING" - Configuration is being deleted
	//   "ERROR" - Configuration has errors. Actionable for users.
	//   "PENDING" - Autoscaler backend hasn't read new/updated
	// configuration
	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. This field is required when creating an autoscaler.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

Autoscaler: Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * Zonal (/compute/docs/reference/rest/beta/autoscalers) * Regional (/compute/docs/reference/rest/beta/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.

func (*Autoscaler) MarshalJSON

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

type AutoscalerAggregatedList

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

	// Unreachables: [Output Only] Unreachable resources. end_interface:
	// MixerListResponseWithEtagBuilder
	Unreachables []string `json:"unreachables,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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

func (*AutoscalerAggregatedList) MarshalJSON

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

type AutoscalerAggregatedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalerAggregatedListWarning: [Output Only] Informational warning message.

func (*AutoscalerAggregatedListWarning) MarshalJSON

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

type AutoscalerAggregatedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AutoscalerAggregatedListWarningData) MarshalJSON

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

type AutoscalerList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

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

AutoscalerList: Contains a list of Autoscaler resources.

func (*AutoscalerList) MarshalJSON

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

type AutoscalerListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalerListWarning: [Output Only] Informational warning message.

func (*AutoscalerListWarning) MarshalJSON

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

type AutoscalerListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AutoscalerListWarningData) MarshalJSON

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

type AutoscalerStatusDetails

type AutoscalerStatusDetails struct {
	// Message: The status message.
	Message string `json:"message,omitempty"`

	// Type: The type of error, warning, or notice returned. Current set of
	// possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances
	// in the instance group are unhealthy (not in RUNNING state). -
	// BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service
	// attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS
	// (WARNING): Autoscaler recommends a size greater than maxNumReplicas.
	// - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric
	// samples are not exported often enough to be a credible base for
	// autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that
	// was specified does not exist or does not have the necessary labels. -
	// MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to
	// maxNumReplicas. This means the autoscaler cannot add or remove
	// instances from the instance group. -
	// MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not
	// receive any data from the custom metric configured for autoscaling. -
	// MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is
	// configured to scale based on a load balancing signal but the instance
	// group has not received any requests from the load balancer. -
	// MODE_OFF (WARNING): Autoscaling is turned off. The number of
	// instances in the group won't change automatically. The autoscaling
	// configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is
	// in the "Autoscale only out" mode. The autoscaler can add instances
	// but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The
	// instance group cannot be autoscaled because it has more than one
	// backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR):
	// There is insufficient quota for the necessary resources, such as CPU
	// or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown
	// only for regional autoscalers: there is a resource stockout in the
	// chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to
	// be scaled does not exist. -
	// UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR):
	// Autoscaling does not work with an HTTP/S load balancer that has been
	// configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal
	// autoscalers: there is a resource stockout in the chosen zone. For
	// regional autoscalers: in at least one of the zones you're using there
	// is a resource stockout. New values might be added in the future. Some
	// of the values might not be available in all API versions.
	//
	// Possible values:
	//   "ALL_INSTANCES_UNHEALTHY" - All instances in the instance group are
	// unhealthy (not in RUNNING state).
	//   "BACKEND_SERVICE_DOES_NOT_EXIST" - There is no backend service
	// attached to the instance group.
	//   "CAPPED_AT_MAX_NUM_REPLICAS" - Autoscaler recommends a size greater
	// than maxNumReplicas.
	//   "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE" - The custom metric samples
	// are not exported often enough to be a credible base for autoscaling.
	//   "CUSTOM_METRIC_INVALID" - The custom metric that was specified does
	// not exist or does not have the necessary labels.
	//   "MIN_EQUALS_MAX" - The minNumReplicas is equal to maxNumReplicas.
	// This means the autoscaler cannot add or remove instances from the
	// instance group.
	//   "MISSING_CUSTOM_METRIC_DATA_POINTS" - The autoscaler did not
	// receive any data from the custom metric configured for autoscaling.
	//   "MISSING_LOAD_BALANCING_DATA_POINTS" - The autoscaler is configured
	// to scale based on a load balancing signal but the instance group has
	// not received any requests from the load balancer.
	//   "MODE_OFF" - Autoscaling is turned off. The number of instances in
	// the group won't change automatically. The autoscaling configuration
	// is preserved.
	//   "MODE_ONLY_SCALE_OUT" - Autoscaling is in the "Autoscale only scale
	// out" mode. Instances in the group will be only added.
	//   "MODE_ONLY_UP" - Autoscaling is in the "Autoscale only out" mode.
	// Instances in the group will be only added.
	//   "MORE_THAN_ONE_BACKEND_SERVICE" - The instance group cannot be
	// autoscaled because it has more than one backend service attached to
	// it.
	//   "NOT_ENOUGH_QUOTA_AVAILABLE" - There is insufficient quota for the
	// necessary resources, such as CPU or number of instances.
	//   "REGION_RESOURCE_STOCKOUT" - Showed only for regional autoscalers:
	// there is a resource stockout in the chosen region.
	//   "SCALING_TARGET_DOES_NOT_EXIST" - The target to be scaled does not
	// exist.
	//   "SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX" - For some
	// scaling schedules minRequiredReplicas is greater than maxNumReplicas.
	// Autoscaler always recommends at most maxNumReplicas instances.
	//   "SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN" - For some scaling
	// schedules minRequiredReplicas is less than minNumReplicas. Autoscaler
	// always recommends at least minNumReplicas instances.
	//   "UNKNOWN"
	//   "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION" - Autoscaling
	// does not work with an HTTP/S load balancer that has been configured
	// for maxRate.
	//   "ZONE_RESOURCE_STOCKOUT" - For zonal autoscalers: there is a
	// resource stockout in the chosen zone. For regional autoscalers: in at
	// least one of the zones you're using there is a 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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AutoscalerStatusDetails) MarshalJSON

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

type AutoscalersAggregatedListCall

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

func (*AutoscalersAggregatedListCall) Context

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

func (*AutoscalersAggregatedListCall) Do

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

func (*AutoscalersAggregatedListCall) Fields

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

func (*AutoscalersAggregatedListCall) Filter

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AutoscalersAggregatedListCall) Header

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

func (*AutoscalersAggregatedListCall) IfNoneMatch

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

func (*AutoscalersAggregatedListCall) IncludeAllScopes

func (c *AutoscalersAggregatedListCall) IncludeAllScopes(includeAllScopes bool) *AutoscalersAggregatedListCall

IncludeAllScopes sets the optional parameter "includeAllScopes": Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.

func (*AutoscalersAggregatedListCall) MaxResults

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AutoscalersAggregatedListCall) OrderBy

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AutoscalersAggregatedListCall) PageToken

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AutoscalersAggregatedListCall) Pages

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

func (*AutoscalersAggregatedListCall) ReturnPartialSuccess

func (c *AutoscalersAggregatedListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AutoscalersAggregatedListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

func (*AutoscalersAggregatedListCall) ServiceProjectNumber

func (c *AutoscalersAggregatedListCall) ServiceProjectNumber(serviceProjectNumber int64) *AutoscalersAggregatedListCall

ServiceProjectNumber sets the optional parameter "serviceProjectNumber": The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.

type AutoscalersDeleteCall

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

func (*AutoscalersDeleteCall) Context

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

func (*AutoscalersDeleteCall) Do

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

func (*AutoscalersDeleteCall) Fields

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

func (*AutoscalersDeleteCall) Header

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

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

func (*AutoscalersDeleteCall) RequestId

func (c *AutoscalersDeleteCall) RequestId(requestId string) *AutoscalersDeleteCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AutoscalersGetCall

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

func (*AutoscalersGetCall) Context

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

func (*AutoscalersGetCall) Do

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

func (*AutoscalersGetCall) Fields

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

func (*AutoscalersGetCall) Header

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

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

func (*AutoscalersGetCall) IfNoneMatch

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

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

type AutoscalersInsertCall

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

func (*AutoscalersInsertCall) Context

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

func (*AutoscalersInsertCall) Do

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

func (*AutoscalersInsertCall) Fields

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

func (*AutoscalersInsertCall) Header

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

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

func (*AutoscalersInsertCall) RequestId

func (c *AutoscalersInsertCall) RequestId(requestId string) *AutoscalersInsertCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AutoscalersListCall

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

func (*AutoscalersListCall) Context

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

func (*AutoscalersListCall) Do

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

func (*AutoscalersListCall) Fields

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

func (*AutoscalersListCall) Filter

func (c *AutoscalersListCall) Filter(filter string) *AutoscalersListCall

Filter sets the optional parameter "filter": A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal" `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.

func (*AutoscalersListCall) Header

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

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

func (*AutoscalersListCall) IfNoneMatch

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

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

func (*AutoscalersListCall) MaxResults

func (c *AutoscalersListCall) MaxResults(maxResults int64) *AutoscalersListCall

MaxResults sets the optional parameter "maxResults": The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)

func (*AutoscalersListCall) OrderBy

func (c *AutoscalersListCall) OrderBy(orderBy string) *AutoscalersListCall

OrderBy sets the optional parameter "orderBy": Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc". This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.

func (*AutoscalersListCall) PageToken

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

PageToken sets the optional parameter "pageToken": Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.

func (*AutoscalersListCall) Pages

func (c *AutoscalersListCall) Pages(ctx context.Context, f func(*AutoscalerList) error) error

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

func (*AutoscalersListCall) ReturnPartialSuccess

func (c *AutoscalersListCall) ReturnPartialSuccess(returnPartialSuccess bool) *AutoscalersListCall

ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.

type AutoscalersPatchCall

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

func (*AutoscalersPatchCall) Autoscaler

func (c *AutoscalersPatchCall) Autoscaler(autoscaler string) *AutoscalersPatchCall

Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler to patch.

func (*AutoscalersPatchCall) Context

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

func (*AutoscalersPatchCall) Do

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

func (*AutoscalersPatchCall) Fields

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

func (*AutoscalersPatchCall) Header

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

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

func (*AutoscalersPatchCall) RequestId

func (c *AutoscalersPatchCall) RequestId(requestId string) *AutoscalersPatchCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AutoscalersScopedList

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AutoscalersScopedList) MarshalJSON

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

type AutoscalersScopedListWarning

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" - Warning about failed cleanup of transient
	// changes made by a failed operation.
	//   "DEPRECATED_RESOURCE_USED" - A link to a deprecated resource was
	// created.
	//   "DEPRECATED_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as deprecated
	//   "DISK_SIZE_LARGER_THAN_IMAGE_SIZE" - The user created a boot disk
	// that is larger than image size.
	//   "EXPERIMENTAL_TYPE_USED" - When deploying and at least one of the
	// resources has a type marked as experimental
	//   "EXTERNAL_API_WARNING" - Warning that is present in an external api
	// call
	//   "FIELD_VALUE_OVERRIDEN" - Warning that value of a field has been
	// overridden. Deprecated unused field.
	//   "INJECTED_KERNELS_DEPRECATED" - The operation involved use of an
	// injected kernel, which is deprecated.
	//   "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB" - A WEIGHTED_MAGLEV
	// backend service is associated with a health check that is not of type
	// HTTP/HTTPS/HTTP2.
	//   "LARGE_DEPLOYMENT_WARNING" - When deploying a deployment with a
	// exceedingly large number of resources
	//   "LIST_OVERHEAD_QUOTA_EXCEED" - Resource can't be retrieved due to
	// list overhead quota exceed which captures the amount of resources
	// filtered out by user-defined list filter.
	//   "MISSING_TYPE_DEPENDENCY" - A resource depends on a missing type
	//   "NEXT_HOP_ADDRESS_NOT_ASSIGNED" - The route's nextHopIp address is
	// not assigned to an instance on the network.
	//   "NEXT_HOP_CANNOT_IP_FORWARD" - The route's next hop instance cannot
	// ip forward.
	//   "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE" - The route's
	// nextHopInstance URL refers to an instance that does not have an ipv6
	// interface on the same network as the route.
	//   "NEXT_HOP_INSTANCE_NOT_FOUND" - The route's nextHopInstance URL
	// refers to an instance that does not exist.
	//   "NEXT_HOP_INSTANCE_NOT_ON_NETWORK" - The route's nextHopInstance
	// URL refers to an instance that is not on the same network as the
	// route.
	//   "NEXT_HOP_NOT_RUNNING" - The route's next hop instance does not
	// have a status of RUNNING.
	//   "NOT_CRITICAL_ERROR" - Error which is not critical. We decided to
	// continue the process despite the mentioned error.
	//   "NO_RESULTS_ON_PAGE" - No results are present on a particular list
	// page.
	//   "PARTIAL_SUCCESS" - Success is reported, but some results may be
	// missing due to errors
	//   "REQUIRED_TOS_AGREEMENT" - The user attempted to use a resource
	// that requires a TOS they have not accepted.
	//   "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING" - Warning that a
	// resource is in use.
	//   "RESOURCE_NOT_DELETED" - One or more of the resources set to
	// auto-delete could not be deleted because they were in use.
	//   "SCHEMA_VALIDATION_IGNORED" - When a resource schema validation is
	// ignored.
	//   "SINGLE_INSTANCE_PROPERTY_TEMPLATE" - Instance template used in
	// instance group manager is valid as such, but its application does not
	// make a lot of sense, because it allows only single instance in
	// instance group.
	//   "UNDECLARED_PROPERTIES" - When undeclared properties in the schema
	// are present
	//   "UNREACHABLE" - A given scope cannot be reached.
	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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalersScopedListWarning: [Output Only] Informational warning which replaces the list of autoscalers when the list is empty.

func (*AutoscalersScopedListWarning) MarshalJSON

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

type AutoscalersScopedListWarningData

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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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 (*AutoscalersScopedListWarningData) MarshalJSON

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

type AutoscalersService

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

func NewAutoscalersService

func NewAutoscalersService(s *Service) *AutoscalersService

func (*AutoscalersService) AggregatedList

func (r *AutoscalersService) AggregatedList(project string) *AutoscalersAggregatedListCall

AggregatedList: Retrieves an aggregated list of autoscalers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.

- project: Project ID for this request.

func (*AutoscalersService) Delete

func (r *AutoscalersService) Delete(project string, zone string, autoscaler string) *AutoscalersDeleteCall

Delete: Deletes the specified autoscaler.

- autoscaler: Name of the autoscaler to delete. - project: Project ID for this request. - zone: Name of the zone for this request.

func (*AutoscalersService) Get

func (r *AutoscalersService) Get(project string, zone string, autoscaler string) *AutoscalersGetCall

Get: Returns the specified autoscaler resource.

- autoscaler: Name of the autoscaler to return. - project: Project ID for this request. - zone: Name of the zone for this request.

func (*AutoscalersService) Insert

func (r *AutoscalersService) Insert(project string, zone string, autoscaler *Autoscaler) *AutoscalersInsertCall

Insert: Creates an autoscaler in the specified project using the data included in the request.

- project: Project ID for this request. - zone: Name of the zone for this request.

func (*AutoscalersService) List

func (r *AutoscalersService) List(project string, zone string) *AutoscalersListCall

List: Retrieves a list of autoscalers contained within the specified zone.

- project: Project ID for this request. - zone: Name of the zone for this request.

func (*AutoscalersService) Patch

func (r *AutoscalersService) Patch(project string, zone string, autoscaler *Autoscaler) *AutoscalersPatchCall

Patch: Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.

- project: Project ID for this request. - zone: Name of the zone for this request.

func (*AutoscalersService) TestIamPermissions

func (r *AutoscalersService) TestIamPermissions(project string, zone string, resource string, testpermissionsrequest *TestPermissionsRequest) *AutoscalersTestIamPermissionsCall

TestIamPermissions: Returns permissions that a caller has on the specified resource.

- project: Project ID for this request. - resource: Name or id of the resource for this request. - zone: The name of the zone for this request.

func (*AutoscalersService) Update

func (r *AutoscalersService) Update(project string, zone string, autoscaler *Autoscaler) *AutoscalersUpdateCall

Update: Updates an autoscaler in the specified project using the data included in the request.

- project: Project ID for this request. - zone: Name of the zone for this request.

type AutoscalersTestIamPermissionsCall

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

func (*AutoscalersTestIamPermissionsCall) Context

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

func (*AutoscalersTestIamPermissionsCall) Do

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

func (*AutoscalersTestIamPermissionsCall) Fields

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

func (*AutoscalersTestIamPermissionsCall) Header

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

type AutoscalersUpdateCall

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

func (*AutoscalersUpdateCall) Autoscaler

func (c *AutoscalersUpdateCall) Autoscaler(autoscaler string) *AutoscalersUpdateCall

Autoscaler sets the optional parameter "autoscaler": Name of the autoscaler to update.

func (*AutoscalersUpdateCall) Context

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

func (*AutoscalersUpdateCall) Do

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

func (*AutoscalersUpdateCall) Fields

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

func (*AutoscalersUpdateCall) Header

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

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

func (*AutoscalersUpdateCall) RequestId

func (c *AutoscalersUpdateCall) RequestId(requestId string) *AutoscalersUpdateCall

RequestId sets the optional parameter "requestId": An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).

type AutoscalingPolicy

type AutoscalingPolicy struct {
	// CoolDownPeriodSec: The number of seconds that your application takes
	// to initialize on a VM instance. This is referred to as the
	// initialization period (/compute/docs/autoscaler#cool_down_period).
	// Specifying an accurate initialization period improves autoscaler
	// decisions. For example, when scaling out, the autoscaler ignores data
	// from VMs that are still initializing because those VMs might not yet
	// represent normal usage of your application. The default
	// initialization period is 60 seconds. Initialization periods might
	// vary because of numerous factors. We recommend that you test how long
	// your application takes to initialize. To do this, create a VM and
	// time your application's 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 out to. This is required when creating or updating an
	// autoscaler. The maximum number of replicas must not be lower than
	// minimal number of replicas.
	MaxNumReplicas int64 `json:"maxNumReplicas,omitempty"`

	// MinNumReplicas: The minimum number of replicas that the autoscaler
	// can scale in to. This cannot be less than 0. If not provided,
	// autoscaler chooses a default value depending on maximum number of
	// instances allowed.
	MinNumReplicas int64 `json:"minNumReplicas,omitempty"`

	// Mode: Defines the operating mode for this policy. The following modes
	// are available: - OFF: Disables the autoscaler but maintains its
	// configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM
	// instances only. - ON: Enables all autoscaler activities according to
	// its policy. For more information, see "Turning off or restricting an
	// autoscaler"
	//
	// Possible values:
	//   "OFF" - Do not automatically scale the MIG in or out. The
	// recommended_size field contains the size of MIG that would be set if
	// the actuation mode was enabled.
	//   "ON" - Automatically scale the MIG in and out according to the
	// policy.
	//   "ONLY_SCALE_OUT" - Automatically create VMs according to the
	// policy, but do not scale the MIG in.
	//   "ONLY_UP" - Automatically create VMs according to the policy, but
	// do not scale the MIG in.
	Mode string `json:"mode,omitempty"`

	ScaleDownControl *AutoscalingPolicyScaleDownControl `json:"scaleDownControl,omitempty"`

	ScaleInControl *AutoscalingPolicyScaleInControl `json:"scaleInControl,omitempty"`

	// ScalingSchedules: Scaling schedules defined for an autoscaler.
	// Multiple schedules can be set on an autoscaler, and they can overlap.
	// During overlapping periods the greatest min_required_replicas of all
	// scaling schedules is applied. Up to 128 scaling schedules are
	// allowed.
	ScalingSchedules map[string]AutoscalingPolicyScalingSchedule `json:"scalingSchedules,omitempty"`

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

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalingPolicy: Cloud Autoscaler policy.

func (*AutoscalingPolicy) MarshalJSON

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

type AutoscalingPolicyCpuUtilization

type AutoscalingPolicyCpuUtilization struct {
	// PredictiveMethod: Indicates whether predictive autoscaling based on
	// CPU metric is enabled. Valid values are: * NONE (default). No
	// predictive method is used. The autoscaler scales the group to meet
	// current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY.
	// Predictive autoscaling improves availability by monitoring daily and
	// weekly load patterns and scaling out ahead of anticipated demand.
	//
	// Possible values:
	//   "NONE" - No predictive method is used. The autoscaler scales the
	// group to meet current demand based on real-time metrics
	//   "OPTIMIZE_AVAILABILITY" - Predictive autoscaling improves
	// availability by monitoring daily and weekly load patterns and scaling
	// out ahead of anticipated demand.
	//   "PREDICTIVE_METHOD_UNSPECIFIED"
	PredictiveMethod string `json:"predictiveMethod,omitempty"`

	// UtilizationTarget: The target CPU utilization that the autoscaler
	// maintains. 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 in 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
	// out 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. "PredictiveMethod") to
	// unconditionally include in API requests. By default, fields with
	// empty or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "PredictiveMethod") 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:"-"`
}

AutoscalingPolicyCpuUtilization: CPU utilization policy.

func (*AutoscalingPolicyCpuUtilization) MarshalJSON

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

func (*AutoscalingPolicyCpuUtilization) UnmarshalJSON

func (s *AutoscalingPolicyCpuUtilization) UnmarshalJSON(data []byte) error

type AutoscalingPolicyCustomMetricUtilization

type AutoscalingPolicyCustomMetricUtilization struct {
	// Filter: A filter string, compatible with a Stackdriver Monitoring
	// filter string for TimeSeries.list API call. This filter is used to
	// select a specific TimeSeries for the purpose of autoscaling and to
	// determine whether the metric is exporting per-instance or per-group
	// data. For the filter to be valid for autoscaling purposes, the
	// following rules apply: - You can only use the AND operator for
	// joining selectors. - You can only use direct equality comparison
	// operator (=) without any functions for each selector. - You can
	// specify the metric in both the filter string and in the metric field.
	// However, if specified in both places, the metric must be identical. -
	// The monitored resource type determines what kind of values are
	// expected for the metric. If it is a gce_instance, the autoscaler
	// expects the metric to include a separate TimeSeries for each instance
	// in a group. In such a case, you cannot filter on resource labels. If
	// the resource type is any other value, the autoscaler expects this
	// metric to contain values that apply to the entire autoscaled instance
	// group and resource label filtering can be performed to point
	// autoscaler at the correct TimeSeries to scale upon. This is called a
	// *per-group metric* for the purpose of autoscaling. If not specified,
	// the type defaults to gce_instance. Try to provide a filter that is
	// selective enough to pick just one TimeSeries for the autoscaled group
	// or for each of the instances (if you are using gce_instance resource
	// type). If multiple TimeSeries are returned upon the query execution,
	// the autoscaler will sum their respective values to obtain its scaling
	// value.
	Filter string `json:"filter,omitempty"`

	// 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"`

	// SingleInstanceAssignment: If scaling is based on a per-group metric
	// value that represents the total amount of work to be done or resource
	// usage, set this value to an amount assigned for a single instance of
	// the scaled group. Autoscaler keeps the number of instances
	// proportional to the value of this metric. The metric itself does not
	// change value due to group resizing. A good metric to use with the
	// target is for example
	// pubsub.googleapis.com/subscription/num_undelivered_messages or a
	// custom metric exporting the total number of requests coming to your
	// instances. A bad example would be a metric exporting an average or
	// median latency, since this value can't include a chunk assignable to
	// a single instance, it could be better used with utilization_target
	// instead.
	SingleInstanceAssignment float64 `json:"singleInstanceAssignment,omitempty"`

	// UtilizationTarget: The target value of the metric that autoscaler
	// maintains. 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
	// https://www.googleapis.com/compute/v1/instance/network/received_bytes_count.
	// The autoscaler works 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" - Sets the utilization target value for a
	// cumulative or delta metric, expressed as the rate of growth per
	// minute.
	//   "DELTA_PER_SECOND" - Sets the utilization target value for a
	// cumulative or delta metric, expressed as the rate of growth per
	// second.
	//   "GAUGE" - Sets the utilization target value for a gauge metric. The
	// autoscaler will collect the average utilization of the virtual
	// machines from the last couple of minutes, and compare the value to
	// the utilization target value to perform autoscaling.
	UtilizationTargetType string `json:"utilizationTargetType,omitempty"`

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

	// NullFields is a list of field names (e.g. "Filter") 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:"-"`
}

AutoscalingPolicyCustomMetricUtilization: Custom utilization metric policy.

func (*AutoscalingPolicyCustomMetricUtilization) MarshalJSON

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

func (*AutoscalingPolicyCustomMetricUtilization) UnmarshalJSON

func (s *AutoscalingPolicyCustomMetricUtilization) UnmarshalJSON(data []byte) error

type AutoscalingPolicyLoadBalancingUtilization

type AutoscalingPolicyLoadBalancingUtilization struct {
	// UtilizationTarget: Fraction of backend capacity utilization (set in
	// HTTP(S) load balancing configuration) that the autoscaler maintains.
	// 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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalingPolicyLoadBalancingUtilization: Configuration parameters of autoscaling based on load balancing.

func (*AutoscalingPolicyLoadBalancingUtilization) MarshalJSON

func (*AutoscalingPolicyLoadBalancingUtilization) UnmarshalJSON

func (s *AutoscalingPolicyLoadBalancingUtilization) UnmarshalJSON(data []byte) error

type AutoscalingPolicyScaleDownControl

type AutoscalingPolicyScaleDownControl struct {
	// MaxScaledDownReplicas: Maximum allowed number (or %) of VMs that can
	// be deducted from the peak recommendation during the window autoscaler
	// looks at when computing recommendations. Possibly all these VMs can
	// be deleted at once so user service needs to be prepared to lose that
	// many VMs in one step.
	MaxScaledDownReplicas *FixedOrPercent `json:"maxScaledDownReplicas,omitempty"`

	// TimeWindowSec: How far back autoscaling looks when computing
	// recommendations to include directives regarding slower scale in, as
	// described above.
	TimeWindowSec int64 `json:"timeWindowSec,omitempty"`

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

	// NullFields is a list of field names (e.g. "MaxScaledDownReplicas") 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:"-"`
}

AutoscalingPolicyScaleDownControl: Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.

func (*AutoscalingPolicyScaleDownControl) MarshalJSON

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

type AutoscalingPolicyScaleInControl

type AutoscalingPolicyScaleInControl struct {
	// MaxScaledInReplicas: Maximum allowed number (or %) of VMs that can be
	// deducted from the peak recommendation during the window autoscaler
	// looks at when computing recommendations. Possibly all these VMs can
	// be deleted at once so user service needs to be prepared to lose that
	// many VMs in one step.
	MaxScaledInReplicas *FixedOrPercent `json:"maxScaledInReplicas,omitempty"`

	// TimeWindowSec: How far back autoscaling looks when computing
	// recommendations to include directives regarding slower scale in, as
	// described above.
	TimeWindowSec int64 `json:"timeWindowSec,omitempty"`

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

	// NullFields is a list of field names (e.g. "MaxScaledInReplicas") 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:"-"`
}

AutoscalingPolicyScaleInControl: Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.

func (*AutoscalingPolicyScaleInControl) MarshalJSON

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

type AutoscalingPolicyScalingSchedule

type AutoscalingPolicyScalingSchedule struct {
	// Description: A description of a scaling schedule.
	Description string `json:"description,omitempty"`

	// Disabled: A boolean value that specifies whether a scaling schedule
	// can influence autoscaler recommendations. If set to true, then a
	// scaling schedule has no effect. This field is optional, and its value
	// is false by default.
	Disabled bool `json:"disabled,omitempty"`

	// DurationSec: The duration of time intervals, in seconds, for which
	// this scaling schedule is to run. The minimum allowed value is 300.
	// This field is required.
	DurationSec int64 `json:"durationSec,omitempty"`

	// MinRequiredReplicas: The minimum number of VM instances that the
	// autoscaler will recommend in time intervals starting according to
	// schedule. This field is required.
	MinRequiredReplicas int64 `json:"minRequiredReplicas,omitempty"`

	// Schedule: The start timestamps of time intervals when this scaling
	// schedule is to provide a scaling signal. This field uses the extended
	// cron format (with an optional year field). The expression can
	// describe a single timestamp if the optional year is set, in which
	// case the scaling schedule runs once. The schedule is interpreted with
	// respect to time_zone. This field is required. Note: These timestamps
	// only describe when autoscaler starts providing the scaling signal.
	// The VMs need additional time to become serving.
	Schedule string `json:"schedule,omitempty"`

	// TimeZone: The time zone to use when interpreting the schedule. The
	// value of this field must be a time zone name from the tz database:
	// https://en.wikipedia.org/wiki/Tz_database. This field is assigned a
	// default value of "UTC" if left empty.
	TimeZone string `json:"timeZone,omitempty"`

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

	// NullFields is a list of field names (e.g. "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:"-"`
}

AutoscalingPolicyScalingSchedule: Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.

func (*AutoscalingPolicyScalingSchedule) MarshalJSON

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

type Backend

type Backend struct {
	// BalancingMode: Specifies how to determine whether the backend of a
	// load balancer can handle additional traffic or is fully loaded. For
	// usage guidelines, see Connection balancing mode. Backends must use
	// compatible balancing modes. For more information, see Supported
	// balancing modes and target capacity settings and Restrictions and
	// guidance for instance groups. Note: Currently, if you use the API to
	// configure incompatible balancing modes, the configuration might be
	// accepted even though it has no impact and is ignored. Specifically,
	// Backend.maxUtilization is ignored when Backend.balancingMode is RATE.
	// In the future, this incompatible combination will be rejected.
	//
	// Possible values:
	//   "CONNECTION" - Balance based on the number of simultaneous
	// connections.
	//   "RATE" - Balance based on requests per second (RPS).
	//   "UTILIZATION" - Balance based on the backend utilization.
	BalancingMode string `json:"balancingMode,omitempty"`

	// CapacityScaler: A multiplier applied to the backend's target capacity
	// of its balancing mode. The default value is 1, which means the group
	// serves 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. The valid ranges are 0.0 and
	// [0.1,1.0]. You cannot configure a setting larger than 0 and smaller
	// than 0.1. You cannot configure a setting of 0 when there is only one
	// backend attached to the backend service. Not available with backends
	// that don't support using a balancingMode. This includes backends such
	// as global internet NEGs, regional serverless NEGs, and PSC NEGs.
	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"`

	// Failover: This field designates whether this is a failover backend.
	// More than one failover backend can be configured for a given
	// BackendService.
	Failover bool `json:"failover,omitempty"`

	// Group: The fully-qualified URL of an instance group or network
	// endpoint group (NEG) resource. To determine what types of backends a
	// load balancer supports, see the Backend services overview
	// (https://cloud.google.com/load-balancing/docs/backend-service#backends).
	// You must use the *fully-qualified* URL (starting with
	// https://www.googleapis.com/) to specify the instance group or NEG.
	// Partial URLs are not supported.
	Group string `json:"group,omitempty"`

	// MaxConnections: Defines a target maximum number of simultaneous
	// connections. For usage guidelines, see Connection balancing mode and
	// Utilization balancing mode. Not available if the backend's
	// balancingMode is RATE.
	MaxConnections int64 `json:"maxConnections,omitempty"`

	// MaxConnectionsPerEndpoint: Defines a target maximum number of
	// simultaneous connections. For usage guidelines, see Connection
	// balancing mode and Utilization balancing mode. Not available if the
	// backend's balancingMode is RATE.
	MaxConnectionsPerEndpoint int64 `json:"maxConnectionsPerEndpoint,omitempty"`

	// MaxConnectionsPerInstance: Defines a target maximum number of
	// simultaneous connections. For usage guidelines, see Connection
	// balancing mode and Utilization balancing mode. Not available if the
	// backend's balancingMode is RATE.
	MaxConnectionsPerInstance int64 `json:"maxConnectionsPerInstance,omitempty"`

	// MaxRate: Defines a maximum number of HTTP requests per second (RPS).
	// For usage guidelines, see Rate balancing mode and Utilization
	// balancing mode. Not available if the backend's balancingMode is
	// CONNECTION.
	MaxRate int64 `json:"maxRate,omitempty"`

	// MaxRatePerEndpoint: Defines a maximum target for requests per second
	// (RPS). For usage guidelines, see Rate balancing mode and Utilization
	// balancing mode. Not available if the backend's balancingMode is
	// CONNECTION.
	MaxRatePerEndpoint float64 `json:"maxRatePerEndpoint,omitempty"`

	// MaxRatePerInstance: Defines a maximum target for requests per second
	// (RPS). For usage guidelines, see Rate balancing mode and Utilization
	// balancing mode. Not available if the backend's balancingMode is
	// CONNECTION.
	MaxRatePerInstance float64 `json:"maxRatePerInstance,omitempty"`

	// MaxUtilization: Optional parameter to define a target capacity for
	// the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For
	// usage guidelines, see Utilization balancing mode.
	MaxUtilization float64 `json:"maxUtilization,omitempty"`

	// Preference: This field indicates whether this backend should be fully
	// utilized before sending traffic to backends with default preference.
	// The possible values are: - PREFERRED: Backends with this preference
	// level will be filled up to their capacity limits first, based on RTT.
	// - DEFAULT: If preferred backends don't have enough capacity, backends
	// in this layer would be used and traffic would be assigned based on
	// the load balancing algorithm you use. This is the default
	//
	// Possible values:
	//   "DEFAULT" - No preference.
	//   "PREFERENCE_UNSPECIFIED" - If preference is unspecified, we set it
	// to the DEFAULT value
	//   "PREFERRED" - Traffic will be sent to this backend first.
	Preference string `json:"preference,omitempty"`

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

	// NullFields is a list of field names (e.g. "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:"-"`
}

Backend: Message containing information of one individual backend.

func (*Backend) MarshalJSON

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

func (*Backend) UnmarshalJSON

func (s *Backend) UnmarshalJSON(data []byte) error

type BackendBucket

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

	// CompressionMode: Compress text responses using Brotli or gzip
	// compression, based on the client's Accept-Encoding header.
	//
	// Possible values:
	//   "AUTOMATIC" - Automatically uses the best compression based on the
	// Accept-Encoding header sent by the client.
	//   "DISABLED" - Disables compression. Existing compressed responses
	// cached by Cloud CDN will not be served to clients.
	CompressionMode string `json:"compressionMode,omitempty"`

	// CreationTimestamp: [Output Only] Creation timestamp in RFC3339 text
	// format.
	CreationTimestamp string `json:"creationTimestamp,omitempty"`

	// CustomResponseHeaders: Headers that the Application Load Balancer
	// should add to proxied responses.
	CustomResponseHeaders []string `json:"customResponseHeaders,omitempty"`

	// Description: An optional textual description of the resource;
	// provided by the client when the resource is created.
	Description string `json:"description,omitempty"`

	// EdgeSecurityPolicy: [Output Only] The resource URL for the edge
	// security policy associated with this backend bucket.
	EdgeSecurityPolicy string `json:"edgeSecurityPolicy,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 or default values are omitted from API requests. However, any
	// non-pointer, non-interface field appearing in ForceSendFields will be
	// sent to the server regardless of whether the field is empty or not.
	// This may be used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g. "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:"-"`
}

BackendBucket: Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.

func (*BackendBucket) MarshalJSON

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

type BackendBucketCdnPolicy

type BackendBucketCdnPolicy struct {
	// BypassCacheOnRequestHeaders: Bypass the cache when the specified
	// request headers are matched - e.g. Pragma or Authorization headers.
	// Up to 5 headers can be specified. The cache is bypassed for all
	// cdnPolicy.cacheMode settings.
	BypassCacheOnRequestHeaders []*BackendBucketCdnPolicyBypassCacheOnRequestHeader `json:"bypassCacheOnRequestHeaders,omitempty"`

	// CacheKeyPolicy: The CacheKeyPolicy for this CdnPolicy.
	CacheKeyPolicy *BackendBucketCdnPolicyCacheKeyPolicy `json:"cacheKeyPolicy,omitempty"`

	// CacheMode: Specifies the cache setting for all responses from this
	// backend. The possible values are: USE_ORIGIN_HEADERS Requires the
	// origin to set valid caching headers to cache content. Responses
	// without these headers will not be cached at Google's edge, and will
	// require a full trip to the origin on every request, potentially
	// impacting performance and increasing load on the origin server.
	// FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store"
	// or "no-cache" directives in Cache-Control response headers. Warning:
	// this may result in Cloud CDN caching private, per-user (user
	// identifiable) content. CACHE_ALL_STATIC Automatically cache static
	// content, including common image formats, media (video and audio), and
	// web assets (JavaScript and CSS). Requests and responses that are
	// marked as uncacheable, as well as dynamic content (including HTML),
	// will not be cached.
	//
	// Possible values:
	//   "CACHE_ALL_STATIC" - Automatically cache static content, including
	// common image formats, media (video and audio), and web assets
	// (JavaScript and CSS). Requests and responses that are marked as
	// uncacheable, as well as dynamic content (including HTML), will not be
	// cached.
	//   "FORCE_CACHE_ALL" - Cache all content, ignoring any "private",
	// "no-store" or "no-cache" directives in Cache-Control response
	// headers. Warning: this may result in Cloud CDN caching private,
	// per-user (user identifiable) content.
	//   "INVALID_CACHE_MODE"
	//   "USE_ORIGIN_HEADERS" - Requires the origin to set valid caching
	// headers to cache content. Responses without these headers will not be
	// cached at Google's edge, and will require a full trip to the origin
	// on every request, potentially impacting performance and increasing
	// load on the origin server.
	CacheMode string `json:"cacheMode,omitempty"`

	// ClientTtl: Specifies a separate client (e.g. browser client) maximum
	// TTL. This is used to clamp the max-age (or Expires) value sent to the
	// client. With FORCE_CACHE_ALL, the lesser of client_ttl and
	// default_ttl is used for the response max-age directive, along with a
	// "public" directive. For cacheable content in CACHE_ALL_STATIC mode,
	// client_ttl clamps the max-age from the origin (if specified), or else
	// sets the response max-age directive to the lesser of the client_ttl
	// and default_ttl, and also ensures a "public" cache-control directive
	// is present. If a client TTL is not specified, a default value (1
	// hour) will be used. The maximum allowed value is 31,622,400s (1
	// year).
	ClientTtl int64 `json:"clientTtl,omitempty"`

	// DefaultTtl: Specifies the default TTL for cached content served by
	// this origin for responses that do not have an existing valid TTL
	// (max-age or s-max-age). Setting a TTL of "0" means "always
	// revalidate". The value of defaultTTL cannot be set to a value greater
	// than that of maxTTL, but can be equal. When the cacheMode is set to
	// FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all
	// responses. The maximum allowed value is 31,622,400s (1 year), noting
	// that infrequently accessed objects may be evicted from the cache
	// before the defined TTL.
	DefaultTtl int64 `json:"defaultTtl,omitempty"`

	// MaxTtl: Specifies the maximum allowed TTL for cached content served
	// by this origin. Cache directives that attempt to set a max-age or
	// s-maxage higher than this, or an Expires header more than maxTTL
	// seconds in the future will be capped at the value of maxTTL, as if it
	// were the value of an s-maxage Cache-Control directive. Headers sent
	// to the client will not be modified. Setting a TTL of "0" means
	// "always revalidate". The maximum allowed value is 31,622,400s (1
	// year), noting that infrequently accessed objects may be evicted from
	// the cache before the defined TTL.
	MaxTtl int64 `json:"maxTtl,omitempty"`

	// NegativeCaching: Negative caching allows per-status code TTLs to be
	// set, in order to apply fine-grained caching for common errors or
	// redirects. This can reduce the load on your origin and improve
	// end-user experience by reducing response latency. When the cache mode
	// is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching
	// applies to responses with the specified response code that lack any
	// Cache-Control, Expires, or Pragma: no-cache directives. When the
	// cache mode is set to FORCE_CACHE_ALL, negative caching applies to all
	// responses with the specified response code, and override any caching
	// headers. By default, Cloud CDN will apply the following default TTLs
	// to these status codes: HTTP 300 (Multiple Choice), 301, 308
	// (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451
	// (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found),
	// 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
	// can be overridden in negative_caching_policy.
	NegativeCaching bool `json:"negativeCaching,omitempty"`

	// NegativeCachingPolicy: Sets a cache TTL for the specified HTTP status
	// code. negative_caching must be enabled to configure
	// negative_caching_policy. Omitting the policy and leaving
	// negative_caching enabled will use Cloud CDN's default cache TTLs.
	// Note that when specifying an explicit negative_caching_policy, you
	// should take care to specify a cache TTL for all response codes that
	// you wish to cache. Cloud CDN will not apply any default negative
	// caching when a policy exists.
	NegativeCachingPolicy []*BackendBucketCdnPolicyNegativeCachingPolicy `json:"negativeCachingPolicy,omitempty"`

	// RequestCoalescing: If true then Cloud CDN will combine multiple
	// concurrent cache fill requests into a small number of requests to the
	// origin.
	RequestCoalescing bool `json:"requestCoalescing,omitempty"`

	// ServeWhileStale: Serve existing content from the cache (if available)
	// when revalidating content with the origin, or when an error is
	// encountered when refreshing the cache. This setting defines the
	// default "max-stale" duration for any cached responses that do not
	// specify a max-stale directive. Stale responses that exceed the TTL
	// configured here will not be served. The default limit (max-stale) is
	// 86400s (1 day), which will allow stale content to be served up to
	// this limit beyond the max-age (or s-max-age) of a cached response.
	// The maximum allowed value is 604800 (1 week). Set this to zero (0) to
	// disable serve-while-stale.
	ServeWhileStale int64 `json:"serveWhileStale,omitempty"`

	// 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.
	// "BypassCacheOnRequestHeaders") to unconditionally include in API
	// requests. By default, fields with empty or default values are omitted
	// from API requests. However, any non-pointer, non-interface field
	// appearing in ForceSendFields will be sent to the server regardless of
	// whether the field is empty or not. This may be used to include empty
	// fields in Patch requests.
	ForceSendFields []string `json:"-"`

	// NullFields is a list of field names (e.g.
	// "BypassCacheOnRequestHeaders") 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:"-"`
}

BackendBucketCdnPolicy: Message containing Cloud CDN configuration for a backend bucket.

func (*BackendBucketCdnPolicy) MarshalJSON

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

type BackendBucketCdnPolicyBypassCacheOnRequestHeader

type BackendBucketCdnPolicyBypassCacheOnRequestHeader struct {
	// HeaderName: The header field name to match on when bypassing cache.
	// Values are case-insensitive.
	HeaderName string `json:"headerName,omitempty"`

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

	// NullFields is a list of field names (e.g. "HeaderName") 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:"-"`
}

BackendBucketCdnPolicyBypassCacheOnRequestHeader: Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.

func (*BackendBucketCdnPolicyBypassCacheOnRequestHeader) MarshalJSON

type BackendBucketCdnPolicyCacheKeyPolicy

type BackendBucketCdnPolicyCacheKeyPolicy struct {
	// IncludeHttpHeaders: Allows HTTP request headers (by name) to be used
	// in the cache key.
	IncludeHttpHeaders []string `json:"includeHttpHeaders,omitempty"`

	// QueryStringWhitelist: Names of query string parameters to include in
	// cache keys. Default parameters are always included. '&' and '=' will
	// be percent encoded and not treated as delimiters.
	QueryStringWhitelist []string `json:"queryStringWhitelist,omitempty"`

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

	// NullFields is a list of field names (e.g. "IncludeHttpHeaders") 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:"-"`
}

BackendBucketCdnPolicyCacheKeyPolicy: Message containing what to include in the cache key for a request for Cloud CDN.

func (*BackendBucketCdnPolicyCacheKeyPolicy) MarshalJSON

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