| // Copyright 2026 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" |
| "log/slog" |
| "net/http" |
| "net/url" |
| "strconv" |
| "strings" |
| |
| "github.com/googleapis/gax-go/v2/internallog" |
| 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 |
| var _ = internallog.New |
| |
| 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 := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)} |
| s.Operations = NewOperationsService(s) |
| s.Projects = NewProjectsService(s) |
| 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") |
| } |
| return NewService(context.TODO(), option.WithHTTPClient(client)) |
| } |
| |
| type Service struct { |
| client *http.Client |
| logger *slog.Logger |
| 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:[email protected]" ] }, { "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:[email protected]" ] } ] } ] } For |
| // sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ |
| // logging. It also exempts `[email protected]` from DATA_READ logging, and |
| // `[email protected]` 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:[email protected]" ] }, { "log_type": |
| // "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while |
| // exempting [email protected] 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, |
| // `[email protected]` . * `serviceAccount:{emailid}`: An email address that |
| // represents a Google service account. For example, |
| // `[email protected]`. * |
| // `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, `[email protected]`. * `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, `[email protected]?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, |
| // `[email protected]?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, |
| // `[email protected]?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: A service account the user provides for use with Cloud |
| // Build. The format of this field is |
| // `projects/{projectId}/serviceAccounts/{serviceAccountEmail}`. |
| 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 |
| // (`[email protected]`) 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. Deprecated: as |
| // of March 2025, `CONTAINER_REGISTRY` option is no longer available in |
| // response to Container Registry's deprecation: |
| // https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr |
| // Please use Artifact Registry instead, which is the default choice. 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"` |
| // SatisfiesPzi: Output only. |
| SatisfiesPzi bool `json:"satisfiesPzi,omitempty"` |
| // SatisfiesPzs: Output only. |
| SatisfiesPzs bool `json:"satisfiesPzs,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) |
| } |
| |
| // 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"` |
| // Unreachable: Unordered list. Unreachable resources. Populated when the |
| // request sets `ListOperationsRequest.return_partial_success` and reads across |
| // collections. For example, when attempting to list all resources across all |
| // supported 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. "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:[email protected]", "group:[email protected]", "domain:google.com", |
| // "serviceAccount:[email protected]" ] }, { "role": |
| // "roles/resourcemanager.organizationViewer", "members": [ |
| // "user:[email protected]" ], "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:[email protected] - group:[email protected] - |
| // domain:google.com - serviceAccount:[email protected] |
| // role: roles/resourcemanager.organizationAdmin - members: - |
| // user:[email protected] 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:[email protected]`, 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 (preferably 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. The |
| // function response may add an empty `/paths/` to the URL. |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.operations.get", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.operations.get", "response", internallog.HTTPResponse(res, b)) |
| 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 |
| } |
| |
| // ReturnPartialSuccess sets the optional parameter "returnPartialSuccess": |
| // When set to `true`, operations that are reachable are returned as normal, |
| // and those that are unreachable are returned in the |
| // ListOperationsResponse.unreachable field. This can only be `true` when |
| // reading across collections. For example, when `parent` is set to |
| // "projects/example/locations/-". This field is not supported by default and |
| // will result in an `UNIMPLEMENTED` error if set unless explicitly documented |
| // otherwise in service or product specific documentation. |
| func (c *OperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *OperationsListCall { |
| c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess)) |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.operations.list", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.operations.list", "response", internallog.HTTPResponse(res, b)) |
| 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 |
| } |
| |
| // ExtraLocationTypes sets the optional parameter "extraLocationTypes": Do not |
| // use this field. It is unsupported and is ignored unless explicitly |
| // documented otherwise. This is primarily for internal usage. |
| func (c *ProjectsLocationsListCall) ExtraLocationTypes(extraLocationTypes ...string) *ProjectsLocationsListCall { |
| c.urlParams_.SetMulti("extraLocationTypes", append([]string{}, extraLocationTypes...)) |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.list", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.list", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.call", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.call", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.create", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.create", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.delete", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.delete", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.generateDownloadUrl", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.generateDownloadUrl", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.generateUploadUrl", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.generateUploadUrl", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.get", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.get", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "resource": c.resource, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.getIamPolicy", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.getIamPolicy", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| } |
| 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, nil) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "parent": c.parent, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.list", "request", internallog.HTTPRequest(req, nil)) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.list", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.patch", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.patch", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.setIamPolicy", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.setIamPolicy", "response", internallog.HTTPResponse(res, b)) |
| 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_) |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(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, |
| }) |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.testIamPermissions", "request", internallog.HTTPRequest(req, body.Bytes())) |
| 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 |
| b, err := gensupport.DecodeResponseBytes(target, res) |
| if err != nil { |
| return nil, err |
| } |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "cloudfunctions.projects.locations.functions.testIamPermissions", "response", internallog.HTTPResponse(res, b)) |
| return ret, nil |
| } |