// Copyright 2024 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 cloudfunctions provides access to the Cloud Functions API. // // For product documentation, see: https://cloud.google.com/functions // // # Library status // // These client libraries are officially supported by Google. However, this // library is considered complete and is in maintenance mode. This means // that we will address critical bugs and security issues but will not add // any new features. // // When possible, we recommend using our newer // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) // that are still actively being worked and iterated on. // // # Creating a client // // Usage example: // // import "google.golang.org/api/cloudfunctions/v1" // ... // ctx := context.Background() // cloudfunctionsService, err := cloudfunctions.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 [google.golang.org/api/option.WithAPIKey]: // // cloudfunctionsService, err := cloudfunctions.NewService(ctx, option.WithAPIKey("AIza...")) // // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth // flow, use [google.golang.org/api/option.WithTokenSource]: // // config := &oauth2.Config{...} // // ... // token, err := config.Exchange(ctx, ...) // cloudfunctionsService, err := cloudfunctions.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See [google.golang.org/api/option.ClientOption] for details on options. package cloudfunctions // import "google.golang.org/api/cloudfunctions/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" googleapi "google.golang.org/api/googleapi" internal "google.golang.org/api/internal" gensupport "google.golang.org/api/internal/gensupport" option "google.golang.org/api/option" internaloption "google.golang.org/api/option/internaloption" 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 var _ = internaloption.WithDefaultEndpoint var _ = internal.Version const apiId = "cloudfunctions:v1" const apiName = "cloudfunctions" const apiVersion = "v1" const basePath = "https://cloudfunctions.googleapis.com/" const basePathTemplate = "https://cloudfunctions.UNIVERSE_DOMAIN/" const mtlsBasePath = "https://cloudfunctions.mtls.googleapis.com/" // OAuth2 scopes used by this API. const ( // See, edit, configure, and delete your Google Cloud data and see the email // address for your Google Account. CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := internaloption.WithDefaultScopes( "https://www.googleapis.com/auth/cloud-platform", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) opts = append(opts, internaloption.EnableNewAuthLibrary()) 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 Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Operations = NewOperationsService(s) s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Operations *OperationsService Projects *ProjectsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewOperationsService(s *Service) *OperationsService { rs := &OperationsService{s: s} return rs } type OperationsService struct { s *Service } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Locations = NewProjectsLocationsService(s) return rs } type ProjectsService struct { s *Service Locations *ProjectsLocationsService } func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { rs := &ProjectsLocationsService{s: s} rs.Functions = NewProjectsLocationsFunctionsService(s) return rs } type ProjectsLocationsService struct { s *Service Functions *ProjectsLocationsFunctionsService } func NewProjectsLocationsFunctionsService(s *Service) *ProjectsLocationsFunctionsService { rs := &ProjectsLocationsFunctionsService{s: s} return rs } type ProjectsLocationsFunctionsService struct { s *Service } // 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AuditConfig) MarshalJSON() ([]byte, error) { type NoMethod AuditConfig return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { type NoMethod AuditLogConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // AutomaticUpdatePolicy: Security patches are applied automatically to the // runtime without requiring the function to be redeployed. type AutomaticUpdatePolicy struct { } // Binding: Associates `members`, or principals, with a `role`. type Binding struct { // Condition: The condition that is associated with this binding. If the // condition evaluates to `true`, then this binding applies to the current // request. If the condition evaluates to `false`, then this binding does not // apply to the current request. However, a different role binding might grant // the same role to one or more of the principals in this binding. To learn // which resources support conditions in their IAM policies, see the IAM // documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). Condition *Expr `json:"condition,omitempty"` // Members: Specifies the principals requesting access for a Google Cloud // 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. Does not include identities that come from external identity // providers (IdPs) through identity federation. * `user:{emailid}`: An email // address that represents a specific Google account. For example, // `alice@example.com` . * `serviceAccount:{emailid}`: An email address that // represents a Google service account. For example, // `my-other-app@appspot.gserviceaccount.com`. * // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An // identifier for a Kubernetes service account // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * // `group:{emailid}`: An email address that represents a Google group. For // example, `admins@example.com`. * `domain:{domain}`: The G Suite domain // (primary) that represents all the users of that domain. For example, // `google.com` or `example.com`. * // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub // ject/{subject_attribute_value}`: A single identity in a workforce identity // pool. * // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ // group/{group_id}`: All workforce identities in a group. * // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ // attribute.{attribute_name}/{attribute_value}`: All workforce identities with // a specific attribute value. * // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ // *`: All identities in a workforce identity pool. * // `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo // rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single // identity in a workload identity pool. * // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global // /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool // group. * // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global // /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} // `: All identities in a workload identity pool with a certain attribute. * // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global // /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity // pool. * `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. * // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool // _id}/subject/{subject_attribute_value}`: Deleted single identity in a // workforce identity pool. For example, // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po // ol-id/subject/my-subject-attribute-value`. Members []string `json:"members,omitempty"` // Role: Role that is assigned to the list of `members`, or principals. For // example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview // of the IAM roles and permissions, see the IAM documentation // (https://cloud.google.com/iam/docs/roles-overview). For a list of the // available pre-defined roles, see here // (https://cloud.google.com/iam/docs/understanding-roles). 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Binding) MarshalJSON() ([]byte, error) { type NoMethod Binding return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CallFunctionRequest: Request for the `CallFunction` method. type CallFunctionRequest struct { // Data: Required. Input to be passed to the function. Data string `json:"data,omitempty"` // ForceSendFields is a list of field names (e.g. "Data") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Data") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CallFunctionRequest) MarshalJSON() ([]byte, error) { type NoMethod CallFunctionRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CallFunctionResponse: Response of `CallFunction` method. type CallFunctionResponse struct { // Error: Either system or user-function generated error. Set if execution was // not successful. Error string `json:"error,omitempty"` // ExecutionId: Execution id of function invocation. ExecutionId string `json:"executionId,omitempty"` // Result: Result populated for successful execution of synchronous function. // Will not be populated if function does not return a result through context. Result string `json:"result,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Error") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Error") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CallFunctionResponse) MarshalJSON() ([]byte, error) { type NoMethod CallFunctionResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // CloudFunction: Describes a Cloud Function that contains user computation // executed in response to an event. It encapsulate function and triggers // configurations. type CloudFunction struct { AutomaticUpdatePolicy *AutomaticUpdatePolicy `json:"automaticUpdatePolicy,omitempty"` // AvailableMemoryMb: The amount of memory in MB available for a function. // Defaults to 256MB. AvailableMemoryMb int64 `json:"availableMemoryMb,omitempty"` // BuildEnvironmentVariables: Build environment variables that shall be // available during build time. BuildEnvironmentVariables map[string]string `json:"buildEnvironmentVariables,omitempty"` // BuildId: Output only. The Cloud Build ID of the latest successful deployment // of the function. BuildId string `json:"buildId,omitempty"` // BuildName: Output only. The Cloud Build Name of the function deployment. // `projects//locations//builds/`. BuildName string `json:"buildName,omitempty"` // BuildServiceAccount: Optional. A service account the user provides for use // with Cloud Build. BuildServiceAccount string `json:"buildServiceAccount,omitempty"` // BuildWorkerPool: Name of the Cloud Build Custom Worker Pool that should be // used to build the function. The format of this field is // `projects/{project}/locations/{region}/workerPools/{workerPool}` where // `{project}` and `{region}` are the project id and region respectively where // the worker pool is defined and `{workerPool}` is the short name of the // worker pool. If the project id is not the same as the function, then the // Cloud Functions Service Agent // (`service-@gcf-admin-robot.iam.gserviceaccount.com`) must be granted the // role Cloud Build Custom Workers Builder // (`roles/cloudbuild.customworkers.builder`) in the project. BuildWorkerPool string `json:"buildWorkerPool,omitempty"` // Description: User-provided description of a function. Description string `json:"description,omitempty"` // DockerRegistry: Docker Registry to use for this deployment. If unspecified, // it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is // specified, this field should either be left unspecified or set to // `ARTIFACT_REGISTRY`. // // Possible values: // "DOCKER_REGISTRY_UNSPECIFIED" - Unspecified. // "CONTAINER_REGISTRY" - Docker images will be stored in multi-regional // Container Registry repositories named `gcf`. // "ARTIFACT_REGISTRY" - Docker images will be stored in regional Artifact // Registry repositories. By default, GCF will create and use repositories // named `gcf-artifacts` in every region in which a function is deployed. But // the repository to use can also be specified by the user using the // `docker_repository` field. DockerRegistry string `json:"dockerRegistry,omitempty"` // DockerRepository: User-managed repository created in Artifact Registry to // which the function's Docker image will be pushed after it is built by Cloud // Build. May optionally be encrypted with a customer-managed encryption key // (CMEK). If unspecified and `docker_registry` is not explicitly set to // `CONTAINER_REGISTRY`, GCF will create and use a default Artifact Registry // repository named 'gcf-artifacts' in the region. It must match the pattern // `projects/{project}/locations/{location}/repositories/{repository}`. // Cross-project repositories are not supported. Cross-location repositories // are not supported. Repository format must be 'DOCKER'. DockerRepository string `json:"dockerRepository,omitempty"` // EntryPoint: The name of the function (as defined in source code) that will // be executed. Defaults to the resource name suffix (ID of the function), if // not specified. EntryPoint string `json:"entryPoint,omitempty"` // EnvironmentVariables: Environment variables that shall be available during // function execution. EnvironmentVariables map[string]string `json:"environmentVariables,omitempty"` // EventTrigger: A source that fires events in response to a condition in // another service. EventTrigger *EventTrigger `json:"eventTrigger,omitempty"` // HttpsTrigger: An HTTPS endpoint type of source that can be triggered via // URL. HttpsTrigger *HttpsTrigger `json:"httpsTrigger,omitempty"` // IngressSettings: The ingress settings for the function, controlling what // traffic can reach it. // // Possible values: // "INGRESS_SETTINGS_UNSPECIFIED" - Unspecified. // "ALLOW_ALL" - Allow HTTP traffic from public and private sources. // "ALLOW_INTERNAL_ONLY" - Allow HTTP traffic from only private VPC sources. // "ALLOW_INTERNAL_AND_GCLB" - Allow HTTP traffic from private VPC sources // and through GCLB. IngressSettings string `json:"ingressSettings,omitempty"` // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to // encrypt/decrypt function resources. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. If specified, you must also provide an artifact registry // repository using the `docker_repository` field that was created with the // same KMS crypto key. The following service accounts need to be granted the // role 'Cloud KMS CryptoKey Encrypter/Decrypter // (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the // Key/KeyRing/Project/Organization (least access preferred). 1. Google Cloud // Functions service account // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) - // Required to protect the function's image. 2. Google Storage service account // (service-{project_number}@gs-project-accounts.iam.gserviceaccount.com) - // Required to protect the function's source code. If this service account does // not exist, deploying a function without a KMS key or retrieving the service // agent name provisions it. For more information, see // https://cloud.google.com/storage/docs/projects#service-agents and // https://cloud.google.com/storage/docs/getting-service-agent#gsutil. Google // Cloud Functions delegates access to service agents to protect function // resources in internal projects that are not accessible by the end user. KmsKeyName string `json:"kmsKeyName,omitempty"` // Labels: Labels associated with this Cloud Function. Labels map[string]string `json:"labels,omitempty"` // MaxInstances: The limit on the maximum number of function instances that may // coexist at a given time. In some cases, such as rapid traffic surges, Cloud // Functions may, for a short period of time, create more instances than the // specified max instances limit. If your function cannot tolerate this // temporary behavior, you may want to factor in a safety margin and set a // lower max instances value than your function can tolerate. See the Max // Instances (https://cloud.google.com/functions/docs/max-instances) Guide for // more details. MaxInstances int64 `json:"maxInstances,omitempty"` // MinInstances: A lower bound for the number function instances that may // coexist at a given time. MinInstances int64 `json:"minInstances,omitempty"` // Name: A user-defined name of the function. Function names must be unique // globally and match pattern `projects/*/locations/*/functions/*` Name string `json:"name,omitempty"` // Network: Deprecated: use vpc_connector Network string `json:"network,omitempty"` OnDeployUpdatePolicy *OnDeployUpdatePolicy `json:"onDeployUpdatePolicy,omitempty"` // Runtime: The runtime in which to run the function. Required when deploying a // new function, optional when updating an existing function. For a complete // list of possible choices, see the `gcloud` command reference // (https://cloud.google.com/sdk/gcloud/reference/functions/deploy#--runtime). Runtime string `json:"runtime,omitempty"` // SecretEnvironmentVariables: Secret environment variables configuration. SecretEnvironmentVariables []*SecretEnvVar `json:"secretEnvironmentVariables,omitempty"` // SecretVolumes: Secret volumes configuration. SecretVolumes []*SecretVolume `json:"secretVolumes,omitempty"` // ServiceAccountEmail: The email of the function's service account. If empty, // defaults to `{project_id}@appspot.gserviceaccount.com`. ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` // SourceArchiveUrl: The Google Cloud Storage URL, starting with `gs://`, // pointing to the zip archive which contains the function. SourceArchiveUrl string `json:"sourceArchiveUrl,omitempty"` // SourceRepository: **Beta Feature** The source repository where a function is // hosted. SourceRepository *SourceRepository `json:"sourceRepository,omitempty"` // SourceToken: Input only. An identifier for Firebase function sources. // Disclaimer: This field is only supported for Firebase function deployments. SourceToken string `json:"sourceToken,omitempty"` // SourceUploadUrl: The Google Cloud Storage signed URL used for source // uploading, generated by calling // [google.cloud.functions.v1.GenerateUploadUrl]. The signature is validated on // write methods (Create, Update) The signature is stripped from the Function // object on read methods (Get, List) SourceUploadUrl string `json:"sourceUploadUrl,omitempty"` // Status: Output only. Status of the function deployment. // // Possible values: // "CLOUD_FUNCTION_STATUS_UNSPECIFIED" - Not specified. Invalid state. // "ACTIVE" - Function has been successfully deployed and is serving. // "OFFLINE" - Function deployment failed and the function isn’t serving. // "DEPLOY_IN_PROGRESS" - Function is being created or updated. // "DELETE_IN_PROGRESS" - Function is being deleted. // "UNKNOWN" - Function deployment failed and the function serving state is // undefined. The function should be updated or deleted to move it out of this // state. Status string `json:"status,omitempty"` // Timeout: The function execution timeout. Execution is considered failed and // can be terminated if the function is not completed at the end of the timeout // period. Defaults to 60 seconds. Timeout string `json:"timeout,omitempty"` // UpdateTime: Output only. The last update timestamp of a Cloud Function. UpdateTime string `json:"updateTime,omitempty"` // VersionId: Output only. The version identifier of the Cloud Function. Each // deployment attempt results in a new version of a function being created. VersionId int64 `json:"versionId,omitempty,string"` // VpcConnector: The VPC Network Connector that this cloud function can connect // to. It can be either the fully-qualified URI, or the short name of the // network connector resource. The format of this field is // `projects/*/locations/*/connectors/*` This field is mutually exclusive with // `network` field and will eventually replace it. See the VPC documentation // (https://cloud.google.com/compute/docs/vpc) for more information on // connecting Cloud projects. VpcConnector string `json:"vpcConnector,omitempty"` // VpcConnectorEgressSettings: The egress settings for the connector, // controlling what traffic is diverted through it. // // Possible values: // "VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED" - Unspecified. // "PRIVATE_RANGES_ONLY" - Use the VPC Access Connector only for private IP // space from RFC1918. // "ALL_TRAFFIC" - Force the use of VPC Access Connector for all egress // traffic from the function. VpcConnectorEgressSettings string `json:"vpcConnectorEgressSettings,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AutomaticUpdatePolicy") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "AutomaticUpdatePolicy") to // include in API requests with the JSON null value. By default, fields with // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *CloudFunction) MarshalJSON() ([]byte, error) { type NoMethod CloudFunction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // EventTrigger: Describes EventTrigger, used to request events be sent from // another service. type EventTrigger struct { // EventType: Required. The type of event to observe. For example: // `providers/cloud.storage/eventTypes/object.change` and // `providers/cloud.pubsub/eventTypes/topic.publish`. Event types match pattern // `providers/*/eventTypes/*.*`. The pattern contains: 1. namespace: For // example, `cloud.storage` and `google.firebase.analytics`. 2. resource type: // The type of resource on which event occurs. For example, the Google Cloud // Storage API includes the type `object`. 3. action: The action that generates // the event. For example, action for a Google Cloud Storage Object is // 'change'. These parts are lower case. EventType string `json:"eventType,omitempty"` // FailurePolicy: Specifies policy for failed executions. FailurePolicy *FailurePolicy `json:"failurePolicy,omitempty"` // Resource: Required. The resource(s) from which to observe events, for // example, `projects/_/buckets/myBucket`. Not all syntactically correct values // are accepted by all services. For example: 1. The authorization model must // support it. Google Cloud Functions only allows EventTriggers to be deployed // that observe resources in the same project as the `CloudFunction`. 2. The // resource type must match the pattern expected for an `event_type`. For // example, an `EventTrigger` that has an `event_type` of // "google.pubsub.topic.publish" should have a resource that matches Google // Cloud Pub/Sub topics. Additionally, some services may support short names // when creating an `EventTrigger`. These will always be returned in the // normalized "long" format. See each *service's* documentation for supported // formats. Resource string `json:"resource,omitempty"` // Service: The hostname of the service that should be observed. If no string // is provided, the default service implementing the API will be used. For // example, `storage.googleapis.com` is the default for all event types in the // `google.storage` namespace. Service string `json:"service,omitempty"` // ForceSendFields is a list of field names (e.g. "EventType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "EventType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *EventTrigger) MarshalJSON() ([]byte, error) { type NoMethod EventTrigger return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Expr: Represents a textual expression in the Common Expression Language // (CEL) syntax. CEL is a C-like expression language. The syntax and semantics // of CEL are documented at https://github.com/google/cel-spec. Example // (Comparison): title: "Summary size limit" description: "Determines if a // summary is less than 100 chars" expression: "document.summary.size() < 100" // Example (Equality): title: "Requestor is owner" description: "Determines if // requestor is the document owner" expression: "document.owner == // request.auth.claims.email" Example (Logic): title: "Public documents" // description: "Determine whether the document should be publicly visible" // expression: "document.type != 'private' && document.type != 'internal'" // Example (Data Manipulation): title: "Notification string" description: // "Create a notification string with a timestamp." expression: "'New message // received at ' + string(document.create_time)" The exact variables and // functions that may be referenced within an expression are determined by the // service that evaluates it. See the service documentation for additional // information. type Expr struct { // Description: 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. Expression string `json:"expression,omitempty"` // Location: 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: 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Expr) MarshalJSON() ([]byte, error) { type NoMethod Expr return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // FailurePolicy: Describes the policy in case of function's execution failure. // If empty, then defaults to ignoring failures (i.e. not retrying them). type FailurePolicy struct { // Retry: If specified, then the function will be retried in case of a failure. Retry *Retry `json:"retry,omitempty"` // ForceSendFields is a list of field names (e.g. "Retry") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Retry") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *FailurePolicy) MarshalJSON() ([]byte, error) { type NoMethod FailurePolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenerateDownloadUrlRequest: Request of `GenerateDownloadUrl` method. type GenerateDownloadUrlRequest struct { // VersionId: The optional version of function. If not set, default, current // version is used. VersionId uint64 `json:"versionId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "VersionId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "VersionId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenerateDownloadUrlRequest) MarshalJSON() ([]byte, error) { type NoMethod GenerateDownloadUrlRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenerateDownloadUrlResponse: Response of `GenerateDownloadUrl` method. type GenerateDownloadUrlResponse struct { // DownloadUrl: The generated Google Cloud Storage signed URL that should be // used for function source code download. DownloadUrl string `json:"downloadUrl,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "DownloadUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DownloadUrl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenerateDownloadUrlResponse) MarshalJSON() ([]byte, error) { type NoMethod GenerateDownloadUrlResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenerateUploadUrlRequest: Request of `GenerateSourceUploadUrl` method. type GenerateUploadUrlRequest struct { // KmsKeyName: Resource name of a KMS crypto key (managed by the user) used to // encrypt/decrypt function source code objects in intermediate Cloud Storage // buckets. When you generate an upload url and upload your source code, it // gets copied to an intermediate Cloud Storage bucket. The source code is then // copied to a versioned directory in the sources bucket in the consumer // project during the function deployment. It must match the pattern // `projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{cryp // to_key}`. The Google Cloud Functions service account // (service-{project_number}@gcf-admin-robot.iam.gserviceaccount.com) must be // granted the role 'Cloud KMS CryptoKey Encrypter/Decrypter // (roles/cloudkms.cryptoKeyEncrypterDecrypter)' on the // Key/KeyRing/Project/Organization (least access preferred). GCF will delegate // access to the Google Storage service account in the internal project. KmsKeyName string `json:"kmsKeyName,omitempty"` // ForceSendFields is a list of field names (e.g. "KmsKeyName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "KmsKeyName") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenerateUploadUrlRequest) MarshalJSON() ([]byte, error) { type NoMethod GenerateUploadUrlRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GenerateUploadUrlResponse: Response of `GenerateSourceUploadUrl` method. type GenerateUploadUrlResponse struct { // UploadUrl: The generated Google Cloud Storage signed URL that should be used // for a function source code upload. The uploaded file should be a zip archive // which contains a function. UploadUrl string `json:"uploadUrl,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "UploadUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "UploadUrl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GenerateUploadUrlResponse) MarshalJSON() ([]byte, error) { type NoMethod GenerateUploadUrlResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2LocationMetadata: Extra GCF specific location // information. type GoogleCloudFunctionsV2LocationMetadata struct { // Environments: The Cloud Function environments this location supports. // // Possible values: // "ENVIRONMENT_UNSPECIFIED" - Unspecified // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environments []string `json:"environments,omitempty"` // ForceSendFields is a list of field names (e.g. "Environments") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environments") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2LocationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2LocationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2OperationMetadata: Represents the metadata of the // long-running operation. type GoogleCloudFunctionsV2OperationMetadata struct { // ApiVersion: API version used to start the operation. ApiVersion string `json:"apiVersion,omitempty"` // CancelRequested: Identifies whether the user has requested cancellation of // the operation. Operations that have successfully been cancelled have // google.longrunning.Operation.error value with a google.rpc.Status.code of 1, // corresponding to `Code.CANCELLED`. CancelRequested bool `json:"cancelRequested,omitempty"` // CreateTime: The time the operation was created. CreateTime string `json:"createTime,omitempty"` // EndTime: The time the operation finished running. EndTime string `json:"endTime,omitempty"` // OperationType: The operation type. // // Possible values: // "OPERATIONTYPE_UNSPECIFIED" - Unspecified // "CREATE_FUNCTION" - CreateFunction // "UPDATE_FUNCTION" - UpdateFunction // "DELETE_FUNCTION" - DeleteFunction // "REDIRECT_FUNCTION_UPGRADE_TRAFFIC" - RedirectFunctionUpgradeTraffic // "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC" - RollbackFunctionUpgradeTraffic // "SETUP_FUNCTION_UPGRADE_CONFIG" - SetupFunctionUpgradeConfig // "ABORT_FUNCTION_UPGRADE" - AbortFunctionUpgrade // "COMMIT_FUNCTION_UPGRADE" - CommitFunctionUpgrade OperationType string `json:"operationType,omitempty"` // RequestResource: The original request that started the operation. RequestResource googleapi.RawMessage `json:"requestResource,omitempty"` // SourceToken: An identifier for Firebase function sources. Disclaimer: This // field is only supported for Firebase function deployments. SourceToken string `json:"sourceToken,omitempty"` // Stages: Mechanism for reporting in-progress stages Stages []*GoogleCloudFunctionsV2Stage `json:"stages,omitempty"` // StatusDetail: Human-readable status of the operation, if any. StatusDetail string `json:"statusDetail,omitempty"` // Target: Server-defined resource path for the target of the operation. Target string `json:"target,omitempty"` // Verb: Name of the verb executed by the operation. Verb string `json:"verb,omitempty"` // ForceSendFields is a list of field names (e.g. "ApiVersion") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2OperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2OperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2Stage: Each Stage of the deployment process type GoogleCloudFunctionsV2Stage struct { // Message: Message describing the Stage Message string `json:"message,omitempty"` // Name: Name of the Stage. This will be unique for each Stage. // // Possible values: // "NAME_UNSPECIFIED" - Not specified. Invalid name. // "ARTIFACT_REGISTRY" - Artifact Regsitry Stage // "BUILD" - Build Stage // "SERVICE" - Service Stage // "TRIGGER" - Trigger Stage // "SERVICE_ROLLBACK" - Service Rollback Stage // "TRIGGER_ROLLBACK" - Trigger Rollback Stage Name string `json:"name,omitempty"` // Resource: Resource of the Stage Resource string `json:"resource,omitempty"` // ResourceUri: Link to the current Stage resource ResourceUri string `json:"resourceUri,omitempty"` // State: Current state of the Stage // // Possible values: // "STATE_UNSPECIFIED" - Not specified. Invalid state. // "NOT_STARTED" - Stage has not started. // "IN_PROGRESS" - Stage is in progress. // "COMPLETE" - Stage has completed. State string `json:"state,omitempty"` // StateMessages: State messages from the current Stage. StateMessages []*GoogleCloudFunctionsV2StateMessage `json:"stateMessages,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2Stage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2Stage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2StateMessage: Informational messages about the state // of the Cloud Function or Operation. type GoogleCloudFunctionsV2StateMessage struct { // Message: The message. Message string `json:"message,omitempty"` // Severity: Severity of the state message. // // Possible values: // "SEVERITY_UNSPECIFIED" - Not specified. Invalid severity. // "ERROR" - ERROR-level severity. // "WARNING" - WARNING-level severity. // "INFO" - INFO-level severity. Severity string `json:"severity,omitempty"` // Type: One-word CamelCase type of the state message. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2StateMessage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2StateMessage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2alphaLocationMetadata: Extra GCF specific location // information. type GoogleCloudFunctionsV2alphaLocationMetadata struct { // Environments: The Cloud Function environments this location supports. // // Possible values: // "ENVIRONMENT_UNSPECIFIED" - Unspecified // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environments []string `json:"environments,omitempty"` // ForceSendFields is a list of field names (e.g. "Environments") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environments") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2alphaLocationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2alphaLocationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2alphaOperationMetadata: Represents the metadata of the // long-running operation. type GoogleCloudFunctionsV2alphaOperationMetadata struct { // ApiVersion: API version used to start the operation. ApiVersion string `json:"apiVersion,omitempty"` // CancelRequested: Identifies whether the user has requested cancellation of // the operation. Operations that have successfully been cancelled have // google.longrunning.Operation.error value with a google.rpc.Status.code of 1, // corresponding to `Code.CANCELLED`. CancelRequested bool `json:"cancelRequested,omitempty"` // CreateTime: The time the operation was created. CreateTime string `json:"createTime,omitempty"` // EndTime: The time the operation finished running. EndTime string `json:"endTime,omitempty"` // OperationType: The operation type. // // Possible values: // "OPERATIONTYPE_UNSPECIFIED" - Unspecified // "CREATE_FUNCTION" - CreateFunction // "UPDATE_FUNCTION" - UpdateFunction // "DELETE_FUNCTION" - DeleteFunction // "REDIRECT_FUNCTION_UPGRADE_TRAFFIC" - RedirectFunctionUpgradeTraffic // "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC" - RollbackFunctionUpgradeTraffic // "SETUP_FUNCTION_UPGRADE_CONFIG" - SetupFunctionUpgradeConfig // "ABORT_FUNCTION_UPGRADE" - AbortFunctionUpgrade // "COMMIT_FUNCTION_UPGRADE" - CommitFunctionUpgrade OperationType string `json:"operationType,omitempty"` // RequestResource: The original request that started the operation. RequestResource googleapi.RawMessage `json:"requestResource,omitempty"` // SourceToken: An identifier for Firebase function sources. Disclaimer: This // field is only supported for Firebase function deployments. SourceToken string `json:"sourceToken,omitempty"` // Stages: Mechanism for reporting in-progress stages Stages []*GoogleCloudFunctionsV2alphaStage `json:"stages,omitempty"` // StatusDetail: Human-readable status of the operation, if any. StatusDetail string `json:"statusDetail,omitempty"` // Target: Server-defined resource path for the target of the operation. Target string `json:"target,omitempty"` // Verb: Name of the verb executed by the operation. Verb string `json:"verb,omitempty"` // ForceSendFields is a list of field names (e.g. "ApiVersion") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2alphaOperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2alphaOperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2alphaStage: Each Stage of the deployment process type GoogleCloudFunctionsV2alphaStage struct { // Message: Message describing the Stage Message string `json:"message,omitempty"` // Name: Name of the Stage. This will be unique for each Stage. // // Possible values: // "NAME_UNSPECIFIED" - Not specified. Invalid name. // "ARTIFACT_REGISTRY" - Artifact Regsitry Stage // "BUILD" - Build Stage // "SERVICE" - Service Stage // "TRIGGER" - Trigger Stage // "SERVICE_ROLLBACK" - Service Rollback Stage // "TRIGGER_ROLLBACK" - Trigger Rollback Stage Name string `json:"name,omitempty"` // Resource: Resource of the Stage Resource string `json:"resource,omitempty"` // ResourceUri: Link to the current Stage resource ResourceUri string `json:"resourceUri,omitempty"` // State: Current state of the Stage // // Possible values: // "STATE_UNSPECIFIED" - Not specified. Invalid state. // "NOT_STARTED" - Stage has not started. // "IN_PROGRESS" - Stage is in progress. // "COMPLETE" - Stage has completed. State string `json:"state,omitempty"` // StateMessages: State messages from the current Stage. StateMessages []*GoogleCloudFunctionsV2alphaStateMessage `json:"stateMessages,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2alphaStage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2alphaStage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2alphaStateMessage: Informational messages about the // state of the Cloud Function or Operation. type GoogleCloudFunctionsV2alphaStateMessage struct { // Message: The message. Message string `json:"message,omitempty"` // Severity: Severity of the state message. // // Possible values: // "SEVERITY_UNSPECIFIED" - Not specified. Invalid severity. // "ERROR" - ERROR-level severity. // "WARNING" - WARNING-level severity. // "INFO" - INFO-level severity. Severity string `json:"severity,omitempty"` // Type: One-word CamelCase type of the state message. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2alphaStateMessage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2alphaStateMessage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2betaLocationMetadata: Extra GCF specific location // information. type GoogleCloudFunctionsV2betaLocationMetadata struct { // Environments: The Cloud Function environments this location supports. // // Possible values: // "ENVIRONMENT_UNSPECIFIED" - Unspecified // "GEN_1" - Gen 1 // "GEN_2" - Gen 2 Environments []string `json:"environments,omitempty"` // ForceSendFields is a list of field names (e.g. "Environments") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Environments") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2betaLocationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2betaLocationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2betaOperationMetadata: Represents the metadata of the // long-running operation. type GoogleCloudFunctionsV2betaOperationMetadata struct { // ApiVersion: API version used to start the operation. ApiVersion string `json:"apiVersion,omitempty"` // CancelRequested: Identifies whether the user has requested cancellation of // the operation. Operations that have successfully been cancelled have // google.longrunning.Operation.error value with a google.rpc.Status.code of 1, // corresponding to `Code.CANCELLED`. CancelRequested bool `json:"cancelRequested,omitempty"` // CreateTime: The time the operation was created. CreateTime string `json:"createTime,omitempty"` // EndTime: The time the operation finished running. EndTime string `json:"endTime,omitempty"` // OperationType: The operation type. // // Possible values: // "OPERATIONTYPE_UNSPECIFIED" - Unspecified // "CREATE_FUNCTION" - CreateFunction // "UPDATE_FUNCTION" - UpdateFunction // "DELETE_FUNCTION" - DeleteFunction // "REDIRECT_FUNCTION_UPGRADE_TRAFFIC" - RedirectFunctionUpgradeTraffic // "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC" - RollbackFunctionUpgradeTraffic // "SETUP_FUNCTION_UPGRADE_CONFIG" - SetupFunctionUpgradeConfig // "ABORT_FUNCTION_UPGRADE" - AbortFunctionUpgrade // "COMMIT_FUNCTION_UPGRADE" - CommitFunctionUpgrade OperationType string `json:"operationType,omitempty"` // RequestResource: The original request that started the operation. RequestResource googleapi.RawMessage `json:"requestResource,omitempty"` // SourceToken: An identifier for Firebase function sources. Disclaimer: This // field is only supported for Firebase function deployments. SourceToken string `json:"sourceToken,omitempty"` // Stages: Mechanism for reporting in-progress stages Stages []*GoogleCloudFunctionsV2betaStage `json:"stages,omitempty"` // StatusDetail: Human-readable status of the operation, if any. StatusDetail string `json:"statusDetail,omitempty"` // Target: Server-defined resource path for the target of the operation. Target string `json:"target,omitempty"` // Verb: Name of the verb executed by the operation. Verb string `json:"verb,omitempty"` // ForceSendFields is a list of field names (e.g. "ApiVersion") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2betaOperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2betaOperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2betaStage: Each Stage of the deployment process type GoogleCloudFunctionsV2betaStage struct { // Message: Message describing the Stage Message string `json:"message,omitempty"` // Name: Name of the Stage. This will be unique for each Stage. // // Possible values: // "NAME_UNSPECIFIED" - Not specified. Invalid name. // "ARTIFACT_REGISTRY" - Artifact Regsitry Stage // "BUILD" - Build Stage // "SERVICE" - Service Stage // "TRIGGER" - Trigger Stage // "SERVICE_ROLLBACK" - Service Rollback Stage // "TRIGGER_ROLLBACK" - Trigger Rollback Stage Name string `json:"name,omitempty"` // Resource: Resource of the Stage Resource string `json:"resource,omitempty"` // ResourceUri: Link to the current Stage resource ResourceUri string `json:"resourceUri,omitempty"` // State: Current state of the Stage // // Possible values: // "STATE_UNSPECIFIED" - Not specified. Invalid state. // "NOT_STARTED" - Stage has not started. // "IN_PROGRESS" - Stage is in progress. // "COMPLETE" - Stage has completed. State string `json:"state,omitempty"` // StateMessages: State messages from the current Stage. StateMessages []*GoogleCloudFunctionsV2betaStateMessage `json:"stateMessages,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2betaStage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2betaStage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleCloudFunctionsV2betaStateMessage: Informational messages about the // state of the Cloud Function or Operation. type GoogleCloudFunctionsV2betaStateMessage struct { // Message: The message. Message string `json:"message,omitempty"` // Severity: Severity of the state message. // // Possible values: // "SEVERITY_UNSPECIFIED" - Not specified. Invalid severity. // "ERROR" - ERROR-level severity. // "WARNING" - WARNING-level severity. // "INFO" - INFO-level severity. Severity string `json:"severity,omitempty"` // Type: One-word CamelCase type of the state message. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Message") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *GoogleCloudFunctionsV2betaStateMessage) MarshalJSON() ([]byte, error) { type NoMethod GoogleCloudFunctionsV2betaStateMessage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // HttpsTrigger: Describes HttpsTrigger, could be used to connect web hooks to // function. type HttpsTrigger struct { // SecurityLevel: The security level for the function. // // Possible values: // "SECURITY_LEVEL_UNSPECIFIED" - Unspecified. // "SECURE_ALWAYS" - Requests for a URL that match this handler that do not // use HTTPS are automatically redirected to the HTTPS URL with the same path. // Query parameters are reserved for the redirect. // "SECURE_OPTIONAL" - Both HTTP and HTTPS requests with URLs that match the // handler succeed without redirects. The application can examine the request // to determine which protocol was used and respond accordingly. SecurityLevel string `json:"securityLevel,omitempty"` // Url: Output only. The deployed url for the function. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "SecurityLevel") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "SecurityLevel") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *HttpsTrigger) MarshalJSON() ([]byte, error) { type NoMethod HttpsTrigger return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListFunctionsResponse: Response for the `ListFunctions` method. type ListFunctionsResponse struct { // Functions: The functions that match the request. Functions []*CloudFunction `json:"functions,omitempty"` // NextPageToken: If not empty, indicates that there may be more functions that // match the request; this value should be passed in a new // google.cloud.functions.v1.ListFunctionsRequest to get more functions. NextPageToken string `json:"nextPageToken,omitempty"` // Unreachable: Locations that could not be reached. The response does not // include any functions from these locations. 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. "Functions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Functions") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListFunctionsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListFunctionsResponse return gensupport.MarshalJSON(NoMethod(*s), 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListLocationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // ListOperationsResponse: The response message for Operations.ListOperations. type ListOperationsResponse struct { // NextPageToken: The standard List next-page token. NextPageToken string `json:"nextPageToken,omitempty"` // Operations: A list of operations that matches the specified filter in the // request. Operations []*Operation `json:"operations,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "NextPageToken") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "NextPageToken") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { type NoMethod ListOperationsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Location: A resource that represents a Google Cloud 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"` // ForceSendFields is a list of field names (e.g. "DisplayName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Location) MarshalJSON() ([]byte, error) { type NoMethod Location return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OnDeployUpdatePolicy: Security patches are only applied when a function is // redeployed. type OnDeployUpdatePolicy struct { // RuntimeVersion: Output only. contains the runtime version which was used // during latest function deployment. RuntimeVersion string `json:"runtimeVersion,omitempty"` // ForceSendFields is a list of field names (e.g. "RuntimeVersion") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "RuntimeVersion") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OnDeployUpdatePolicy) MarshalJSON() ([]byte, error) { type NoMethod OnDeployUpdatePolicy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Operation: This resource represents a long-running operation that is the // result of a network API call. type Operation struct { // Done: If the value is `false`, it means the operation is still in progress. // If `true`, the operation is completed, and either `error` or `response` is // available. Done bool `json:"done,omitempty"` // Error: The error result of the operation in case of failure or cancellation. Error *Status `json:"error,omitempty"` // Metadata: Service-specific metadata associated with the operation. It // typically contains progress information and common metadata such as create // time. Some services might not provide such metadata. Any method that returns // a long-running operation should document the metadata type, if any. Metadata googleapi.RawMessage `json:"metadata,omitempty"` // Name: The server-assigned name, which is only unique within the same service // that originally returns it. If you use the default HTTP mapping, the `name` // should be a resource name ending with `operations/{unique_id}`. Name string `json:"name,omitempty"` // Response: The normal, successful response of the operation. If the original // method returns no data on success, such as `Delete`, the response is // `google.protobuf.Empty`. If the original method is standard // `Get`/`Create`/`Update`, the response should be the resource. For other // methods, the response should have the type `XxxResponse`, where `Xxx` is the // original method name. For example, if the original method name is // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. Response googleapi.RawMessage `json:"response,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Done") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Done") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Operation) MarshalJSON() ([]byte, error) { type NoMethod Operation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // OperationMetadataV1: Metadata describing an Operation type OperationMetadataV1 struct { // BuildId: The Cloud Build ID of the function created or updated by an API // call. This field is only populated for Create and Update operations. BuildId string `json:"buildId,omitempty"` // BuildName: The Cloud Build Name of the function deployment. This field is // only populated for Create and Update operations. // `projects//locations//builds/`. BuildName string `json:"buildName,omitempty"` // Request: The original request that started the operation. Request googleapi.RawMessage `json:"request,omitempty"` // SourceToken: An identifier for Firebase function sources. Disclaimer: This // field is only supported for Firebase function deployments. SourceToken string `json:"sourceToken,omitempty"` // Target: Target of the operation - for example // `projects/project-1/locations/region-1/functions/function-1` Target string `json:"target,omitempty"` // Type: Type of operation. // // Possible values: // "OPERATION_UNSPECIFIED" - Unknown operation type. // "CREATE_FUNCTION" - Triggered by CreateFunction call // "UPDATE_FUNCTION" - Triggered by UpdateFunction call // "DELETE_FUNCTION" - Triggered by DeleteFunction call. Type string `json:"type,omitempty"` // UpdateTime: The last update timestamp of the operation. UpdateTime string `json:"updateTime,omitempty"` // VersionId: Version id of the function created or updated by an API call. // This field is only populated for Create and Update operations. VersionId int64 `json:"versionId,omitempty,string"` // ForceSendFields is a list of field names (e.g. "BuildId") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "BuildId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *OperationMetadataV1) MarshalJSON() ([]byte, error) { type NoMethod OperationMetadataV1 return gensupport.MarshalJSON(NoMethod(*s), 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`, or principals, to a // single `role`. Principals 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. For some types of Google Cloud resources, a `binding` can also // 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. To // learn which resources support conditions in their IAM policies, see the IAM // documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). **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`, or principals, with 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 // principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; // up to 250 of these principals can be Google groups. Each occurrence of a // principal counts towards these limits. For example, if the `bindings` grant // 50 different roles to `user:alice@example.com`, and not to any other // principal, then you can add another 1,450 principals to the `bindings` in // the `Policy`. 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. To learn which resources support // conditions in their IAM policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). 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 or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Policy) MarshalJSON() ([]byte, error) { type NoMethod Policy return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Retry: Describes the retry policy in case of function's execution failure. A // function execution will be retried on any failure. A failed execution will // be retried up to 7 days with an exponential backoff (capped at 10 seconds). // Retried execution is charged as any other execution. type Retry struct { } // SecretEnvVar: Configuration for a secret environment variable. It has the // information necessary to fetch the secret value from secret manager and // expose it as an environment variable. type SecretEnvVar struct { // Key: Name of the environment variable. Key string `json:"key,omitempty"` // ProjectId: Project identifier (preferrably project number but can also be // the project ID) of the project that contains the secret. If not set, it will // be populated with the function's project assuming that the secret exists in // the same project as of the function. ProjectId string `json:"projectId,omitempty"` // Secret: Name of the secret in secret manager (not the full resource name). Secret string `json:"secret,omitempty"` // Version: Version of the secret (version number or the string 'latest'). It // is recommended to use a numeric version for secret environment variables as // any updates to the secret value is not reflected until new instances start. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. 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. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SecretEnvVar) MarshalJSON() ([]byte, error) { type NoMethod SecretEnvVar return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SecretVersion: Configuration for a single version. type SecretVersion struct { // Path: Relative path of the file under the mount path where the secret value // for this version will be fetched and made available. For example, setting // the mount_path as '/etc/secrets' and path as `/secret_foo` would mount the // secret value file at `/etc/secrets/secret_foo`. Path string `json:"path,omitempty"` // Version: Version of the secret (version number or the string 'latest'). It // is preferable to use `latest` version with secret volumes as secret value // changes are reflected immediately. Version string `json:"version,omitempty"` // ForceSendFields is a list of field names (e.g. "Path") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Path") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SecretVersion) MarshalJSON() ([]byte, error) { type NoMethod SecretVersion return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SecretVolume: Configuration for a secret volume. It has the information // necessary to fetch the secret value from secret manager and make it // available as files mounted at the requested paths within the application // container. Secret value is not a part of the configuration. Every filesystem // read operation performs a lookup in secret manager to retrieve the secret // value. type SecretVolume struct { // MountPath: The path within the container to mount the secret volume. For // example, setting the mount_path as `/etc/secrets` would mount the secret // value files under the `/etc/secrets` directory. This directory will also be // completely shadowed and unavailable to mount any other secrets. Recommended // mount paths: /etc/secrets Restricted mount paths: /cloudsql, /dev/log, /pod, // /proc, /var/log MountPath string `json:"mountPath,omitempty"` // ProjectId: Project identifier (preferrably project number but can also be // the project ID) of the project that contains the secret. If not set, it will // be populated with the function's project assuming that the secret exists in // the same project as of the function. ProjectId string `json:"projectId,omitempty"` // Secret: Name of the secret in secret manager (not the full resource name). Secret string `json:"secret,omitempty"` // Versions: List of secret versions to mount for this secret. If empty, the // `latest` version of the secret will be made available in a file named after // the secret under the mount point. Versions []*SecretVersion `json:"versions,omitempty"` // ForceSendFields is a list of field names (e.g. "MountPath") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "MountPath") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SecretVolume) MarshalJSON() ([]byte, error) { type NoMethod SecretVolume return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SetIamPolicyRequest: Request message for `SetIamPolicy` method. type SetIamPolicyRequest struct { // Policy: REQUIRED: The complete policy to be applied to the `resource`. The // size of the policy is limited to a few 10s of KB. An empty policy is a valid // policy but certain Google Cloud services (such as Projects) might reject // them. Policy *Policy `json:"policy,omitempty"` // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the policy to // modify. Only the fields in the mask will be modified. If no mask is // provided, the following default mask is used: `paths: "bindings, etag" UpdateMask string `json:"updateMask,omitempty"` // ForceSendFields is a list of field names (e.g. "Policy") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Policy") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { type NoMethod SetIamPolicyRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // SourceRepository: Describes SourceRepository, used to represent parameters // related to source repository where a function is hosted. type SourceRepository struct { // DeployedUrl: Output only. The URL pointing to the hosted repository where // the function were defined at the time of deployment. It always points to a // specific commit in the format described above. DeployedUrl string `json:"deployedUrl,omitempty"` // Url: The URL pointing to the hosted repository where the function is // defined. There are supported Cloud Source Repository URLs in the following // formats: To refer to a specific commit: // `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` // To refer to a moveable alias (branch): // `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/p // aths/*` In particular, to refer to HEAD use `master` moveable alias. To // refer to a specific fixed alias (tag): // `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/path // s/*` You may omit `paths/*` if you want to use the main directory. Url string `json:"url,omitempty"` // ForceSendFields is a list of field names (e.g. "DeployedUrl") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "DeployedUrl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *SourceRepository) MarshalJSON() ([]byte, error) { type NoMethod SourceRepository return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // Status: The `Status` type defines a logical error model that is suitable for // different programming environments, including REST APIs and RPC APIs. It is // used by gRPC (https://github.com/grpc). Each `Status` message contains three // pieces of data: error code, error message, and error details. You can find // out more about this error model and how to work with it in the API Design // Guide (https://cloud.google.com/apis/design/errors). type Status struct { // Code: The status code, which should be an enum value of google.rpc.Code. Code int64 `json:"code,omitempty"` // Details: A list of messages that carry the error details. There is a common // set of message types for APIs to use. Details []googleapi.RawMessage `json:"details,omitempty"` // Message: A developer-facing error message, which should be in English. Any // user-facing error message should be localized and sent in the // google.rpc.Status.details field, or localized by the client. Message string `json:"message,omitempty"` // ForceSendFields is a list of field names (e.g. "Code") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Code") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *Status) MarshalJSON() ([]byte, error) { type NoMethod Status return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TestIamPermissionsRequest: Request message for `TestIamPermissions` method. type TestIamPermissionsRequest struct { // Permissions: The set of permissions to check for the `resource`. Permissions // with wildcards (such as `*` or `storage.*`) are not allowed. For more // information see IAM Overview // (https://cloud.google.com/iam/docs/overview#permissions). Permissions []string `json:"permissions,omitempty"` // ForceSendFields is a list of field names (e.g. "Permissions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Permissions") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { type NoMethod TestIamPermissionsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // TestIamPermissionsResponse: Response message for `TestIamPermissions` // method. type TestIamPermissionsResponse struct { // Permissions: A subset of `TestPermissionsRequest.permissions` that the // caller is allowed. Permissions []string `json:"permissions,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Permissions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` // NullFields is a list of field names (e.g. "Permissions") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { type NoMethod TestIamPermissionsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } type OperationsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets the latest state of a long-running operation. Clients can use this // method to poll the operation result at intervals as recommended by the API // service. // // - name: The name of the operation resource. func (r *OperationsService) Get(name string) *OperationsGetCall { c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *OperationsGetCall) Fields(s ...googleapi.Field) *OperationsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *OperationsGetCall) IfNoneMatch(entityTag string) *OperationsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *OperationsGetCall) Context(ctx context.Context) *OperationsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *OperationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.operations.get" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *OperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type OperationsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists operations that match the specified filter in the request. If // the server doesn't support this method, it returns `UNIMPLEMENTED`. func (r *OperationsService) List() *OperationsListCall { c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // Filter sets the optional parameter "filter": The standard list filter. func (c *OperationsListCall) Filter(filter string) *OperationsListCall { c.urlParams_.Set("filter", filter) return c } // Name sets the optional parameter "name": The name of the operation's parent // resource. func (c *OperationsListCall) Name(name string) *OperationsListCall { c.urlParams_.Set("name", name) return c } // PageSize sets the optional parameter "pageSize": The standard list page // size. func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The standard list page // token. func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *OperationsListCall) Fields(s ...googleapi.Field) *OperationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *OperationsListCall) IfNoneMatch(entityTag string) *OperationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *OperationsListCall) Context(ctx context.Context) *OperationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *OperationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/operations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.operations.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListOperationsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *OperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListOperationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *OperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsListCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Lists information about the supported locations for this service. // // - name: The resource that owns the locations collection, if applicable. func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall { c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Filter sets the optional parameter "filter": A filter to narrow down results // to a preferred subset. The filtering language accepts strings like // "displayName=tokyo", and is documented in more detail in AIP-160 // (https://google.aip.dev/160). func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall { c.urlParams_.Set("filter", filter) return c } // PageSize sets the optional parameter "pageSize": The maximum number of // results to return. If not set, the service selects a default. func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": A page token received // from the `next_page_token` field in the response. Send that page token to // receive the subsequent page. func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListLocationsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListLocationsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsFunctionsCallCall struct { s *Service name string callfunctionrequest *CallFunctionRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Call: Synchronously invokes a deployed Cloud Function. To be used for // testing purposes as very limited traffic is allowed. For more information on // the actual limits, refer to Rate Limits // (https://cloud.google.com/functions/quotas#rate_limits). // // - name: The name of the function to be called. func (r *ProjectsLocationsFunctionsService) Call(name string, callfunctionrequest *CallFunctionRequest) *ProjectsLocationsFunctionsCallCall { c := &ProjectsLocationsFunctionsCallCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.callfunctionrequest = callfunctionrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsCallCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsCallCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsCallCall) Context(ctx context.Context) *ProjectsLocationsFunctionsCallCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsCallCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsCallCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.callfunctionrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:call") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.call" call. // Any non-2xx status code is an error. Response headers are in either // *CallFunctionResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsFunctionsCallCall) Do(opts ...googleapi.CallOption) (*CallFunctionResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CallFunctionResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsCreateCall struct { s *Service location string cloudfunction *CloudFunction urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Create: Creates a new function. If a function with the given name already // exists in the specified project, the long running operation will return // `ALREADY_EXISTS` error. // // - location: The project and location in which the function should be // created, specified in the format `projects/*/locations/*`. func (r *ProjectsLocationsFunctionsService) Create(location string, cloudfunction *CloudFunction) *ProjectsLocationsFunctionsCreateCall { c := &ProjectsLocationsFunctionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.location = location c.cloudfunction = cloudfunction return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsCreateCall) Context(ctx context.Context) *ProjectsLocationsFunctionsCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsCreateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.cloudfunction) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+location}/functions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "location": c.location, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.create" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsCreateCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a function with the given name from the specified project. // If the given function is used by some trigger, the trigger will be updated // to remove this function. // // - name: The name of the function which should be deleted. func (r *ProjectsLocationsFunctionsService) Delete(name string) *ProjectsLocationsFunctionsDeleteCall { c := &ProjectsLocationsFunctionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsFunctionsDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.delete" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsGenerateDownloadUrlCall struct { s *Service name string generatedownloadurlrequest *GenerateDownloadUrlRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // GenerateDownloadUrl: Returns a signed URL for downloading deployed function // source code. The URL is only valid for a limited period and should be used // within minutes after generation. For more information about the signed URL // usage see: https://cloud.google.com/storage/docs/access-control/signed-urls // // - name: The name of function for which source code Google Cloud Storage // signed URL should be generated. func (r *ProjectsLocationsFunctionsService) GenerateDownloadUrl(name string, generatedownloadurlrequest *GenerateDownloadUrlRequest) *ProjectsLocationsFunctionsGenerateDownloadUrlCall { c := &ProjectsLocationsFunctionsGenerateDownloadUrlCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.generatedownloadurlrequest = generatedownloadurlrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsGenerateDownloadUrlCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) Context(ctx context.Context) *ProjectsLocationsFunctionsGenerateDownloadUrlCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.generatedownloadurlrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateDownloadUrl") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.generateDownloadUrl" call. // Any non-2xx status code is an error. Response headers are in either // *GenerateDownloadUrlResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) Do(opts ...googleapi.CallOption) (*GenerateDownloadUrlResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GenerateDownloadUrlResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsGenerateUploadUrlCall struct { s *Service parent string generateuploadurlrequest *GenerateUploadUrlRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // GenerateUploadUrl: Returns a signed URL for uploading a function source // code. For more information about the signed URL usage see: // https://cloud.google.com/storage/docs/access-control/signed-urls. Once the // function source code upload is complete, the used signed URL should be // provided in CreateFunction or UpdateFunction request as a reference to the // function source code. When uploading source code to the generated signed // URL, please follow these restrictions: * Source file type should be a zip // file. * Source file size should not exceed 100MB limit. * No credentials // should be attached - the signed URLs provide access to the target bucket // using internal service identity; if credentials were attached, the identity // from the credentials would be used, but that identity does not have // permissions to upload files to the URL. When making a HTTP PUT request, // these two headers need to be specified: * `content-type: application/zip` * // `x-goog-content-length-range: 0,104857600` And this header SHOULD NOT be // specified: * `Authorization: Bearer YOUR_TOKEN` // // - parent: The project and location in which the Google Cloud Storage signed // URL should be generated, specified in the format `projects/*/locations/*`. func (r *ProjectsLocationsFunctionsService) GenerateUploadUrl(parent string, generateuploadurlrequest *GenerateUploadUrlRequest) *ProjectsLocationsFunctionsGenerateUploadUrlCall { c := &ProjectsLocationsFunctionsGenerateUploadUrlCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.generateuploadurlrequest = generateuploadurlrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsGenerateUploadUrlCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) Context(ctx context.Context) *ProjectsLocationsFunctionsGenerateUploadUrlCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateuploadurlrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/functions:generateUploadUrl") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.generateUploadUrl" call. // Any non-2xx status code is an error. Response headers are in either // *GenerateUploadUrlResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) Do(opts ...googleapi.CallOption) (*GenerateUploadUrlResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &GenerateUploadUrlResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsGetCall struct { s *Service name string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Returns a function with the given name from the requested project. // // - name: The name of the function which details should be obtained. func (r *ProjectsLocationsFunctionsService) Get(name string) *ProjectsLocationsFunctionsGetCall { c := &ProjectsLocationsFunctionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } // VersionId sets the optional parameter "versionId": The optional version of // the function whose details should be obtained. The version of a 1st Gen // function is an integer that starts from 1 and gets incremented on // redeployments. Each deployment creates a config version of the underlying // function. GCF may keep historical configs for old versions. This field can // be specified to fetch the historical configs. Leave it blank or set to 0 to // get the latest version of the function. func (c *ProjectsLocationsFunctionsGetCall) VersionId(versionId int64) *ProjectsLocationsFunctionsGetCall { c.urlParams_.Set("versionId", fmt.Sprint(versionId)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsGetCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsFunctionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsFunctionsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsGetCall) Context(ctx context.Context) *ProjectsLocationsFunctionsGetCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.get" call. // Any non-2xx status code is an error. Response headers are in either // *CloudFunction.ServerResponse.Header or (if a response was returned at all) // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsGetCall) Do(opts ...googleapi.CallOption) (*CloudFunction, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &CloudFunction{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsGetIamPolicyCall struct { s *Service resource string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // GetIamPolicy: Gets the IAM access control policy for a function. Returns an // empty policy if the function exists and does not have a policy set. // // - resource: REQUIRED: The resource for which the policy is being requested. // See Resource names (https://cloud.google.com/apis/design/resource_names) // for the appropriate value for this field. func (r *ProjectsLocationsFunctionsService) GetIamPolicy(resource string) *ProjectsLocationsFunctionsGetIamPolicyCall { c := &ProjectsLocationsFunctionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource return c } // OptionsRequestedPolicyVersion sets the optional parameter // "options.requestedPolicyVersion": The maximum policy version that will be // used to format the policy. Valid values are 0, 1, and 3. Requests specifying // an invalid value will be rejected. Requests for policies with any // conditional role bindings must specify version 3. Policies with no // conditional role bindings may specify any valid value or leave the field // unset. The policy in the response might use the policy version that you // specified, or it might use a lower policy version. For example, if you // specify version 3, but the policy has no conditional role bindings, the // response uses version 1. To learn which resources support conditions in // their IAM policies, see the IAM documentation // (https://cloud.google.com/iam/help/conditions/resource-policies). func (c *ProjectsLocationsFunctionsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFunctionsGetIamPolicyCall { c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsGetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsFunctionsGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsLocationsFunctionsGetIamPolicyCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFunctionsGetIamPolicyCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsGetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:getIamPolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.getIamPolicy" call. // Any non-2xx status code is an error. Response headers are in either // *Policy.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsListCall struct { s *Service parent string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Returns a list of functions that belong to the requested project. // // - parent: The project and location from which the function should be listed, // specified in the format `projects/*/locations/*` If you want to list // functions in all locations, use "-" in place of a location. When listing // functions in all locations, if one or more location(s) are unreachable, // the response will contain functions from all reachable locations along // with the names of any unreachable locations. func (r *ProjectsLocationsFunctionsService) List(parent string) *ProjectsLocationsFunctionsListCall { c := &ProjectsLocationsFunctionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent return c } // PageSize sets the optional parameter "pageSize": Maximum number of functions // to return per call. func (c *ProjectsLocationsFunctionsListCall) PageSize(pageSize int64) *ProjectsLocationsFunctionsListCall { c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) return c } // PageToken sets the optional parameter "pageToken": The value returned by the // last `ListFunctionsResponse`; indicates that this is a continuation of a // prior `ListFunctions` call, and that the system should return the next page // of data. func (c *ProjectsLocationsFunctionsListCall) PageToken(pageToken string) *ProjectsLocationsFunctionsListCall { c.urlParams_.Set("pageToken", pageToken) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsListCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // IfNoneMatch sets an optional parameter which makes the operation fail if the // object's ETag matches the given value. This is useful for getting updates // only after the object has changed since the last request. func (c *ProjectsLocationsFunctionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsFunctionsListCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsListCall) Context(ctx context.Context) *ProjectsLocationsFunctionsListCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) if c.ifNoneMatch_ != "" { reqHeaders.Set("If-None-Match", c.ifNoneMatch_) } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/functions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.list" call. // Any non-2xx status code is an error. Response headers are in either // *ListFunctionsResponse.ServerResponse.Header or (if a response was returned // at all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to // check whether the returned error was because http.StatusNotModified was // returned. func (c *ProjectsLocationsFunctionsListCall) Do(opts ...googleapi.CallOption) (*ListFunctionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &ListFunctionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } // Pages invokes f for each page of results. // A non-nil error returned from f will halt the iteration. // The provided context supersedes any context provided to the Context method. func (c *ProjectsLocationsFunctionsListCall) Pages(ctx context.Context, f func(*ListFunctionsResponse) error) error { c.ctx_ = ctx defer c.PageToken(c.urlParams_.Get("pageToken")) for { x, err := c.Do() if err != nil { return err } if err := f(x); err != nil { return err } if x.NextPageToken == "" { return nil } c.PageToken(x.NextPageToken) } } type ProjectsLocationsFunctionsPatchCall struct { s *Service name string cloudfunction *CloudFunction urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates existing function. // // - name: A user-defined name of the function. Function names must be unique // globally and match pattern `projects/*/locations/*/functions/*`. func (r *ProjectsLocationsFunctionsService) Patch(name string, cloudfunction *CloudFunction) *ProjectsLocationsFunctionsPatchCall { c := &ProjectsLocationsFunctionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.cloudfunction = cloudfunction return c } // UpdateMask sets the optional parameter "updateMask": Required. The list of // fields in `CloudFunction` that have to be updated. func (c *ProjectsLocationsFunctionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsFunctionsPatchCall { c.urlParams_.Set("updateMask", updateMask) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsPatchCall) Context(ctx context.Context) *ProjectsLocationsFunctionsPatchCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.cloudfunction) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.patch" call. // Any non-2xx status code is an error. Response headers are in either // *Operation.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsPatchCall) Do(opts ...googleapi.CallOption) (*Operation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Operation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsSetIamPolicyCall struct { s *Service resource string setiampolicyrequest *SetIamPolicyRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // SetIamPolicy: Sets the IAM access control policy on the specified function. // Replaces any existing policy. // // - resource: REQUIRED: The resource for which the policy is being specified. // See Resource names (https://cloud.google.com/apis/design/resource_names) // for the appropriate value for this field. func (r *ProjectsLocationsFunctionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFunctionsSetIamPolicyCall { c := &ProjectsLocationsFunctionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource c.setiampolicyrequest = setiampolicyrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsSetIamPolicyCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsFunctionsSetIamPolicyCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsSetIamPolicyCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:setIamPolicy") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.setIamPolicy" call. // Any non-2xx status code is an error. Response headers are in either // *Policy.ServerResponse.Header or (if a response was returned at all) in // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check // whether the returned error was because http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &Policy{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil } type ProjectsLocationsFunctionsTestIamPermissionsCall struct { s *Service resource string testiampermissionsrequest *TestIamPermissionsRequest urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // TestIamPermissions: Tests the specified permissions against the IAM access // control policy for a function. If the function does not exist, this will // return an empty set of permissions, not a NOT_FOUND error. // // - resource: REQUIRED: The resource for which the policy detail is being // requested. See Resource names // (https://cloud.google.com/apis/design/resource_names) for the appropriate // value for this field. func (r *ProjectsLocationsFunctionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFunctionsTestIamPermissionsCall { c := &ProjectsLocationsFunctionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.resource = resource c.testiampermissionsrequest = testiampermissionsrequest return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsFunctionsTestIamPermissionsCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsFunctionsTestIamPermissionsCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+resource}:testIamPermissions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "resource": c.resource, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "cloudfunctions.projects.locations.functions.testIamPermissions" call. // Any non-2xx status code is an error. Response headers are in either // *TestIamPermissionsResponse.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { if res.Body != nil { res.Body.Close() } return nil, gensupport.WrapError(&googleapi.Error{ Code: res.StatusCode, Header: res.Header, }) } if err != nil { return nil, err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } ret := &TestIamPermissionsResponse{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, }, } target := &ret if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }