blob: 822ad578f202842926121a8495e0c85b1a179f1e [file] [log] [blame]
// Copyright 2020 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package run provides access to the Cloud Run API.
//
// For product documentation, see: https://cloud.google.com/run/
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/run/v1"
// ...
// ctx := context.Background()
// runService, err := run.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// runService, err := run.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// runService, err := run.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package run // import "google.golang.org/api/run/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
htransport "google.golang.org/api/transport/http"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "run:v1"
const apiName = "run"
const apiVersion = "v1"
const basePath = "https://run.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)
// NewService creates a new APIService.
func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new APIService. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
func New(client *http.Client) (*APIService, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &APIService{client: client, BasePath: basePath}
s.Namespaces = NewNamespacesService(s)
s.Projects = NewProjectsService(s)
return s, nil
}
type APIService struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Namespaces *NamespacesService
Projects *ProjectsService
}
func (s *APIService) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewNamespacesService(s *APIService) *NamespacesService {
rs := &NamespacesService{s: s}
rs.Authorizeddomains = NewNamespacesAuthorizeddomainsService(s)
rs.Configurations = NewNamespacesConfigurationsService(s)
rs.Domainmappings = NewNamespacesDomainmappingsService(s)
rs.Revisions = NewNamespacesRevisionsService(s)
rs.Routes = NewNamespacesRoutesService(s)
rs.Services = NewNamespacesServicesService(s)
return rs
}
type NamespacesService struct {
s *APIService
Authorizeddomains *NamespacesAuthorizeddomainsService
Configurations *NamespacesConfigurationsService
Domainmappings *NamespacesDomainmappingsService
Revisions *NamespacesRevisionsService
Routes *NamespacesRoutesService
Services *NamespacesServicesService
}
func NewNamespacesAuthorizeddomainsService(s *APIService) *NamespacesAuthorizeddomainsService {
rs := &NamespacesAuthorizeddomainsService{s: s}
return rs
}
type NamespacesAuthorizeddomainsService struct {
s *APIService
}
func NewNamespacesConfigurationsService(s *APIService) *NamespacesConfigurationsService {
rs := &NamespacesConfigurationsService{s: s}
return rs
}
type NamespacesConfigurationsService struct {
s *APIService
}
func NewNamespacesDomainmappingsService(s *APIService) *NamespacesDomainmappingsService {
rs := &NamespacesDomainmappingsService{s: s}
return rs
}
type NamespacesDomainmappingsService struct {
s *APIService
}
func NewNamespacesRevisionsService(s *APIService) *NamespacesRevisionsService {
rs := &NamespacesRevisionsService{s: s}
return rs
}
type NamespacesRevisionsService struct {
s *APIService
}
func NewNamespacesRoutesService(s *APIService) *NamespacesRoutesService {
rs := &NamespacesRoutesService{s: s}
return rs
}
type NamespacesRoutesService struct {
s *APIService
}
func NewNamespacesServicesService(s *APIService) *NamespacesServicesService {
rs := &NamespacesServicesService{s: s}
return rs
}
type NamespacesServicesService struct {
s *APIService
}
func NewProjectsService(s *APIService) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *APIService
Locations *ProjectsLocationsService
}
func NewProjectsLocationsService(s *APIService) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Authorizeddomains = NewProjectsLocationsAuthorizeddomainsService(s)
rs.Configurations = NewProjectsLocationsConfigurationsService(s)
rs.Domainmappings = NewProjectsLocationsDomainmappingsService(s)
rs.Revisions = NewProjectsLocationsRevisionsService(s)
rs.Routes = NewProjectsLocationsRoutesService(s)
rs.Services = NewProjectsLocationsServicesService(s)
return rs
}
type ProjectsLocationsService struct {
s *APIService
Authorizeddomains *ProjectsLocationsAuthorizeddomainsService
Configurations *ProjectsLocationsConfigurationsService
Domainmappings *ProjectsLocationsDomainmappingsService
Revisions *ProjectsLocationsRevisionsService
Routes *ProjectsLocationsRoutesService
Services *ProjectsLocationsServicesService
}
func NewProjectsLocationsAuthorizeddomainsService(s *APIService) *ProjectsLocationsAuthorizeddomainsService {
rs := &ProjectsLocationsAuthorizeddomainsService{s: s}
return rs
}
type ProjectsLocationsAuthorizeddomainsService struct {
s *APIService
}
func NewProjectsLocationsConfigurationsService(s *APIService) *ProjectsLocationsConfigurationsService {
rs := &ProjectsLocationsConfigurationsService{s: s}
return rs
}
type ProjectsLocationsConfigurationsService struct {
s *APIService
}
func NewProjectsLocationsDomainmappingsService(s *APIService) *ProjectsLocationsDomainmappingsService {
rs := &ProjectsLocationsDomainmappingsService{s: s}
return rs
}
type ProjectsLocationsDomainmappingsService struct {
s *APIService
}
func NewProjectsLocationsRevisionsService(s *APIService) *ProjectsLocationsRevisionsService {
rs := &ProjectsLocationsRevisionsService{s: s}
return rs
}
type ProjectsLocationsRevisionsService struct {
s *APIService
}
func NewProjectsLocationsRoutesService(s *APIService) *ProjectsLocationsRoutesService {
rs := &ProjectsLocationsRoutesService{s: s}
return rs
}
type ProjectsLocationsRoutesService struct {
s *APIService
}
func NewProjectsLocationsServicesService(s *APIService) *ProjectsLocationsServicesService {
rs := &ProjectsLocationsServicesService{s: s}
return rs
}
type ProjectsLocationsServicesService struct {
s *APIService
}
// Addressable: Information for connecting over HTTP(s).
type Addressable struct {
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Url") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Url") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Addressable) MarshalJSON() ([]byte, error) {
type NoMethod Addressable
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditConfig: Specifies the audit configuration for a service.
// The configuration determines which permission types are logged, and
// what
// identities, if any, are exempted from logging.
// An AuditConfig must have one or more AuditLogConfigs.
//
// If there are AuditConfigs for both `allServices` and a specific
// service,
// the union of the two AuditConfigs is used for that service: the
// log_types
// specified in each AuditConfig are enabled, and the exempted_members
// in each
// AuditLogConfig are exempted.
//
// Example Policy with multiple AuditConfigs:
//
// {
// "audit_configs": [
// {
// "service": "allServices"
// "audit_log_configs": [
// {
// "log_type": "DATA_READ",
// "exempted_members": [
// "user: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.
type AuditConfig struct {
// AuditLogConfigs: The configuration for logging of each type of
// permission.
AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
// Service: Specifies a service that will be enabled for audit
// logging.
// For example, `storage.googleapis.com`,
// `cloudsql.googleapis.com`.
// `allServices` is a special value that covers all services.
Service string `json:"service,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuditLogConfigs") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AuditConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditLogConfig: Provides the configuration for logging a type of
// permissions.
// Example:
//
// {
// "audit_log_configs": [
// {
// "log_type": "DATA_READ",
// "exempted_members": [
// "user:jose@example.com"
// ]
// },
// {
// "log_type": "DATA_WRITE",
// }
// ]
// }
//
// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
// exempting
// jose@example.com from DATA_READ logging.
type AuditLogConfig struct {
// ExemptedMembers: Specifies the identities that do not cause logging
// for this type of
// permission.
// Follows the same format of Binding.members.
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// LogType: The log type that this config enables.
//
// Possible values:
// "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
// "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
// "DATA_WRITE" - Data writes. Example: CloudSQL Users create
// "DATA_READ" - Data reads. Example: CloudSQL Users list
LogType string `json:"logType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExemptedMembers") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExemptedMembers") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AuditLogConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditLogConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuthorizedDomain: A domain that a user has been authorized to
// administer. To authorize use
// of a domain, verify ownership via
// [Webmaster
// Central](https://www.google.com/webmasters/verification/home).
type AuthorizedDomain struct {
// Id: Relative name of the domain authorized for use. Example:
// `example.com`.
Id string `json:"id,omitempty"`
// Name: Read only. Full path to the `AuthorizedDomain` resource in the
// API.
// Example: `apps/myapp/authorizedDomains/example.com`.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Id") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Id") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AuthorizedDomain) MarshalJSON() ([]byte, error) {
type NoMethod AuthorizedDomain
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Binding: Associates `members` with a `role`.
type Binding struct {
// Condition: The condition that is associated with this binding.
// NOTE: An unsatisfied condition will not allow user access via
// current
// binding. Different bindings, including their conditions, are
// examined
// independently.
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the identities requesting access for a Cloud
// Platform resource.
// `members` can have the following values:
//
// * `allUsers`: A special identifier that represents anyone who is
// on the internet; with or without a Google account.
//
// * `allAuthenticatedUsers`: A special identifier that represents
// anyone
// who is authenticated with a Google account or a service
// account.
//
// * `user:{emailid}`: An email address that represents a specific
// Google
// account. For example, `alice@example.com` .
//
//
// * `serviceAccount:{emailid}`: An email address that represents a
// service
// account. For example,
// `my-other-app@appspot.gserviceaccount.com`.
//
// * `group:{emailid}`: An email address that represents a Google
// group.
// For example, `admins@example.com`.
//
// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
// unique
// identifier) representing a user that has been recently deleted.
// For
// example, `alice@example.com?uid=123456789012345678901`. If the
// user is
// recovered, this value reverts to `user:{emailid}` and the
// recovered user
// retains the role in the binding.
//
// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
// (plus
// unique identifier) representing a service account that has been
// recently
// deleted. For example,
//
// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
//
// If the service account is undeleted, this value reverts to
// `serviceAccount:{emailid}` and the undeleted service account
// retains the
// role in the binding.
//
// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
// unique
// identifier) representing a Google group that has been recently
// deleted. For example,
// `admins@example.com?uid=123456789012345678901`. If
// the group is recovered, this value reverts to `group:{emailid}`
// and the
// recovered group retains the role in the binding.
//
//
// * `domain:{domain}`: The G Suite domain (primary) that represents all
// the
// users of that domain. For example, `google.com` or
// `example.com`.
//
//
Members []string `json:"members,omitempty"`
// Role: Role that is assigned to `members`.
// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Condition") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Condition") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Binding) MarshalJSON() ([]byte, error) {
type NoMethod Binding
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigMapEnvSource: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// ConfigMapEnvSource selects a ConfigMap to populate the
// environment
// variables with.
//
// The contents of the target ConfigMap's Data field will represent
// the
// key-value pairs as environment variables.
type ConfigMapEnvSource struct {
// LocalObjectReference: This field should not be used directly as it is
// meant to be inlined
// directly into the message. Use the "name" field instead.
LocalObjectReference *LocalObjectReference `json:"localObjectReference,omitempty"`
// Name: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The ConfigMap to select from.
Name string `json:"name,omitempty"`
// Optional: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Specify whether the ConfigMap must be defined
Optional bool `json:"optional,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "LocalObjectReference") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LocalObjectReference") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ConfigMapEnvSource) MarshalJSON() ([]byte, error) {
type NoMethod ConfigMapEnvSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigMapKeySelector: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Selects a key from a ConfigMap.
type ConfigMapKeySelector struct {
// Key: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The key to select.
Key string `json:"key,omitempty"`
// LocalObjectReference: This field should not be used directly as it is
// meant to be inlined
// directly into the message. Use the "name" field instead.
LocalObjectReference *LocalObjectReference `json:"localObjectReference,omitempty"`
// Name: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The ConfigMap to select from.
Name string `json:"name,omitempty"`
// Optional: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Specify whether the ConfigMap or its key must be defined
Optional bool `json:"optional,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ConfigMapKeySelector) MarshalJSON() ([]byte, error) {
type NoMethod ConfigMapKeySelector
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigMapVolumeSource: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Adapts a ConfigMap into a volume.
// The contents of the target ConfigMap's Data field will be presented
// in a
// volume as files using the keys in the Data field as the file names,
// unless
// the items element is populated with specific mappings of keys to
// paths.
type ConfigMapVolumeSource struct {
// DefaultMode: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Mode bits to use on created files by default. Must be a value between
// 0 and
// 0777. Defaults to 0644. Directories within the path are not affected
// by
// this setting. This might be in conflict with other options that
// affect the
// file mode, like fsGroup, and the result can be other mode bits set.
DefaultMode int64 `json:"defaultMode,omitempty"`
// Items: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// If unspecified, each key-value pair in the Data field of the
// referenced
// Secret will be projected into the volume as a file whose name is
// the
// key and content is the value. If specified, the listed keys will
// be
// projected into the specified paths, and unlisted keys will not
// be
// present. If a key is specified which is not present in the
// Secret,
// the volume setup will error unless it is marked optional.
Items []*KeyToPath `json:"items,omitempty"`
// Name: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Name of the config.
Name string `json:"name,omitempty"`
// Optional: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Specify whether the Secret or its keys must be defined.
Optional bool `json:"optional,omitempty"`
// ForceSendFields is a list of field names (e.g. "DefaultMode") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DefaultMode") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ConfigMapVolumeSource) MarshalJSON() ([]byte, error) {
type NoMethod ConfigMapVolumeSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Configuration: Configuration represents the "floating HEAD" of a
// linear history of
// Revisions, and optionally how the containers those revisions
// reference are
// built. Users create new Revisions by updating the Configuration's
// spec. The
// "latest created" revision's name is available under status, as is the
// "latest
// ready" revision's name. See
// also:
// https://github.com/knative/serving/blob/master/docs/spec/overvie
// w.md#configuration
type Configuration struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Kind: The kind of resource, in this case always "Configuration".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Configuration, including
// name, namespace,
// labels, and annotations.
Metadata *ObjectMeta `json:"metadata,omitempty"`
// Spec: Spec holds the desired state of the Configuration (from the
// client).
Spec *ConfigurationSpec `json:"spec,omitempty"`
// Status: Status communicates the observed state of the Configuration
// (from the
// controller).
Status *ConfigurationStatus `json:"status,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Configuration) MarshalJSON() ([]byte, error) {
type NoMethod Configuration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigurationSpec: ConfigurationSpec holds the desired state of the
// Configuration (from the
// client).
type ConfigurationSpec struct {
// Template: Optional metadata for this Revision, including labels and
// annotations. Name
// will be generated by the Configuration.
// To set minimum instances for this revision, use
// the
// "autoscaling.knative.dev/minScale" annotation key. (Cloud Run for
// Anthos
// only). To set maximum instances for this revision, use
// the
// "autoscaling.knative.dev/maxScale" annotation key.
// To set Cloud SQL connections for the revision, use
// the
// "run.googleapis.com/cloudsql-instances" annotation key. Values should
// be
// comma separated.
Template *RevisionTemplate `json:"template,omitempty"`
// ForceSendFields is a list of field names (e.g. "Template") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Template") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ConfigurationSpec) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurationSpec
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigurationStatus: ConfigurationStatus communicates the observed
// state of the Configuration
// (from the controller).
type ConfigurationStatus struct {
// Conditions: Conditions communicates information about
// ongoing/complete
// reconciliation processes that bring the "spec" inline with the
// observed
// state of the world.
Conditions []*GoogleCloudRunV1Condition `json:"conditions,omitempty"`
// LatestCreatedRevisionName: LatestCreatedRevisionName is the last
// revision that was created from this
// Configuration. It might not be ready yet, for that
// use
// LatestReadyRevisionName.
LatestCreatedRevisionName string `json:"latestCreatedRevisionName,omitempty"`
// LatestReadyRevisionName: LatestReadyRevisionName holds the name of
// the latest Revision stamped out
// from this Configuration that has had its "Ready" condition become
// "True".
LatestReadyRevisionName string `json:"latestReadyRevisionName,omitempty"`
// ObservedGeneration: ObservedGeneration is the 'Generation' of the
// Configuration that
// was last processed by the controller. The observed generation is
// updated
// even if the controller failed to process the spec and create the
// Revision.
//
// Clients polling for completed reconciliation should poll
// until
// observedGeneration = metadata.generation, and the Ready condition's
// status
// is True or False.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// ForceSendFields is a list of field names (e.g. "Conditions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Conditions") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ConfigurationStatus) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurationStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Container: A single application container.
// This specifies both the container to run, the command to run in the
// container
// and the arguments to supply to it.
// Note that additional arguments may be supplied by the system to the
// container
// at runtime.
type Container struct {
// Args: (Optional)
//
// Cloud Run fully managed: supported
//
// Cloud Run for Anthos: supported
//
// Arguments to the entrypoint.
// The docker image's CMD is used if this is not provided.
// Variable references $(VAR_NAME) are expanded using the
// container's
// environment. If a variable cannot be resolved, the reference in the
// input
// string will be unchanged. The $(VAR_NAME) syntax can be escaped with
// a
// double $$, ie: $$(VAR_NAME). Escaped references will never be
// expanded,
// regardless of whether the variable exists or not.
// More
// info:
// https://kubernetes.io/docs/tasks/inject-data-application/define-
// command-argument-container/#running-a-command-in-a-shell
Args []string `json:"args,omitempty"`
Command []string `json:"command,omitempty"`
// Env: (Optional)
//
// Cloud Run fully managed: supported
//
// Cloud Run for Anthos: supported
//
// List of environment variables to set in the container.
Env []*EnvVar `json:"env,omitempty"`
// EnvFrom: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// List of sources to populate environment variables in the
// container.
// The keys defined within a source must be a C_IDENTIFIER. All invalid
// keys
// will be reported as an event when the container is starting. When a
// key
// exists in multiple sources, the value associated with the last source
// will
// take precedence. Values defined by an Env with a duplicate key will
// take
// precedence. Cannot be updated.
EnvFrom []*EnvFromSource `json:"envFrom,omitempty"`
// Image: Cloud Run fully managed: only supports containers from Google
// Container
// Registry
//
// Cloud Run for Anthos: supported
//
// URL of the Container image.
// More info: https://kubernetes.io/docs/concepts/containers/images
Image string `json:"image,omitempty"`
// ImagePullPolicy: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Image pull policy.
// One of Always, Never, IfNotPresent.
// Defaults to Always if :latest tag is specified, or IfNotPresent
// otherwise.
// More
// info:
// https://kubernetes.io/docs/concepts/containers/images#updating-i
// mages
ImagePullPolicy string `json:"imagePullPolicy,omitempty"`
// LivenessProbe: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Periodic probe of container liveness.
// Container will be restarted if the probe fails.
// More
// info:
// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle
// #container-probes
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
// Name: (Optional)
//
// Name of the container specified as a DNS_LABEL.
Name string `json:"name,omitempty"`
// Ports: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// List of ports to expose from the container. Exposing a port here
// gives
// the system additional information about the network connections
// a
// container uses, but is primarily informational. Not specifying a port
// here
// DOES NOT prevent that port from being exposed. Any port which
// is
// listening on the default "0.0.0.0" address inside a container will
// be
// accessible from the network.
Ports []*ContainerPort `json:"ports,omitempty"`
// ReadinessProbe: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Periodic probe of container service readiness.
// Container will be removed from service endpoints if the probe
// fails.
// More
// info:
// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle
// #container-probes
ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
// Resources: (Optional)
//
// Cloud Run fully managed: supported
//
// Cloud Run for Anthos: supported
//
// Compute Resources required by this container.
// More
// info:
// https://kubernetes.io/docs/concepts/storage/persistent-volumes#r
// esources
Resources *ResourceRequirements `json:"resources,omitempty"`
// SecurityContext: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Security options the pod should run with.
// More info:
// https://kubernetes.io/docs/concepts/policy/security-context/
// More
// info:
// https://kubernetes.io/docs/tasks/configure-pod-container/securit
// y-context/
SecurityContext *SecurityContext `json:"securityContext,omitempty"`
// TerminationMessagePath: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Path at which the file to which the container's termination
// message will be written is mounted into the container's filesystem.
// Message
// written is intended to be brief final status, such as an assertion
// failure
// message. Will be truncated by the node if greater than 4096 bytes.
// The
// total message length across all containers will be limited to
// 12kb.
// Defaults to /dev/termination-log.
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
// TerminationMessagePolicy: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Indicate how the termination message should be populated. File will
// use the
// contents of terminationMessagePath to populate the container status
// message
// on both success and failure. FallbackToLogsOnError will use the last
// chunk
// of container log output if the termination message file is empty and
// the
// container exited with an error. The log output is limited to 2048
// bytes or
// 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
TerminationMessagePolicy string `json:"terminationMessagePolicy,omitempty"`
// VolumeMounts: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Pod volumes to mount into the container's filesystem.
VolumeMounts []*VolumeMount `json:"volumeMounts,omitempty"`
// WorkingDir: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Container's working directory.
// If not specified, the container runtime's default will be used,
// which
// might be configured in the container image.
WorkingDir string `json:"workingDir,omitempty"`
// ForceSendFields is a list of field names (e.g. "Args") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Args") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Container) MarshalJSON() ([]byte, error) {
type NoMethod Container
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ContainerPort: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// ContainerPort represents a network port in a single container.
type ContainerPort struct {
// ContainerPort: (Optional)
//
// Cloud Run fully managed: supported
//
// Cloud Run for Anthos: supported
//
// Port number the container listens on.
// This must be a valid port number, 0 < x < 65536.
ContainerPort int64 `json:"containerPort,omitempty"`
// Name: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// If specified, used to specify which protocol to use.
// Allowed values are "http1" and "h2c".
Name string `json:"name,omitempty"`
// Protocol: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Protocol for port. Must be TCP.
// Defaults to "TCP".
Protocol string `json:"protocol,omitempty"`
// ForceSendFields is a list of field names (e.g. "ContainerPort") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContainerPort") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ContainerPort) MarshalJSON() ([]byte, error) {
type NoMethod ContainerPort
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DomainMapping: Resource to hold the state and status of a user's
// domain mapping.
type DomainMapping struct {
// ApiVersion: The API version for this call such as
// "domains.cloudrun.com/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Kind: The kind of resource, in this case "DomainMapping".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this BuildTemplate.
Metadata *ObjectMeta `json:"metadata,omitempty"`
// Spec: The spec for this DomainMapping.
Spec *DomainMappingSpec `json:"spec,omitempty"`
// Status: The current status of the DomainMapping.
Status *DomainMappingStatus `json:"status,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DomainMapping) MarshalJSON() ([]byte, error) {
type NoMethod DomainMapping
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DomainMappingSpec: The desired state of the Domain Mapping.
type DomainMappingSpec struct {
// CertificateMode: The mode of the certificate.
//
// Possible values:
// "CERTIFICATE_MODE_UNSPECIFIED"
// "NONE" - Do not provision an HTTPS certificate.
// "AUTOMATIC" - Automatically provisions an HTTPS certificate via
// LetsEncrypt.
CertificateMode string `json:"certificateMode,omitempty"`
// ForceOverride: If set, the mapping will override any mapping set
// before this spec was set.
// It is recommended that the user leaves this empty to receive an
// error
// warning about a potential conflict and only set it once the
// respective UI
// has given such a warning.
ForceOverride bool `json:"forceOverride,omitempty"`
// RouteName: The name of the Knative Route that this DomainMapping
// applies to.
// The route must exist.
RouteName string `json:"routeName,omitempty"`
// ForceSendFields is a list of field names (e.g. "CertificateMode") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CertificateMode") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *DomainMappingSpec) MarshalJSON() ([]byte, error) {
type NoMethod DomainMappingSpec
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DomainMappingStatus: The current state of the Domain Mapping.
type DomainMappingStatus struct {
// Conditions: Array of observed DomainMappingConditions, indicating the
// current state
// of the DomainMapping.
Conditions []*GoogleCloudRunV1Condition `json:"conditions,omitempty"`
// MappedRouteName: The name of the route that the mapping currently
// points to.
MappedRouteName string `json:"mappedRouteName,omitempty"`
// ObservedGeneration: ObservedGeneration is the 'Generation' of the
// DomainMapping that
// was last processed by the controller.
//
// Clients polling for completed reconciliation should poll
// until
// observedGeneration = metadata.generation and the Ready condition's
// status
// is True or False.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// ResourceRecords: The resource records required to configure this
// domain mapping. These
// records must be added to the domain's DNS configuration in order
// to
// serve the application via this domain mapping.
ResourceRecords []*ResourceRecord `json:"resourceRecords,omitempty"`
// ForceSendFields is a list of field names (e.g. "Conditions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Conditions") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DomainMappingStatus) MarshalJSON() ([]byte, error) {
type NoMethod DomainMappingStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EnvFromSource: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// EnvFromSource represents the source of a set of ConfigMaps
type EnvFromSource struct {
// ConfigMapRef: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The ConfigMap to select from
ConfigMapRef *ConfigMapEnvSource `json:"configMapRef,omitempty"`
// Prefix: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// An optional identifier to prepend to each key in the ConfigMap. Must
// be a
// C_IDENTIFIER.
Prefix string `json:"prefix,omitempty"`
// SecretRef: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The Secret to select from
SecretRef *SecretEnvSource `json:"secretRef,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConfigMapRef") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConfigMapRef") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnvFromSource) MarshalJSON() ([]byte, error) {
type NoMethod EnvFromSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EnvVar: EnvVar represents an environment variable present in a
// Container.
type EnvVar struct {
// Name: Name of the environment variable. Must be a C_IDENTIFIER.
Name string `json:"name,omitempty"`
// Value: (Optional)
//
// Variable references $(VAR_NAME) are expanded
// using the previous defined environment variables in the container
// and
// any route environment variables. If a variable cannot be
// resolved,
// the reference in the input string will be unchanged. The
// $(VAR_NAME)
// syntax can be escaped with a double $$, ie: $$(VAR_NAME).
// Escaped
// references will never be expanded, regardless of whether the
// variable
// exists or not.
// Defaults to "".
Value string `json:"value,omitempty"`
// ValueFrom: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Source for the environment variable's value. Cannot be used if value
// is not
// empty.
ValueFrom *EnvVarSource `json:"valueFrom,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnvVar) MarshalJSON() ([]byte, error) {
type NoMethod EnvVar
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EnvVarSource: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// EnvVarSource represents a source for the value of an EnvVar.
type EnvVarSource struct {
// ConfigMapKeyRef: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Selects a key of a ConfigMap.
ConfigMapKeyRef *ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
// SecretKeyRef: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Selects a key of a secret in the pod's namespace
SecretKeyRef *SecretKeySelector `json:"secretKeyRef,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConfigMapKeyRef") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConfigMapKeyRef") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *EnvVarSource) MarshalJSON() ([]byte, error) {
type NoMethod EnvVarSource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ExecAction: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// ExecAction describes a "run in container" action.
type ExecAction struct {
// Command: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Command is the command line to execute inside the container, the
// working
// directory for the command is root ('/') in the container's
// filesystem. The
// command is simply exec'd, it is not run inside a shell, so
// traditional
// shell instructions ('|', etc) won't work. To use a shell, you need
// to
// explicitly call out to that shell. Exit status of 0 is treated
// as
// live/healthy and non-zero is unhealthy.
Command string `json:"command,omitempty"`
// ForceSendFields is a list of field names (e.g. "Command") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Command") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ExecAction) MarshalJSON() ([]byte, error) {
type NoMethod ExecAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Expr: Represents an expression text. Example:
//
// title: "User account presence"
// description: "Determines whether the request has a user account"
// expression: "size(request.user) > 0"
type Expr struct {
// Description: An optional description of the expression. This is a
// longer text which
// describes the expression, e.g. when hovered over it in a UI.
Description string `json:"description,omitempty"`
// Expression: Textual representation of an expression in
// Common Expression Language syntax.
//
// The application context of the containing message determines
// which
// well-known feature set of CEL is supported.
Expression string `json:"expression,omitempty"`
// Location: An optional string indicating the location of the
// expression for error
// reporting, e.g. a file name and a position in the file.
Location string `json:"location,omitempty"`
// Title: An optional title for the expression, i.e. a short string
// describing
// its purpose. This can be used e.g. in UIs which allow to enter
// the
// expression.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Expr) MarshalJSON() ([]byte, error) {
type NoMethod Expr
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleCloudRunV1Condition: Condition defines a generic condition for
// a Resource
type GoogleCloudRunV1Condition struct {
// LastTransitionTime: Optional. Last time the condition transitioned
// from one status to another.
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
// Message: Optional. Human readable message indicating details about
// the current status.
Message string `json:"message,omitempty"`
// Reason: Optional. One-word CamelCase reason for the condition's last
// transition.
Reason string `json:"reason,omitempty"`
// Severity: Optional. How to interpret failures of this condition, one
// of Error, Warning, Info
Severity string `json:"severity,omitempty"`
// Status: Status of the condition, one of True, False, Unknown.
Status string `json:"status,omitempty"`
// Type: type is used to communicate the status of the reconciliation
// process.
// See
// also:
// https://github.com/knative/serving/blob/master/docs/spec/errors.
// md#error-conditions-and-reporting
// Types common to all resources include:
// * "Ready": True when the Resource is ready.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "LastTransitionTime")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "LastTransitionTime") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleCloudRunV1Condition) MarshalJSON() ([]byte, error) {
type NoMethod GoogleCloudRunV1Condition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HTTPGetAction: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// HTTPGetAction describes an action based on HTTP Get requests.
type HTTPGetAction struct {
// Host: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Host name to connect to, defaults to the pod IP. You probably want to
// set
// "Host" in httpHeaders instead.
Host string `json:"host,omitempty"`
// HttpHeaders: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Custom headers to set in the request. HTTP allows repeated headers.
HttpHeaders []*HTTPHeader `json:"httpHeaders,omitempty"`
// Path: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Path to access on the HTTP server.
Path string `json:"path,omitempty"`
// Scheme: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Scheme to use for connecting to the host.
// Defaults to HTTP.
Scheme string `json:"scheme,omitempty"`
// ForceSendFields is a list of field names (e.g. "Host") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Host") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HTTPGetAction) MarshalJSON() ([]byte, error) {
type NoMethod HTTPGetAction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// HTTPHeader: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// HTTPHeader describes a custom header to be used in HTTP probes
type HTTPHeader struct {
// Name: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The header field name
Name string `json:"name,omitempty"`
// Value: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The header field value
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *HTTPHeader) MarshalJSON() ([]byte, error) {
type NoMethod HTTPHeader
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Handler: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Handler defines a specific action that should be taken
type Handler struct {
// Exec: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// One and only one of the following should be specified.
// Exec specifies the action to take.
Exec *ExecAction `json:"exec,omitempty"`
// HttpGet: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// HTTPGet specifies the http request to perform.
HttpGet *HTTPGetAction `json:"httpGet,omitempty"`
// TcpSocket: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// TCPSocket specifies an action involving a TCP port.
// TCP hooks not yet supported
TcpSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
// ForceSendFields is a list of field names (e.g. "Exec") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Exec") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Handler) MarshalJSON() ([]byte, error) {
type NoMethod Handler
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// IntOrString: IntOrString is a type that can hold an int32 or a
// string. When used in
// JSON or YAML marshalling and unmarshalling, it produces or consumes
// the
// inner type. This allows you to have, for example, a JSON field that
// can
// accept a name or number.
type IntOrString struct {
// IntVal: The int value.
IntVal int64 `json:"intVal,omitempty"`
// StrVal: The string value.
StrVal string `json:"strVal,omitempty"`
// Type: The type of the value.
Type int64 `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "IntVal") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IntVal") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *IntOrString) MarshalJSON() ([]byte, error) {
type NoMethod IntOrString
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// KeyToPath: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Maps a string key to a path within a volume.
type KeyToPath struct {
// Key: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The key to project.
Key string `json:"key,omitempty"`
// Mode: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Mode bits to use on this file, must be a value between 0 and 0777. If
// not
// specified, the volume defaultMode will be used. This might be in
// conflict
// with other options that affect the file mode, like fsGroup, and the
// result
// can be other mode bits set.
Mode int64 `json:"mode,omitempty"`
// Path: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The relative path of the file to map the key to.
// May not be an absolute path.
// May not contain the path element '..'.
// May not start with the string '..'.
Path string `json:"path,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *KeyToPath) MarshalJSON() ([]byte, error) {
type NoMethod KeyToPath
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListAuthorizedDomainsResponse: A list of Authorized Domains.
type ListAuthorizedDomainsResponse struct {
// Domains: The authorized domains belonging to the user.
Domains []*AuthorizedDomain `json:"domains,omitempty"`
// NextPageToken: Continuation token for fetching the next page of
// results.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Domains") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Domains") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListAuthorizedDomainsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListAuthorizedDomainsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListConfigurationsResponse: ListConfigurationsResponse is a list of
// Configuration resources.
type ListConfigurationsResponse struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Items: List of Configurations.
Items []*Configuration `json:"items,omitempty"`
// Kind: The kind of this resource, in this case "ConfigurationList".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Configuration list.
Metadata *ListMeta `json:"metadata,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListConfigurationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListConfigurationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListDomainMappingsResponse: ListDomainMappingsResponse is a list of
// DomainMapping resources.
type ListDomainMappingsResponse struct {
// ApiVersion: The API version for this call such as
// "domains.cloudrun.com/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Items: List of DomainMappings.
Items []*DomainMapping `json:"items,omitempty"`
// Kind: The kind of this resource, in this case "DomainMappingList".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this DomainMapping list.
Metadata *ListMeta `json:"metadata,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListDomainMappingsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListDomainMappingsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for
// Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in
// the request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locations") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListMeta: ListMeta describes metadata that synthetic resources must
// have, including
// lists and various status objects. A resource may have only one
// of
// {ObjectMeta, ListMeta}.
type ListMeta struct {
// Continue: continue may be set if the user set a limit on the number
// of items
// returned, and indicates that the server has more data available. The
// value
// is opaque and may be used to issue another request to the endpoint
// that
// served this list to retrieve the next set of available objects.
// Continuing
// a list may not be possible if the server configuration has changed or
// more
// than a few minutes have passed. The resourceVersion field returned
// when
// using this continue value will be identical to the value in the
// first
// response.
Continue string `json:"continue,omitempty"`
// ResourceVersion: String that identifies the server's internal version
// of this object that
// can be used by clients to determine when objects have changed. Value
// must
// be treated as opaque by clients and passed unmodified back to the
// server.
// Populated by the system.
// Read-only.
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#concurrency-control-and-consistency
// +optional
ResourceVersion string `json:"resourceVersion,omitempty"`
// SelfLink: SelfLink is a URL representing this object.
// Populated by the system.
// Read-only.
// +optional
SelfLink string `json:"selfLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "Continue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Continue") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListMeta) MarshalJSON() ([]byte, error) {
type NoMethod ListMeta
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListRevisionsResponse: ListRevisionsResponse is a list of Revision
// resources.
type ListRevisionsResponse struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Items: List of Revisions.
Items []*Revision `json:"items,omitempty"`
// Kind: The kind of this resource, in this case "RevisionList".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this revision list.
Metadata *ListMeta `json:"metadata,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListRevisionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListRevisionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListRoutesResponse: ListRoutesResponse is a list of Route resources.
type ListRoutesResponse struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Items: List of Routes.
Items []*Route `json:"items,omitempty"`
// Kind: The kind of this resource, in this case always "RouteList".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Route list.
Metadata *ListMeta `json:"metadata,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListRoutesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListRoutesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListServicesResponse: A list of Service resources.
type ListServicesResponse struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Items: List of Services.
Items []*Service `json:"items,omitempty"`
// Kind: The kind of this resource, in this case "ServiceList".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Service list.
Metadata *ListMeta `json:"metadata,omitempty"`
// Unreachable: Locations that could not be reached.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListServicesResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListServicesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LocalObjectReference: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// LocalObjectReference contains enough information to let you locate
// the
// referenced object inside the same namespace.
type LocalObjectReference struct {
// Name: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Name of the referent.
// More
// info:
// https://kubernetes.io/docs/concepts/overview/working-with-object
// s/names/#names
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LocalObjectReference) MarshalJSON() ([]byte, error) {
type NoMethod LocalObjectReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents Google Cloud Platform location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby
// city name.
// For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
//
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: The canonical id for this location. For example:
// "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Service-specific metadata. For example the available
// capacity at the given
// location.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Resource name for the location, which may vary between
// implementations.
// For example: "projects/example-project/locations/us-east1"
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ObjectMeta: k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta is
// metadata that all
// persisted resources must have, which includes all objects users must
// create.
type ObjectMeta struct {
// Annotations: (Optional)
//
// Annotations is an unstructured key value map stored with a resource
// that
// may be set by external tools to store and retrieve arbitrary
// metadata. They
// are not queryable and should be preserved when modifying objects.
// More
// info: http://kubernetes.io/docs/user-guide/annotations
Annotations map[string]string `json:"annotations,omitempty"`
// ClusterName: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The name of the cluster which the object belongs to.
// This is used to distinguish resources with same name and namespace
// in
// different clusters. This field is not set anywhere right now and
// apiserver
// is going to ignore it if set in create or update request.
ClusterName string `json:"clusterName,omitempty"`
// CreationTimestamp: (Optional)
//
// CreationTimestamp is a timestamp representing the server time when
// this
// object was created. It is not guaranteed to be set in happens-before
// order
// across separate operations. Clients may not set this value. It
// is
// represented in RFC3339 form and is in UTC.
//
// Populated by the system.
// Read-only.
// Null for lists.
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#metadata
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// DeletionGracePeriodSeconds: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Number of seconds allowed for this object to gracefully terminate
// before
// it will be removed from the system. Only set when deletionTimestamp
// is also
// set. May only be shortened. Read-only.
DeletionGracePeriodSeconds int64 `json:"deletionGracePeriodSeconds,omitempty"`
// DeletionTimestamp: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// DeletionTimestamp is RFC 3339 date and time at which this resource
// will be
// deleted. This field is set by the server when a graceful deletion
// is
// requested by the user, and is not directly settable by a client.
// The
// resource is expected to be deleted (no longer visible from resource
// lists,
// and not reachable by name) after the time in this field, once
// the
// finalizers list is empty. As long as the finalizers list contains
// items,
// deletion is blocked. Once the deletionTimestamp is set, this value
// may not
// be unset or be set further into the future, although it may be
// shortened or
// the resource may be deleted prior to this time. For example, a user
// may
// request that a pod is deleted in 30 seconds. The Kubelet will react
// by
// sending a graceful termination signal to the containers in the pod.
// After
// that 30 seconds, the Kubelet will send a hard termination signal
// (SIGKILL)
// to the container and after cleanup, remove the pod from the API. In
// the
// presence of network partitions, this object may still exist after
// this
// timestamp, until an administrator or automated process can determine
// the
// resource is fully terminated.
// If not set, graceful deletion of the object has not been
// requested.
//
// Populated by the system when a graceful deletion is
// requested.
// Read-only.
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#metadata
DeletionTimestamp string `json:"deletionTimestamp,omitempty"`
// Finalizers: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Must be empty before the object is deleted from the registry. Each
// entry
// is an identifier for the responsible component that will remove the
// entry
// from the list. If the deletionTimestamp of the object is non-nil,
// entries
// in this list can only be removed.
// +patchStrategy=merge
Finalizers []string `json:"finalizers,omitempty"`
// GenerateName: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// GenerateName is an optional prefix, used by the server, to generate
// a
// unique name ONLY IF the Name field has not been provided. If this
// field is
// used, the name returned to the client will be different than the
// name
// passed. This value will also be combined with a unique suffix. The
// provided
// value has the same validation rules as the Name field, and may be
// truncated
// by the length of the suffix required to make the value unique on
// the
// server.
//
// If this field is specified and the generated name exists, the server
// will
// NOT return a 409 - instead, it will either return 201 Created or 500
// with
// Reason ServerTimeout indicating a unique name could not be found in
// the
// time allotted, and the client should retry (optionally after the
// time
// indicated in the Retry-After header).
//
// Applied only if Name is not specified.
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#idempotency
// string generateName = 2;
GenerateName string `json:"generateName,omitempty"`
// Generation: (Optional)
//
// A sequence number representing a specific generation of the desired
// state.
// Populated by the system. Read-only.
Generation int64 `json:"generation,omitempty"`
// Labels: (Optional)
//
// Map of string keys and values that can be used to organize and
// categorize
// (scope and select) objects. May match selectors of replication
// controllers
// and routes.
// More info: http://kubernetes.io/docs/user-guide/labels
Labels map[string]string `json:"labels,omitempty"`
// Name: Name must be unique within a namespace, within a Cloud Run
// region.
// Is required when creating
// resources, although some resources may allow a client to request
// the
// generation of an appropriate name automatically. Name is primarily
// intended
// for creation idempotence and configuration definition. Cannot be
// updated.
// More info:
// http://kubernetes.io/docs/user-guide/identifiers#names
// +optional
Name string `json:"name,omitempty"`
// Namespace: Namespace defines the space within each name must be
// unique, within a
// Cloud Run region. In Cloud Run the namespace must be equal to either
// the
// project ID or project number.
Namespace string `json:"namespace,omitempty"`
// OwnerReferences: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// List of objects that own this object. If ALL objects in the list
// have
// been deleted, this object will be garbage collected.
OwnerReferences []*OwnerReference `json:"ownerReferences,omitempty"`
// ResourceVersion: (Optional)
//
// An opaque value that represents the internal version of this object
// that
// can be used by clients to determine when objects have changed. May be
// used
// for optimistic concurrency, change detection, and the watch operation
// on a
// resource or set of resources. Clients must treat these values as
// opaque and
// passed unmodified back to the server. They may only be valid for
// a
// particular resource or set of resources.
//
// Populated by the system.
// Read-only.
// Value must be treated as opaque by clients and .
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#concurrency-control-and-consistency
ResourceVersion string `json:"resourceVersion,omitempty"`
// SelfLink: (Optional)
//
// SelfLink is a URL representing this object.
// Populated by the system.
// Read-only.
// string selfLink = 4;
SelfLink string `json:"selfLink,omitempty"`
// Uid: (Optional)
//
// UID is the unique in time and space value for this object. It is
// typically
// generated by the server on successful creation of a resource and is
// not
// allowed to change on PUT operations.
//
// Populated by the system.
// Read-only.
// More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Uid string `json:"uid,omitempty"`
// ForceSendFields is a list of field names (e.g. "Annotations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Annotations") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ObjectMeta) MarshalJSON() ([]byte, error) {
type NoMethod ObjectMeta
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OwnerReference: OwnerReference contains enough information to let you
// identify an owning
// object. Currently, an owning object must be in the same namespace, so
// there
// is no namespace field.
type OwnerReference struct {
// ApiVersion: API version of the referent.
ApiVersion string `json:"apiVersion,omitempty"`
// BlockOwnerDeletion: If true, AND if the owner has the
// "foregroundDeletion" finalizer, then
// the owner cannot be deleted from the key-value store until
// this
// reference is removed.
// Defaults to false.
// To set this field, a user needs "delete" permission of the
// owner,
// otherwise 422 (Unprocessable Entity) will be returned.
// +optional
BlockOwnerDeletion bool `json:"blockOwnerDeletion,omitempty"`
// Controller: If true, this reference points to the managing
// controller.
// +optional
Controller bool `json:"controller,omitempty"`
// Kind: Kind of the referent.
// More
// info:
// https://git.k8s.io/community/contributors/devel/api-conventions.
// md#types-kinds
Kind string `json:"kind,omitempty"`
// Name: Name of the referent.
// More info: http://kubernetes.io/docs/user-guide/identifiers#names
Name string `json:"name,omitempty"`
// Uid: UID of the referent.
// More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Uid string `json:"uid,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *OwnerReference) MarshalJSON() ([]byte, error) {
type NoMethod OwnerReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Policy: An Identity and Access Management (IAM) policy, which
// specifies access
// controls for Google Cloud resources.
//
//
// A `Policy` is a collection of `bindings`. A `binding` binds one or
// more
// `members` to a single `role`. Members can be user accounts, service
// accounts,
// Google groups, and domains (such as G Suite). A `role` is a named
// list of
// permissions; each `role` can be an IAM predefined role or a
// user-created
// custom role.
//
// Optionally, a `binding` can specify a `condition`, which is a
// logical
// expression that allows access to a resource only if the expression
// evaluates
// to `true`. A condition can add constraints based on attributes of
// the
// request, the resource, or both.
//
// **JSON example:**
//
// {
// "bindings": [
// {
// "role": "roles/resourcemanager.organizationAdmin",
// "members": [
// "user:mike@example.com",
// "group:admins@example.com",
// "domain:google.com",
//
// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
// ]
// },
// {
// "role": "roles/resourcemanager.organizationViewer",
// "members": ["user:eve@example.com"],
// "condition": {
// "title": "expirable access",
// "description": "Does not grant access after Sep 2020",
// "expression": "request.time <
// timestamp('2020-10-01T00:00:00.000Z')",
// }
// }
// ],
// "etag": "BwWWja0YfJA=",
// "version": 3
// }
//
// **YAML example:**
//
// bindings:
// - members:
// - user:mike@example.com
// - group:admins@example.com
// - domain:google.com
// - serviceAccount:my-project-id@appspot.gserviceaccount.com
// role: roles/resourcemanager.organizationAdmin
// - members:
// - user:eve@example.com
// role: roles/resourcemanager.organizationViewer
// condition:
// title: expirable access
// description: Does not grant access after Sep 2020
// expression: request.time <
// timestamp('2020-10-01T00:00:00.000Z')
// - etag: BwWWja0YfJA=
// - version: 3
//
// For a description of IAM and its features, see the
// [IAM documentation](https://cloud.google.com/iam/docs/).
type Policy struct {
// AuditConfigs: Specifies cloud audit logging configuration for this
// policy.
AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
// Bindings: Associates a list of `members` to a `role`. Optionally, may
// specify a
// `condition` that determines how and when the `bindings` are applied.
// Each
// of the `bindings` must contain at least one member.
Bindings []*Binding `json:"bindings,omitempty"`
// Etag: `etag` is used for optimistic concurrency control as a way to
// help
// prevent simultaneous updates of a policy from overwriting each
// other.
// It is strongly suggested that systems make use of the `etag` in
// the
// read-modify-write cycle to perform policy updates in order to avoid
// race
// conditions: An `etag` is returned in the response to `getIamPolicy`,
// and
// systems are expected to put that etag in the request to
// `setIamPolicy` to
// ensure that their change will be applied to the same version of the
// policy.
//
// **Important:** If you use IAM Conditions, you must include the `etag`
// field
// whenever you call `setIamPolicy`. If you omit this field, then IAM
// allows
// you to overwrite a version `3` policy with a version `1` policy, and
// all of
// the conditions in the version `3` policy are lost.
Etag string `json:"etag,omitempty"`
// Version: Specifies the format of the policy.
//
// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
// value
// are rejected.
//
// Any operation that affects conditional role bindings must specify
// version
// `3`. This requirement applies to the following operations:
//
// * Getting a policy that includes a conditional role binding
// * Adding a conditional role binding to a policy
// * Changing a conditional role binding in a policy
// * Removing any role binding, with or without a condition, from a
// policy
// that includes conditions
//
// **Important:** If you use IAM Conditions, you must include the `etag`
// field
// whenever you call `setIamPolicy`. If you omit this field, then IAM
// allows
// you to overwrite a version `3` policy with a version `1` policy, and
// all of
// the conditions in the version `3` policy are lost.
//
// If a policy does not include any conditions, operations on that
// policy may
// specify any valid version or leave the field unset.
Version int64 `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuditConfigs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AuditConfigs") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Policy) MarshalJSON() ([]byte, error) {
type NoMethod Policy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Probe: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Probe describes a health check to be performed against a container
// to
// determine whether it is alive or ready to receive traffic.
type Probe struct {
// FailureThreshold: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Minimum consecutive failures for the probe to be considered failed
// after
// having succeeded. Defaults to 3. Minimum value is 1.
FailureThreshold int64 `json:"failureThreshold,omitempty"`
// Handler: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// The action taken to determine the health of a container
Handler *Handler `json:"handler,omitempty"`
// InitialDelaySeconds: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Number of seconds after the container has started before liveness
// probes
// are initiated. More
// info:
// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle
// #container-probes
InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty"`
// PeriodSeconds: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// How often (in seconds) to perform the probe.
// Default to 10 seconds. Minimum value is 1.
PeriodSeconds int64 `json:"periodSeconds,omitempty"`
// SuccessThreshold: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Minimum consecutive successes for the probe to be considered
// successful
// after having failed. Defaults to 1. Must be 1 for liveness. Minimum
// value
// is 1.
SuccessThreshold int64 `json:"successThreshold,omitempty"`
// TimeoutSeconds: (Optional)
//
// Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// Number of seconds after which the probe times out.
// Defaults to 1 second. Minimum value is 1.
// More
// info:
// https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle
// #container-probes
TimeoutSeconds int64 `json:"timeoutSeconds,omitempty"`
// ForceSendFields is a list of field names (e.g. "FailureThreshold") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FailureThreshold") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Probe) MarshalJSON() ([]byte, error) {
type NoMethod Probe
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourceRecord: A DNS resource record.
type ResourceRecord struct {
// Name: Relative name of the object affected by this record. Only
// applicable for
// `CNAME` records. Example: 'www'.
Name string `json:"name,omitempty"`
// Rrdata: Data for this record. Values vary by record type, as defined
// in RFC 1035
// (section 5) and RFC 1034 (section 3.6.1).
Rrdata string `json:"rrdata,omitempty"`
// Type: Resource record type. Example: `AAAA`.
//
// Possible values:
// "RECORD_TYPE_UNSPECIFIED" - An unknown resource record.
// "A" - An A resource record. Data is an IPv4 address.
// "AAAA" - An AAAA resource record. Data is an IPv6 address.
// "CNAME" - A CNAME resource record. Data is a domain name to be
// aliased.
Type string `json:"type,omitempty"`
// ForceSendFields is a list of field names (e.g. "Name") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Name") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ResourceRecord) MarshalJSON() ([]byte, error) {
type NoMethod ResourceRecord
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourceRequirements: ResourceRequirements describes the compute
// resource requirements.
type ResourceRequirements struct {
// Limits: (Optional)
//
// Cloud Run fully managed: Only memory and CPU are supported. Note: The
// only
// supported value for CPU is '1'.
//
// Cloud Run for Anthos: supported
//
// Limits describes the maximum amount of compute resources allowed.
// The values of the map is string form of the 'quantity' k8s
// type:
// https://github.com/kubernetes/kubernetes/blob/master/staging/src
// /k8s.io/apimachinery/pkg/api/resource/quantity.go
Limits map[string]string `json:"limits,omitempty"`
// Requests: (Optional)
//
// Cloud Run fully managed: Only memory and CPU are supported. Note: The
// only
// supported value for CPU is '1'.
//
// Cloud Run for Anthos: supported
//
// Requests describes the minimum amount of compute resources
// required.
// If Requests is omitted for a container, it defaults to Limits if that
// is
// explicitly specified, otherwise to an implementation-defined
// value.
// The values of the map is string form of the 'quantity' k8s
// type:
// https://github.com/kubernetes/kubernetes/blob/master/staging/src
// /k8s.io/apimachinery/pkg/api/resource/quantity.go
Requests map[string]string `json:"requests,omitempty"`
// ForceSendFields is a list of field names (e.g. "Limits") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Limits") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ResourceRequirements) MarshalJSON() ([]byte, error) {
type NoMethod ResourceRequirements
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Revision: Revision is an immutable snapshot of code and
// configuration. A revision
// references a container image. Revisions are created by updates to
// a
// Configuration.
//
// See
// also:
// https://github.com/knative/serving/blob/master/docs/spec/overvie
// w.md#revision
type Revision struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Kind: The kind of this resource, in this case "Revision".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Revision, including name,
// namespace, labels,
// and annotations.
Metadata *ObjectMeta `json:"metadata,omitempty"`
// Spec: Spec holds the desired state of the Revision (from the client).
Spec *RevisionSpec `json:"spec,omitempty"`
// Status: Status communicates the observed state of the Revision (from
// the
// controller).
Status *RevisionStatus `json:"status,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Revision) MarshalJSON() ([]byte, error) {
type NoMethod Revision
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevisionSpec: RevisionSpec holds the desired state of the Revision
// (from the client).
type RevisionSpec struct {
// ContainerConcurrency: (Optional)
//
// ContainerConcurrency specifies the maximum allowed in-flight
// (concurrent)
// requests per container instance of the Revision.
//
// Cloud Run fully managed: supported, defaults to 80
//
// Cloud Run for Anthos: supported, defaults to 0, which means
// concurrency
// to the application is not limited, and the system decides the
// target concurrency for the autoscaler.
ContainerConcurrency int64 `json:"containerConcurrency,omitempty"`
// Containers: Containers holds the single container that defines the
// unit of execution
// for this Revision. In the context of a Revision, we disallow a number
// of
// fields on this Container, including: name and lifecycle.
// In Cloud Run, only a single container may be provided.
// The runtime contract is documented
// here:
// https://github.com/knative/serving/blob/master/docs/runtime-cont
// ract.md
Containers []*Container `json:"containers,omitempty"`
// ServiceAccountName: Email address of the IAM service account
// associated with the revision
// of the service. The service account represents the identity of
// the
// running revision, and determines what permissions the revision has.
// If
// not provided, the revision will use the project's default service
// account.
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// TimeoutSeconds: TimeoutSeconds holds the max duration the instance is
// allowed for
// responding to a request.
// Not currently used by Cloud Run.
TimeoutSeconds int64 `json:"timeoutSeconds,omitempty"`
Volumes []*Volume `json:"volumes,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "ContainerConcurrency") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ContainerConcurrency") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *RevisionSpec) MarshalJSON() ([]byte, error) {
type NoMethod RevisionSpec
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevisionStatus: RevisionStatus communicates the observed state of the
// Revision (from the
// controller).
type RevisionStatus struct {
// Conditions: Conditions communicates information about
// ongoing/complete
// reconciliation processes that bring the "spec" inline with the
// observed
// state of the world.
//
// As a Revision is being prepared, it will incrementally
// update conditions. Revision-specific conditions include:
// * "ResourcesAvailable": True when underlying resources have been
// provisioned.
// * "ContainerHealthy": True when the Revision readiness check
// completes.
// * "Active": True when the Revision may receive traffic.
Conditions []*GoogleCloudRunV1Condition `json:"conditions,omitempty"`
// ImageDigest: ImageDigest holds the resolved digest for the image
// specified
// within .Spec.Container.Image. The digest is resolved during the
// creation
// of Revision. This field holds the digest value regardless of
// whether
// a tag or digest was originally specified in the Container object.
ImageDigest string `json:"imageDigest,omitempty"`
// LogUrl: Specifies the generated logging url for this particular
// revision
// based on the revision url template specified in the controller's
// config.
// +optional
LogUrl string `json:"logUrl,omitempty"`
// ObservedGeneration: ObservedGeneration is the 'Generation' of the
// Revision that
// was last processed by the controller.
//
// Clients polling for completed reconciliation should poll
// until
// observedGeneration = metadata.generation, and the Ready condition's
// status
// is True or False.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// ServiceName: Not currently used by Cloud Run.
ServiceName string `json:"serviceName,omitempty"`
// ForceSendFields is a list of field names (e.g. "Conditions") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Conditions") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevisionStatus) MarshalJSON() ([]byte, error) {
type NoMethod RevisionStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RevisionTemplate: RevisionTemplateSpec describes the data a revision
// should have when created
// from a template. Based
// on:
// https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L
// 3179-L3190
type RevisionTemplate struct {
// Metadata: Optional metadata for this Revision, including labels and
// annotations. Name
// will be generated by the Configuration.
// To set minimum instances for this revision, use
// the
// "autoscaling.knative.dev/minScale" annotation key.
// To set maximum instances for this revision, use
// the
// "autoscaling.knative.dev/maxScale" annotation key.
// To set Cloud SQL connections for the revision, use
// the
// "run.googleapis.com/cloudsql-instances" annotation key.
Metadata *ObjectMeta `json:"metadata,omitempty"`
// Spec: RevisionSpec holds the desired state of the Revision (from the
// client).
Spec *RevisionSpec `json:"spec,omitempty"`
// ForceSendFields is a list of field names (e.g. "Metadata") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Metadata") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RevisionTemplate) MarshalJSON() ([]byte, error) {
type NoMethod RevisionTemplate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Route: Route is responsible for configuring ingress over a collection
// of Revisions.
// Some of the Revisions a Route distributes traffic over may be
// specified by
// referencing the Configuration responsible for creating them; in these
// cases
// the Route is additionally responsible for monitoring the
// Configuration for
// "latest ready" revision changes, and smoothly rolling out latest
// revisions.
// See
// also:
// https://github.com/knative/serving/blob/master/docs/spec/overvie
// w.md#route
//
// Cloud Run currently supports referencing a single Configuration
// to
// automatically deploy the "latest ready" Revision from that
// Configuration.
type Route struct {
// ApiVersion: The API version for this call such as
// "serving.knative.dev/v1".
ApiVersion string `json:"apiVersion,omitempty"`
// Kind: The kind of this resource, in this case always "Route".
Kind string `json:"kind,omitempty"`
// Metadata: Metadata associated with this Route, including name,
// namespace, labels,
// and annotations.
Metadata *ObjectMeta `json:"metadata,omitempty"`
// Spec: Spec holds the desired state of the Route (from the client).
Spec *RouteSpec `json:"spec,omitempty"`
// Status: Status communicates the observed state of the Route (from the
// controller).
Status *RouteStatus `json:"status,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiVersion") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiVersion") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Route) MarshalJSON() ([]byte, error) {
type NoMethod Route
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RouteSpec: RouteSpec holds the desired state of the Route (from the
// client).
type RouteSpec struct {
// Traffic: Traffic specifies how to distribute traffic over a
// collection of Knative
// Revisions and Configurations.
// Cloud Run currently supports a single configurationName.
Traffic []*TrafficTarget `json:"traffic,omitempty"`
// ForceSendFields is a list of field names (e.g. "Traffic") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Traffic") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RouteSpec) MarshalJSON() ([]byte, error) {
type NoMethod RouteSpec
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RouteStatus: RouteStatus communicates the observed state of the Route
// (from the
// controller).
type RouteStatus struct {
// Address: Similar to url, information on where the service is
// available on HTTP.
Address *Addressable `json:"address,omitempty"`
// Conditions: Conditions communicates information about
// ongoing/complete
// reconciliation processes that bring the "spec" inline with the
// observed
// state of the world.
Conditions []*GoogleCloudRunV1Condition `json:"conditions,omitempty"`
// ObservedGeneration: ObservedGeneration is the 'Generation' of the
// Route that
// was last processed by the controller.
//
// Clients polling for completed reconciliation should poll
// until
// observedGeneration = metadata.generation and the Ready condition's
// status
// is True or False.
//
// Note that providing a trafficTarget that only has a configurationName
// will
// result in a Route that does not increment either its
// metadata.generation or
// its observedGeneration, as new "latest ready" revisions from
// the
// Configuration are processed without an update to the Route's spec.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Traffic: Traffic holds the configured traffic distribution.
// These entries will always contain RevisionName references.
// When ConfigurationName appears in the spec, this will hold
// the
// LatestReadyRevisionName that we last observed.
Traffic []*TrafficTarget `json:"traffic,omitempty"`
// Url: URL holds the url that will distribute traffic over the provided
// traffic
// targets. It generally has the
// form:
// https://{route-hash}-{project-hash}-{cluster-level-suffix}.a.run
// .app
Url string `json:"url,omitempty"`
// ForceSendFields is a list of field names (e.g. "Address") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Address") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RouteStatus) MarshalJSON() ([]byte, error) {
type NoMethod RouteStatus
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// SecretEnvSource: Cloud Run fully managed: not supported
//
// Cloud Run for Anthos: supported
//
// SecretEnvSource selects a Secret to populate the
// environment
// variables with.
//