|  | // Copyright 2020 Google LLC. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | // Code generated file. DO NOT EDIT. | 
|  |  | 
|  | // Package bigqueryconnection provides access to the BigQuery Connection API. | 
|  | // | 
|  | // For product documentation, see: https://cloud.google.com/bigquery/ | 
|  | // | 
|  | // Creating a client | 
|  | // | 
|  | // Usage example: | 
|  | // | 
|  | //   import "google.golang.org/api/bigqueryconnection/v1beta1" | 
|  | //   ... | 
|  | //   ctx := context.Background() | 
|  | //   bigqueryconnectionService, err := bigqueryconnection.NewService(ctx) | 
|  | // | 
|  | // In this example, Google Application Default Credentials are used for authentication. | 
|  | // | 
|  | // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. | 
|  | // | 
|  | // Other authentication options | 
|  | // | 
|  | // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: | 
|  | // | 
|  | //   bigqueryconnectionService, err := bigqueryconnection.NewService(ctx, option.WithScopes(bigqueryconnection.CloudPlatformScope)) | 
|  | // | 
|  | // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: | 
|  | // | 
|  | //   bigqueryconnectionService, err := bigqueryconnection.NewService(ctx, option.WithAPIKey("AIza...")) | 
|  | // | 
|  | // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: | 
|  | // | 
|  | //   config := &oauth2.Config{...} | 
|  | //   // ... | 
|  | //   token, err := config.Exchange(ctx, ...) | 
|  | //   bigqueryconnectionService, err := bigqueryconnection.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) | 
|  | // | 
|  | // See https://godoc.org/google.golang.org/api/option/ for details on options. | 
|  | package bigqueryconnection // import "google.golang.org/api/bigqueryconnection/v1beta1" | 
|  |  | 
|  | import ( | 
|  | "bytes" | 
|  | "context" | 
|  | "encoding/json" | 
|  | "errors" | 
|  | "fmt" | 
|  | "io" | 
|  | "net/http" | 
|  | "net/url" | 
|  | "strconv" | 
|  | "strings" | 
|  |  | 
|  | googleapi "google.golang.org/api/googleapi" | 
|  | gensupport "google.golang.org/api/internal/gensupport" | 
|  | option "google.golang.org/api/option" | 
|  | 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 | 
|  |  | 
|  | const apiId = "bigqueryconnection:v1beta1" | 
|  | const apiName = "bigqueryconnection" | 
|  | const apiVersion = "v1beta1" | 
|  | const basePath = "https://bigqueryconnection.googleapis.com/" | 
|  | const mtlsBasePath = "https://bigqueryconnection.mtls.googleapis.com/" | 
|  |  | 
|  | // OAuth2 scopes used by this API. | 
|  | const ( | 
|  | // View and manage your data in Google BigQuery | 
|  | BigqueryScope = "https://www.googleapis.com/auth/bigquery" | 
|  |  | 
|  | // View and manage your data across Google Cloud Platform services | 
|  | CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" | 
|  | ) | 
|  |  | 
|  | // NewService creates a new Service. | 
|  | func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { | 
|  | scopesOption := option.WithScopes( | 
|  | "https://www.googleapis.com/auth/bigquery", | 
|  | "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.WithDefaultMTLSEndpoint(mtlsBasePath)) | 
|  | client, endpoint, err := htransport.NewClient(ctx, opts...) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | s, err := New(client) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | if endpoint != "" { | 
|  | s.BasePath = endpoint | 
|  | } | 
|  | return s, nil | 
|  | } | 
|  |  | 
|  | // New creates a new Service. It uses the provided http.Client for requests. | 
|  | // | 
|  | // Deprecated: please use NewService instead. | 
|  | // To provide a custom HTTP client, use option.WithHTTPClient. | 
|  | // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. | 
|  | func New(client *http.Client) (*Service, error) { | 
|  | if client == nil { | 
|  | return nil, errors.New("client is nil") | 
|  | } | 
|  | s := &Service{client: client, BasePath: basePath} | 
|  | s.Projects = NewProjectsService(s) | 
|  | return s, nil | 
|  | } | 
|  |  | 
|  | type Service struct { | 
|  | client    *http.Client | 
|  | BasePath  string // API endpoint base URL | 
|  | UserAgent string // optional additional User-Agent fragment | 
|  |  | 
|  | Projects *ProjectsService | 
|  | } | 
|  |  | 
|  | func (s *Service) userAgent() string { | 
|  | if s.UserAgent == "" { | 
|  | return googleapi.UserAgent | 
|  | } | 
|  | return googleapi.UserAgent + " " + s.UserAgent | 
|  | } | 
|  |  | 
|  | 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.Connections = NewProjectsLocationsConnectionsService(s) | 
|  | return rs | 
|  | } | 
|  |  | 
|  | type ProjectsLocationsService struct { | 
|  | s *Service | 
|  |  | 
|  | Connections *ProjectsLocationsConnectionsService | 
|  | } | 
|  |  | 
|  | func NewProjectsLocationsConnectionsService(s *Service) *ProjectsLocationsConnectionsService { | 
|  | rs := &ProjectsLocationsConnectionsService{s: s} | 
|  | return rs | 
|  | } | 
|  |  | 
|  | type ProjectsLocationsConnectionsService struct { | 
|  | s *Service | 
|  | } | 
|  |  | 
|  | // AuditConfig: Specifies the audit configuration for a service. | 
|  | // The configuration determines which permission types are logged, and | 
|  | // what | 
|  | // identities, if any, are exempted from logging. | 
|  | // An AuditConfig must have one or more AuditLogConfigs. | 
|  | // | 
|  | // If there are AuditConfigs for both `allServices` and a specific | 
|  | // service, | 
|  | // the union of the two AuditConfigs is used for that service: the | 
|  | // log_types | 
|  | // specified in each AuditConfig are enabled, and the exempted_members | 
|  | // in each | 
|  | // AuditLogConfig are exempted. | 
|  | // | 
|  | // Example Policy with multiple AuditConfigs: | 
|  | // | 
|  | //     { | 
|  | //       "audit_configs": [ | 
|  | //         { | 
|  | //           "service": "allServices", | 
|  | //           "audit_log_configs": [ | 
|  | //             { | 
|  | //               "log_type": "DATA_READ", | 
|  | //               "exempted_members": [ | 
|  | //                 "user:jose@example.com" | 
|  | //               ] | 
|  | //             }, | 
|  | //             { | 
|  | //               "log_type": "DATA_WRITE" | 
|  | //             }, | 
|  | //             { | 
|  | //               "log_type": "ADMIN_READ" | 
|  | //             } | 
|  | //           ] | 
|  | //         }, | 
|  | //         { | 
|  | //           "service": "sampleservice.googleapis.com", | 
|  | //           "audit_log_configs": [ | 
|  | //             { | 
|  | //               "log_type": "DATA_READ" | 
|  | //             }, | 
|  | //             { | 
|  | //               "log_type": "DATA_WRITE", | 
|  | //               "exempted_members": [ | 
|  | //                 "user:aliya@example.com" | 
|  | //               ] | 
|  | //             } | 
|  | //           ] | 
|  | //         } | 
|  | //       ] | 
|  | //     } | 
|  | // | 
|  | // For sampleservice, this policy enables DATA_READ, DATA_WRITE and | 
|  | // ADMIN_READ | 
|  | // logging. It also exempts jose@example.com from DATA_READ logging, | 
|  | // and | 
|  | // aliya@example.com from DATA_WRITE logging. | 
|  | type AuditConfig struct { | 
|  | // AuditLogConfigs: The configuration for logging of each type of | 
|  | // permission. | 
|  | AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"` | 
|  |  | 
|  | // Service: Specifies a service that will be enabled for audit | 
|  | // logging. | 
|  | // For example, `storage.googleapis.com`, | 
|  | // `cloudsql.googleapis.com`. | 
|  | // `allServices` is a special value that covers all services. | 
|  | Service string `json:"service,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "AuditLogConfigs") to | 
|  | // include in API requests with the JSON null value. By default, fields | 
|  | // with empty values are omitted from API requests. However, any field | 
|  | // with an empty value appearing in NullFields will be sent to the | 
|  | // server as null. It is an error if a field in this list has a | 
|  | // non-empty value. This may be used to include null fields in Patch | 
|  | // requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *AuditConfig) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod AuditConfig | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // AuditLogConfig: Provides the configuration for logging a type of | 
|  | // permissions. | 
|  | // Example: | 
|  | // | 
|  | //     { | 
|  | //       "audit_log_configs": [ | 
|  | //         { | 
|  | //           "log_type": "DATA_READ", | 
|  | //           "exempted_members": [ | 
|  | //             "user:jose@example.com" | 
|  | //           ] | 
|  | //         }, | 
|  | //         { | 
|  | //           "log_type": "DATA_WRITE" | 
|  | //         } | 
|  | //       ] | 
|  | //     } | 
|  | // | 
|  | // This enables 'DATA_READ' and 'DATA_WRITE' logging, while | 
|  | // exempting | 
|  | // jose@example.com from DATA_READ logging. | 
|  | type AuditLogConfig struct { | 
|  | // ExemptedMembers: Specifies the identities that do not cause logging | 
|  | // for this type of | 
|  | // permission. | 
|  | // Follows the same format of Binding.members. | 
|  | ExemptedMembers []string `json:"exemptedMembers,omitempty"` | 
|  |  | 
|  | // LogType: The log type that this config enables. | 
|  | // | 
|  | // Possible values: | 
|  | //   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. | 
|  | //   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy | 
|  | //   "DATA_WRITE" - Data writes. Example: CloudSQL Users create | 
|  | //   "DATA_READ" - Data reads. Example: CloudSQL Users list | 
|  | LogType string `json:"logType,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "ExemptedMembers") to | 
|  | // include in API requests with the JSON null value. By default, fields | 
|  | // with empty values are omitted from API requests. However, any field | 
|  | // with an empty value appearing in NullFields will be sent to the | 
|  | // server as null. It is an error if a field in this list has a | 
|  | // non-empty value. This may be used to include null fields in Patch | 
|  | // requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *AuditLogConfig) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod AuditLogConfig | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // Binding: Associates `members` 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 members in this binding. | 
|  | // | 
|  | // To learn which resources support conditions in their IAM policies, | 
|  | // see | 
|  | // the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/r | 
|  | // esource-policies). | 
|  | Condition *Expr `json:"condition,omitempty"` | 
|  |  | 
|  | // Members: Specifies the identities requesting access for a Cloud | 
|  | // Platform resource. | 
|  | // `members` can have the following values: | 
|  | // | 
|  | // * `allUsers`: A special identifier that represents anyone who is | 
|  | //    on the internet; with or without a Google account. | 
|  | // | 
|  | // * `allAuthenticatedUsers`: A special identifier that represents | 
|  | // anyone | 
|  | //    who is authenticated with a Google account or a service | 
|  | // account. | 
|  | // | 
|  | // * `user:{emailid}`: An email address that represents a specific | 
|  | // Google | 
|  | //    account. For example, `alice@example.com` . | 
|  | // | 
|  | // | 
|  | // * `serviceAccount:{emailid}`: An email address that represents a | 
|  | // service | 
|  | //    account. For example, | 
|  | // `my-other-app@appspot.gserviceaccount.com`. | 
|  | // | 
|  | // * `group:{emailid}`: An email address that represents a Google | 
|  | // group. | 
|  | //    For example, `admins@example.com`. | 
|  | // | 
|  | // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus | 
|  | // unique | 
|  | //    identifier) representing a user that has been recently deleted. | 
|  | // For | 
|  | //    example, `alice@example.com?uid=123456789012345678901`. If the | 
|  | // user is | 
|  | //    recovered, this value reverts to `user:{emailid}` and the | 
|  | // recovered user | 
|  | //    retains the role in the binding. | 
|  | // | 
|  | // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address | 
|  | // (plus | 
|  | //    unique identifier) representing a service account that has been | 
|  | // recently | 
|  | //    deleted. For example, | 
|  | // | 
|  | // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. | 
|  | // | 
|  | //    If the service account is undeleted, this value reverts to | 
|  | //    `serviceAccount:{emailid}` and the undeleted service account | 
|  | // retains the | 
|  | //    role in the binding. | 
|  | // | 
|  | // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus | 
|  | // unique | 
|  | //    identifier) representing a Google group that has been recently | 
|  | //    deleted. For example, | 
|  | // `admins@example.com?uid=123456789012345678901`. If | 
|  | //    the group is recovered, this value reverts to `group:{emailid}` | 
|  | // and the | 
|  | //    recovered group retains the role in the binding. | 
|  | // | 
|  | // | 
|  | // * `domain:{domain}`: The G Suite domain (primary) that represents all | 
|  | // the | 
|  | //    users of that domain. For example, `google.com` or | 
|  | // `example.com`. | 
|  | // | 
|  | // | 
|  | Members []string `json:"members,omitempty"` | 
|  |  | 
|  | // Role: Role that is assigned to `members`. | 
|  | // For example, `roles/viewer`, `roles/editor`, or `roles/owner`. | 
|  | Role string `json:"role,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Condition") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Condition") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *Binding) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Binding | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // CloudSqlCredential: Credential info for the Cloud SQL. | 
|  | type CloudSqlCredential struct { | 
|  | // Password: The password for the credential. | 
|  | Password string `json:"password,omitempty"` | 
|  |  | 
|  | // Username: The username for the credential. | 
|  | Username string `json:"username,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Password") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Password") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *CloudSqlCredential) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod CloudSqlCredential | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // CloudSqlProperties: Connection properties specific to the Cloud SQL. | 
|  | type CloudSqlProperties struct { | 
|  | // Credential: Input only. Cloud SQL credential. | 
|  | Credential *CloudSqlCredential `json:"credential,omitempty"` | 
|  |  | 
|  | // Database: Database name. | 
|  | Database string `json:"database,omitempty"` | 
|  |  | 
|  | // InstanceId: Cloud SQL instance ID in the form | 
|  | // `project:location:instance`. | 
|  | InstanceId string `json:"instanceId,omitempty"` | 
|  |  | 
|  | // Type: Type of the Cloud SQL database. | 
|  | // | 
|  | // Possible values: | 
|  | //   "DATABASE_TYPE_UNSPECIFIED" - Unspecified database type. | 
|  | //   "POSTGRES" - Cloud SQL for PostgreSQL. | 
|  | //   "MYSQL" - Cloud SQL for MySQL. | 
|  | Type string `json:"type,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Credential") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Credential") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *CloudSqlProperties) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod CloudSqlProperties | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // Connection: Configuration parameters to establish connection with an | 
|  | // external data | 
|  | // source, except the credential attributes. | 
|  | type Connection struct { | 
|  | // CloudSql: Cloud SQL properties. | 
|  | CloudSql *CloudSqlProperties `json:"cloudSql,omitempty"` | 
|  |  | 
|  | // CreationTime: Output only. The creation timestamp of the connection. | 
|  | CreationTime int64 `json:"creationTime,omitempty,string"` | 
|  |  | 
|  | // Description: User provided description. | 
|  | Description string `json:"description,omitempty"` | 
|  |  | 
|  | // FriendlyName: User provided display name for the connection. | 
|  | FriendlyName string `json:"friendlyName,omitempty"` | 
|  |  | 
|  | // HasCredential: Output only. True, if credential is configured for | 
|  | // this connection. | 
|  | HasCredential bool `json:"hasCredential,omitempty"` | 
|  |  | 
|  | // LastModifiedTime: Output only. The last update timestamp of the | 
|  | // connection. | 
|  | LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"` | 
|  |  | 
|  | // Name: The resource name of the connection in the form | 
|  | // of: | 
|  | // `projects/{project_id}/locations/{location_id}/connections/{connec | 
|  | // tion_id}` | 
|  | Name string `json:"name,omitempty"` | 
|  |  | 
|  | // ServerResponse contains the HTTP response code and headers from the | 
|  | // server. | 
|  | googleapi.ServerResponse `json:"-"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "CloudSql") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "CloudSql") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *Connection) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Connection | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // ConnectionCredential: Credential to use with a connection. | 
|  | type ConnectionCredential struct { | 
|  | // CloudSql: Credential for Cloud SQL database. | 
|  | CloudSql *CloudSqlCredential `json:"cloudSql,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "CloudSql") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "CloudSql") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *ConnectionCredential) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod ConnectionCredential | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // Empty: A generic empty message that you can re-use to avoid defining | 
|  | // duplicated | 
|  | // empty messages in your APIs. A typical example is to use it as the | 
|  | // request | 
|  | // or the response type of an API method. For instance: | 
|  | // | 
|  | //     service Foo { | 
|  | //       rpc Bar(google.protobuf.Empty) returns | 
|  | // (google.protobuf.Empty); | 
|  | //     } | 
|  | // | 
|  | // The JSON representation for `Empty` is empty JSON object `{}`. | 
|  | type Empty struct { | 
|  | // ServerResponse contains the HTTP response code and headers from the | 
|  | // server. | 
|  | googleapi.ServerResponse `json:"-"` | 
|  | } | 
|  |  | 
|  | // 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 values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Description") to include | 
|  | // in API requests with the JSON null value. By default, fields with | 
|  | // empty values are omitted from API requests. However, any field with | 
|  | // an empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *Expr) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Expr | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // GetIamPolicyRequest: Request message for `GetIamPolicy` method. | 
|  | type GetIamPolicyRequest struct { | 
|  | // Options: OPTIONAL: A `GetPolicyOptions` object for specifying options | 
|  | // to | 
|  | // `GetIamPolicy`. | 
|  | Options *GetPolicyOptions `json:"options,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "Options") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Options") to include in | 
|  | // API requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *GetIamPolicyRequest) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod GetIamPolicyRequest | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy. | 
|  | type GetPolicyOptions struct { | 
|  | // RequestedPolicyVersion: Optional. The policy format version to be | 
|  | // returned. | 
|  | // | 
|  | // Valid values are 0, 1, and 3. Requests specifying an invalid value | 
|  | // will be | 
|  | // rejected. | 
|  | // | 
|  | // Requests for policies with any conditional bindings must specify | 
|  | // version 3. | 
|  | // Policies without any conditional bindings may specify any valid value | 
|  | // 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/r | 
|  | // esource-policies). | 
|  | RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. | 
|  | // "RequestedPolicyVersion") to unconditionally include in API requests. | 
|  | // By default, fields with empty values are omitted from API requests. | 
|  | // However, any non-pointer, non-interface field appearing in | 
|  | // ForceSendFields will be sent to the server regardless of whether the | 
|  | // field is empty or not. This may be used to include empty fields in | 
|  | // Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "RequestedPolicyVersion") | 
|  | // to include in API requests with the JSON null value. By default, | 
|  | // fields with empty values are omitted from API requests. However, any | 
|  | // field with an empty value appearing in NullFields will be sent to the | 
|  | // server as null. It is an error if a field in this list has a | 
|  | // non-empty value. This may be used to include null fields in Patch | 
|  | // requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *GetPolicyOptions) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod GetPolicyOptions | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // ListConnectionsResponse: The response for | 
|  | // ConnectionService.ListConnections. | 
|  | type ListConnectionsResponse struct { | 
|  | // Connections: List of connections. | 
|  | Connections []*Connection `json:"connections,omitempty"` | 
|  |  | 
|  | // NextPageToken: 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. "Connections") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Connections") to include | 
|  | // in API requests with the JSON null value. By default, fields with | 
|  | // empty values are omitted from API requests. However, any field with | 
|  | // an empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *ListConnectionsResponse) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod ListConnectionsResponse | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // Policy: An Identity and Access Management (IAM) policy, which | 
|  | // specifies access | 
|  | // controls for Google Cloud resources. | 
|  | // | 
|  | // | 
|  | // A `Policy` is a collection of `bindings`. A `binding` binds one or | 
|  | // more | 
|  | // `members` to a single `role`. Members can be user accounts, service | 
|  | // accounts, | 
|  | // Google groups, and domains (such as G Suite). A `role` is a named | 
|  | // list of | 
|  | // permissions; each `role` can be an IAM predefined role or a | 
|  | // user-created | 
|  | // custom role. | 
|  | // | 
|  | // 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-p | 
|  | // olicies). | 
|  | // | 
|  | // **JSON example:** | 
|  | // | 
|  | //     { | 
|  | //       "bindings": [ | 
|  | //         { | 
|  | //           "role": "roles/resourcemanager.organizationAdmin", | 
|  | //           "members": [ | 
|  | //             "user:mike@example.com", | 
|  | //             "group:admins@example.com", | 
|  | //             "domain:google.com", | 
|  | // | 
|  | // "serviceAccount:my-project-id@appspot.gserviceaccount.com" | 
|  | //           ] | 
|  | //         }, | 
|  | //         { | 
|  | //           "role": "roles/resourcemanager.organizationViewer", | 
|  | //           "members": [ | 
|  | //             "user:eve@example.com" | 
|  | //           ], | 
|  | //           "condition": { | 
|  | //             "title": "expirable access", | 
|  | //             "description": "Does not grant access after Sep 2020", | 
|  | //             "expression": "request.time < | 
|  | // timestamp('2020-10-01T00:00:00.000Z')", | 
|  | //           } | 
|  | //         } | 
|  | //       ], | 
|  | //       "etag": "BwWWja0YfJA=", | 
|  | //       "version": 3 | 
|  | //     } | 
|  | // | 
|  | // **YAML example:** | 
|  | // | 
|  | //     bindings: | 
|  | //     - members: | 
|  | //       - user:mike@example.com | 
|  | //       - group:admins@example.com | 
|  | //       - domain:google.com | 
|  | //       - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
|  | //       role: roles/resourcemanager.organizationAdmin | 
|  | //     - members: | 
|  | //       - user:eve@example.com | 
|  | //       role: roles/resourcemanager.organizationViewer | 
|  | //       condition: | 
|  | //         title: expirable access | 
|  | //         description: Does not grant access after Sep 2020 | 
|  | //         expression: request.time < | 
|  | // timestamp('2020-10-01T00:00:00.000Z') | 
|  | //     - etag: BwWWja0YfJA= | 
|  | //     - version: 3 | 
|  | // | 
|  | // For a description of IAM and its features, see the | 
|  | // [IAM documentation](https://cloud.google.com/iam/docs/). | 
|  | type Policy struct { | 
|  | // AuditConfigs: Specifies cloud audit logging configuration for this | 
|  | // policy. | 
|  | AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"` | 
|  |  | 
|  | // Bindings: Associates a list of `members` to a `role`. Optionally, may | 
|  | // specify a | 
|  | // `condition` that determines how and when the `bindings` are applied. | 
|  | // Each | 
|  | // of the `bindings` must contain at least one member. | 
|  | Bindings []*Binding `json:"bindings,omitempty"` | 
|  |  | 
|  | // Etag: `etag` is used for optimistic concurrency control as a way to | 
|  | // help | 
|  | // prevent simultaneous updates of a policy from overwriting each | 
|  | // other. | 
|  | // It is strongly suggested that systems make use of the `etag` in | 
|  | // the | 
|  | // read-modify-write cycle to perform policy updates in order to avoid | 
|  | // race | 
|  | // conditions: An `etag` is returned in the response to `getIamPolicy`, | 
|  | // and | 
|  | // systems are expected to put that etag in the request to | 
|  | // `setIamPolicy` to | 
|  | // ensure that their change will be applied to the same version of the | 
|  | // policy. | 
|  | // | 
|  | // **Important:** If you use IAM Conditions, you must include the `etag` | 
|  | // field | 
|  | // whenever you call `setIamPolicy`. If you omit this field, then IAM | 
|  | // allows | 
|  | // you to overwrite a version `3` policy with a version `1` policy, and | 
|  | // all of | 
|  | // the conditions in the version `3` policy are lost. | 
|  | Etag string `json:"etag,omitempty"` | 
|  |  | 
|  | // Version: Specifies the format of the policy. | 
|  | // | 
|  | // Valid values are `0`, `1`, and `3`. Requests that specify an invalid | 
|  | // value | 
|  | // are rejected. | 
|  | // | 
|  | // Any operation that affects conditional role bindings must specify | 
|  | // version | 
|  | // `3`. This requirement applies to the following operations: | 
|  | // | 
|  | // * Getting a policy that includes a conditional role binding | 
|  | // * Adding a conditional role binding to a policy | 
|  | // * Changing a conditional role binding in a policy | 
|  | // * Removing any role binding, with or without a condition, from a | 
|  | // policy | 
|  | //   that includes conditions | 
|  | // | 
|  | // **Important:** If you use IAM Conditions, you must include the `etag` | 
|  | // field | 
|  | // whenever you call `setIamPolicy`. If you omit this field, then IAM | 
|  | // allows | 
|  | // you to overwrite a version `3` policy with a version `1` policy, and | 
|  | // all of | 
|  | // the conditions in the version `3` policy are lost. | 
|  | // | 
|  | // If a policy does not include any conditions, operations on that | 
|  | // policy may | 
|  | // specify any valid version or leave the field unset. | 
|  | // | 
|  | // To learn which resources support conditions in their IAM policies, | 
|  | // see the | 
|  | // [IAM | 
|  | // documentation](https://cloud.google.com/iam/help/conditions/resource-p | 
|  | // olicies). | 
|  | Version int64 `json:"version,omitempty"` | 
|  |  | 
|  | // ServerResponse contains the HTTP response code and headers from the | 
|  | // server. | 
|  | googleapi.ServerResponse `json:"-"` | 
|  |  | 
|  | // ForceSendFields is a list of field names (e.g. "AuditConfigs") to | 
|  | // unconditionally include in API requests. By default, fields with | 
|  | // empty values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "AuditConfigs") to include | 
|  | // in API requests with the JSON null value. By default, fields with | 
|  | // empty values are omitted from API requests. However, any field with | 
|  | // an empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *Policy) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod Policy | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // 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 Cloud Platform 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 values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Policy") to include in API | 
|  | // requests with the JSON null value. By default, fields with empty | 
|  | // values are omitted from API requests. However, any field with an | 
|  | // empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod SetIamPolicyRequest | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Permissions") to include | 
|  | // in API requests with the JSON null value. By default, fields with | 
|  | // empty values are omitted from API requests. However, any field with | 
|  | // an empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod TestIamPermissionsRequest | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, 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 values are omitted from API requests. However, any non-pointer, | 
|  | // non-interface field appearing in ForceSendFields will be sent to the | 
|  | // server regardless of whether the field is empty or not. This may be | 
|  | // used to include empty fields in Patch requests. | 
|  | ForceSendFields []string `json:"-"` | 
|  |  | 
|  | // NullFields is a list of field names (e.g. "Permissions") to include | 
|  | // in API requests with the JSON null value. By default, fields with | 
|  | // empty values are omitted from API requests. However, any field with | 
|  | // an empty value appearing in NullFields will be sent to the server as | 
|  | // null. It is an error if a field in this list has a non-empty value. | 
|  | // This may be used to include null fields in Patch requests. | 
|  | NullFields []string `json:"-"` | 
|  | } | 
|  |  | 
|  | func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error) { | 
|  | type NoMethod TestIamPermissionsResponse | 
|  | raw := NoMethod(*s) | 
|  | return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.create": | 
|  |  | 
|  | type ProjectsLocationsConnectionsCreateCall struct { | 
|  | s          *Service | 
|  | parent     string | 
|  | connection *Connection | 
|  | urlParams_ gensupport.URLParams | 
|  | ctx_       context.Context | 
|  | header_    http.Header | 
|  | } | 
|  |  | 
|  | // Create: Creates a new connection. | 
|  | func (r *ProjectsLocationsConnectionsService) Create(parent string, connection *Connection) *ProjectsLocationsConnectionsCreateCall { | 
|  | c := &ProjectsLocationsConnectionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
|  | c.parent = parent | 
|  | c.connection = connection | 
|  | return c | 
|  | } | 
|  |  | 
|  | // ConnectionId sets the optional parameter "connectionId": Connection | 
|  | // id that should be assigned to the created connection. | 
|  | func (c *ProjectsLocationsConnectionsCreateCall) ConnectionId(connectionId string) *ProjectsLocationsConnectionsCreateCall { | 
|  | c.urlParams_.Set("connectionId", connectionId) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Fields allows partial responses to be retrieved. See | 
|  | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
|  | // for more information. | 
|  | func (c *ProjectsLocationsConnectionsCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsCreateCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsCreateCall) Context(ctx context.Context) *ProjectsLocationsConnectionsCreateCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsCreateCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsCreateCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.connection) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/connections") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("POST", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "parent": c.parent, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.create" call. | 
|  | // Exactly one of *Connection or error will be non-nil. Any non-2xx | 
|  | // status code is an error. Response headers are in either | 
|  | // *Connection.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 *ProjectsLocationsConnectionsCreateCall) Do(opts ...googleapi.CallOption) (*Connection, 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, &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, err | 
|  | } | 
|  | ret := &Connection{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Creates a new connection.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections", | 
|  | //   "httpMethod": "POST", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.create", | 
|  | //   "parameterOrder": [ | 
|  | //     "parent" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "connectionId": { | 
|  | //       "description": "Optional. Connection id that should be assigned to the created connection.", | 
|  | //       "location": "query", | 
|  | //       "type": "string" | 
|  | //     }, | 
|  | //     "parent": { | 
|  | //       "description": "Required. Parent resource name.\nMust be in the format `projects/{project_id}/locations/{location_id}`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+parent}/connections", | 
|  | //   "request": { | 
|  | //     "$ref": "Connection" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "Connection" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.delete": | 
|  |  | 
|  | type ProjectsLocationsConnectionsDeleteCall struct { | 
|  | s          *Service | 
|  | name       string | 
|  | urlParams_ gensupport.URLParams | 
|  | ctx_       context.Context | 
|  | header_    http.Header | 
|  | } | 
|  |  | 
|  | // Delete: Deletes connection and associated credential. | 
|  | func (r *ProjectsLocationsConnectionsService) Delete(name string) *ProjectsLocationsConnectionsDeleteCall { | 
|  | c := &ProjectsLocationsConnectionsDeleteCall{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 information. | 
|  | func (c *ProjectsLocationsConnectionsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsDeleteCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsDeleteCall) Context(ctx context.Context) *ProjectsLocationsConnectionsDeleteCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsDeleteCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsDeleteCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("DELETE", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "name": c.name, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.delete" call. | 
|  | // Exactly one of *Empty or error will be non-nil. Any non-2xx status | 
|  | // code is an error. Response headers are in either | 
|  | // *Empty.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 *ProjectsLocationsConnectionsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err | 
|  | } | 
|  | ret := &Empty{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Deletes connection and associated credential.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", | 
|  | //   "httpMethod": "DELETE", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.delete", | 
|  | //   "parameterOrder": [ | 
|  | //     "name" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "name": { | 
|  | //       "description": "Required. Name of the deleted connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+name}", | 
|  | //   "response": { | 
|  | //     "$ref": "Empty" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.get": | 
|  |  | 
|  | type ProjectsLocationsConnectionsGetCall struct { | 
|  | s            *Service | 
|  | name         string | 
|  | urlParams_   gensupport.URLParams | 
|  | ifNoneMatch_ string | 
|  | ctx_         context.Context | 
|  | header_      http.Header | 
|  | } | 
|  |  | 
|  | // Get: Returns specified connection. | 
|  | func (r *ProjectsLocationsConnectionsService) Get(name string) *ProjectsLocationsConnectionsGetCall { | 
|  | c := &ProjectsLocationsConnectionsGetCall{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 information. | 
|  | func (c *ProjectsLocationsConnectionsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsGetCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // IfNoneMatch sets the optional parameter which makes the operation | 
|  | // fail if the object's ETag matches the given value. This is useful for | 
|  | // getting updates only after the object has changed since the last | 
|  | // request. Use googleapi.IsNotModified to check whether the response | 
|  | // error from Do is the result of In-None-Match. | 
|  | func (c *ProjectsLocationsConnectionsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsGetCall { | 
|  | c.ifNoneMatch_ = entityTag | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsGetCall) Context(ctx context.Context) *ProjectsLocationsConnectionsGetCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsGetCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsGetCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | if c.ifNoneMatch_ != "" { | 
|  | reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
|  | } | 
|  | var body io.Reader = nil | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("GET", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "name": c.name, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.get" call. | 
|  | // Exactly one of *Connection or error will be non-nil. Any non-2xx | 
|  | // status code is an error. Response headers are in either | 
|  | // *Connection.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 *ProjectsLocationsConnectionsGetCall) Do(opts ...googleapi.CallOption) (*Connection, 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, &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, err | 
|  | } | 
|  | ret := &Connection{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Returns specified connection.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", | 
|  | //   "httpMethod": "GET", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.get", | 
|  | //   "parameterOrder": [ | 
|  | //     "name" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "name": { | 
|  | //       "description": "Required. Name of the requested connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+name}", | 
|  | //   "response": { | 
|  | //     "$ref": "Connection" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.getIamPolicy": | 
|  |  | 
|  | type ProjectsLocationsConnectionsGetIamPolicyCall struct { | 
|  | s                   *Service | 
|  | resource            string | 
|  | getiampolicyrequest *GetIamPolicyRequest | 
|  | urlParams_          gensupport.URLParams | 
|  | ctx_                context.Context | 
|  | header_             http.Header | 
|  | } | 
|  |  | 
|  | // GetIamPolicy: Gets the access control policy for a resource. | 
|  | // Returns an empty policy if the resource exists and does not have a | 
|  | // policy | 
|  | // set. | 
|  | func (r *ProjectsLocationsConnectionsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsConnectionsGetIamPolicyCall { | 
|  | c := &ProjectsLocationsConnectionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
|  | c.resource = resource | 
|  | c.getiampolicyrequest = getiampolicyrequest | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Fields allows partial responses to be retrieved. See | 
|  | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
|  | // for more information. | 
|  | func (c *ProjectsLocationsConnectionsGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsGetIamPolicyCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsGetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionsGetIamPolicyCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsGetIamPolicyCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.getiampolicyrequest) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:getIamPolicy") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("POST", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "resource": c.resource, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.getIamPolicy" call. | 
|  | // Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsConnectionsGetIamPolicyCall) 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, &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, err | 
|  | } | 
|  | ret := &Policy{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy", | 
|  | //   "httpMethod": "POST", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.getIamPolicy", | 
|  | //   "parameterOrder": [ | 
|  | //     "resource" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "resource": { | 
|  | //       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+resource}:getIamPolicy", | 
|  | //   "request": { | 
|  | //     "$ref": "GetIamPolicyRequest" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "Policy" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.list": | 
|  |  | 
|  | type ProjectsLocationsConnectionsListCall struct { | 
|  | s            *Service | 
|  | parent       string | 
|  | urlParams_   gensupport.URLParams | 
|  | ifNoneMatch_ string | 
|  | ctx_         context.Context | 
|  | header_      http.Header | 
|  | } | 
|  |  | 
|  | // List: Returns a list of connections in the given project. | 
|  | func (r *ProjectsLocationsConnectionsService) List(parent string) *ProjectsLocationsConnectionsListCall { | 
|  | c := &ProjectsLocationsConnectionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
|  | c.parent = parent | 
|  | return c | 
|  | } | 
|  |  | 
|  | // MaxResults sets the optional parameter "maxResults": Required. | 
|  | // Maximum number of results per page. | 
|  | func (c *ProjectsLocationsConnectionsListCall) MaxResults(maxResults int64) *ProjectsLocationsConnectionsListCall { | 
|  | c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // PageToken sets the optional parameter "pageToken": Page token. | 
|  | func (c *ProjectsLocationsConnectionsListCall) PageToken(pageToken string) *ProjectsLocationsConnectionsListCall { | 
|  | 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 information. | 
|  | func (c *ProjectsLocationsConnectionsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsListCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // IfNoneMatch sets the optional parameter which makes the operation | 
|  | // fail if the object's ETag matches the given value. This is useful for | 
|  | // getting updates only after the object has changed since the last | 
|  | // request. Use googleapi.IsNotModified to check whether the response | 
|  | // error from Do is the result of In-None-Match. | 
|  | func (c *ProjectsLocationsConnectionsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsConnectionsListCall { | 
|  | c.ifNoneMatch_ = entityTag | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsListCall) Context(ctx context.Context) *ProjectsLocationsConnectionsListCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsListCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsListCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | if c.ifNoneMatch_ != "" { | 
|  | reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
|  | } | 
|  | var body io.Reader = nil | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/connections") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("GET", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "parent": c.parent, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.list" call. | 
|  | // Exactly one of *ListConnectionsResponse or error will be non-nil. Any | 
|  | // non-2xx status code is an error. Response headers are in either | 
|  | // *ListConnectionsResponse.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 *ProjectsLocationsConnectionsListCall) Do(opts ...googleapi.CallOption) (*ListConnectionsResponse, 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, &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, err | 
|  | } | 
|  | ret := &ListConnectionsResponse{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Returns a list of connections in the given project.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections", | 
|  | //   "httpMethod": "GET", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.list", | 
|  | //   "parameterOrder": [ | 
|  | //     "parent" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "maxResults": { | 
|  | //       "description": "Required. Maximum number of results per page.", | 
|  | //       "format": "uint32", | 
|  | //       "location": "query", | 
|  | //       "type": "integer" | 
|  | //     }, | 
|  | //     "pageToken": { | 
|  | //       "description": "Page token.", | 
|  | //       "location": "query", | 
|  | //       "type": "string" | 
|  | //     }, | 
|  | //     "parent": { | 
|  | //       "description": "Required. Parent resource name.\nMust be in the form: `projects/{project_id}/locations/{location_id}`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+parent}/connections", | 
|  | //   "response": { | 
|  | //     "$ref": "ListConnectionsResponse" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // 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 *ProjectsLocationsConnectionsListCall) Pages(ctx context.Context, f func(*ListConnectionsResponse) error) error { | 
|  | c.ctx_ = ctx | 
|  | defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
|  | 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) | 
|  | } | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.patch": | 
|  |  | 
|  | type ProjectsLocationsConnectionsPatchCall struct { | 
|  | s          *Service | 
|  | name       string | 
|  | connection *Connection | 
|  | urlParams_ gensupport.URLParams | 
|  | ctx_       context.Context | 
|  | header_    http.Header | 
|  | } | 
|  |  | 
|  | // Patch: Updates the specified connection. For security reasons, also | 
|  | // resets | 
|  | // credential if connection properties are in the update field mask. | 
|  | func (r *ProjectsLocationsConnectionsService) Patch(name string, connection *Connection) *ProjectsLocationsConnectionsPatchCall { | 
|  | c := &ProjectsLocationsConnectionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
|  | c.name = name | 
|  | c.connection = connection | 
|  | return c | 
|  | } | 
|  |  | 
|  | // UpdateMask sets the optional parameter "updateMask": Required. Update | 
|  | // mask for the connection fields to be updated. | 
|  | func (c *ProjectsLocationsConnectionsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsConnectionsPatchCall { | 
|  | 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 information. | 
|  | func (c *ProjectsLocationsConnectionsPatchCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsPatchCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsPatchCall) Context(ctx context.Context) *ProjectsLocationsConnectionsPatchCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsPatchCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsPatchCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.connection) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("PATCH", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "name": c.name, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.patch" call. | 
|  | // Exactly one of *Connection or error will be non-nil. Any non-2xx | 
|  | // status code is an error. Response headers are in either | 
|  | // *Connection.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 *ProjectsLocationsConnectionsPatchCall) Do(opts ...googleapi.CallOption) (*Connection, 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, &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, err | 
|  | } | 
|  | ret := &Connection{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Updates the specified connection. For security reasons, also resets\ncredential if connection properties are in the update field mask.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}", | 
|  | //   "httpMethod": "PATCH", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.patch", | 
|  | //   "parameterOrder": [ | 
|  | //     "name" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "name": { | 
|  | //       "description": "Required. Name of the connection to update, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     }, | 
|  | //     "updateMask": { | 
|  | //       "description": "Required. Update mask for the connection fields to be updated.", | 
|  | //       "format": "google-fieldmask", | 
|  | //       "location": "query", | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+name}", | 
|  | //   "request": { | 
|  | //     "$ref": "Connection" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "Connection" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.setIamPolicy": | 
|  |  | 
|  | type ProjectsLocationsConnectionsSetIamPolicyCall struct { | 
|  | s                   *Service | 
|  | resource            string | 
|  | setiampolicyrequest *SetIamPolicyRequest | 
|  | urlParams_          gensupport.URLParams | 
|  | ctx_                context.Context | 
|  | header_             http.Header | 
|  | } | 
|  |  | 
|  | // SetIamPolicy: Sets the access control policy on the specified | 
|  | // resource. Replaces any | 
|  | // existing policy. | 
|  | // | 
|  | // Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` | 
|  | // errors. | 
|  | func (r *ProjectsLocationsConnectionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsConnectionsSetIamPolicyCall { | 
|  | c := &ProjectsLocationsConnectionsSetIamPolicyCall{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 information. | 
|  | func (c *ProjectsLocationsConnectionsSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsSetIamPolicyCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsSetIamPolicyCall) Context(ctx context.Context) *ProjectsLocationsConnectionsSetIamPolicyCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsSetIamPolicyCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.setiampolicyrequest) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:setIamPolicy") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("POST", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "resource": c.resource, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.setIamPolicy" call. | 
|  | // Exactly one of *Policy or error will be non-nil. 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 *ProjectsLocationsConnectionsSetIamPolicyCall) 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, &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, err | 
|  | } | 
|  | ret := &Policy{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy", | 
|  | //   "httpMethod": "POST", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.setIamPolicy", | 
|  | //   "parameterOrder": [ | 
|  | //     "resource" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "resource": { | 
|  | //       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+resource}:setIamPolicy", | 
|  | //   "request": { | 
|  | //     "$ref": "SetIamPolicyRequest" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "Policy" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.testIamPermissions": | 
|  |  | 
|  | type ProjectsLocationsConnectionsTestIamPermissionsCall struct { | 
|  | s                         *Service | 
|  | resource                  string | 
|  | testiampermissionsrequest *TestIamPermissionsRequest | 
|  | urlParams_                gensupport.URLParams | 
|  | ctx_                      context.Context | 
|  | header_                   http.Header | 
|  | } | 
|  |  | 
|  | // TestIamPermissions: Returns permissions that a caller has on the | 
|  | // specified resource. | 
|  | // If the resource does not exist, this will return an empty set | 
|  | // of | 
|  | // permissions, not a `NOT_FOUND` error. | 
|  | // | 
|  | // Note: This operation is designed to be used for building | 
|  | // permission-aware | 
|  | // UIs and command-line tools, not for authorization checking. This | 
|  | // operation | 
|  | // may "fail open" without warning. | 
|  | func (r *ProjectsLocationsConnectionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsConnectionsTestIamPermissionsCall { | 
|  | c := &ProjectsLocationsConnectionsTestIamPermissionsCall{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 information. | 
|  | func (c *ProjectsLocationsConnectionsTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsTestIamPermissionsCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsTestIamPermissionsCall) Context(ctx context.Context) *ProjectsLocationsConnectionsTestIamPermissionsCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsTestIamPermissionsCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.testiampermissionsrequest) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+resource}:testIamPermissions") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("POST", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "resource": c.resource, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.testIamPermissions" call. | 
|  | // Exactly one of *TestIamPermissionsResponse or error will be non-nil. | 
|  | // 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 *ProjectsLocationsConnectionsTestIamPermissionsCall) 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, &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, err | 
|  | } | 
|  | ret := &TestIamPermissionsResponse{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions", | 
|  | //   "httpMethod": "POST", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.testIamPermissions", | 
|  | //   "parameterOrder": [ | 
|  | //     "resource" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "resource": { | 
|  | //       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+resource}:testIamPermissions", | 
|  | //   "request": { | 
|  | //     "$ref": "TestIamPermissionsRequest" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "TestIamPermissionsResponse" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } | 
|  |  | 
|  | // method id "bigqueryconnection.projects.locations.connections.updateCredential": | 
|  |  | 
|  | type ProjectsLocationsConnectionsUpdateCredentialCall struct { | 
|  | s                    *Service | 
|  | name                 string | 
|  | connectioncredential *ConnectionCredential | 
|  | urlParams_           gensupport.URLParams | 
|  | ctx_                 context.Context | 
|  | header_              http.Header | 
|  | } | 
|  |  | 
|  | // UpdateCredential: Sets the credential for the specified connection. | 
|  | func (r *ProjectsLocationsConnectionsService) UpdateCredential(name string, connectioncredential *ConnectionCredential) *ProjectsLocationsConnectionsUpdateCredentialCall { | 
|  | c := &ProjectsLocationsConnectionsUpdateCredentialCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
|  | c.name = name | 
|  | c.connectioncredential = connectioncredential | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Fields allows partial responses to be retrieved. See | 
|  | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
|  | // for more information. | 
|  | func (c *ProjectsLocationsConnectionsUpdateCredentialCall) Fields(s ...googleapi.Field) *ProjectsLocationsConnectionsUpdateCredentialCall { | 
|  | c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Context sets the context to be used in this call's Do method. Any | 
|  | // pending HTTP request will be aborted if the provided context is | 
|  | // canceled. | 
|  | func (c *ProjectsLocationsConnectionsUpdateCredentialCall) Context(ctx context.Context) *ProjectsLocationsConnectionsUpdateCredentialCall { | 
|  | c.ctx_ = ctx | 
|  | return c | 
|  | } | 
|  |  | 
|  | // Header returns an http.Header that can be modified by the caller to | 
|  | // add HTTP headers to the request. | 
|  | func (c *ProjectsLocationsConnectionsUpdateCredentialCall) Header() http.Header { | 
|  | if c.header_ == nil { | 
|  | c.header_ = make(http.Header) | 
|  | } | 
|  | return c.header_ | 
|  | } | 
|  |  | 
|  | func (c *ProjectsLocationsConnectionsUpdateCredentialCall) doRequest(alt string) (*http.Response, error) { | 
|  | reqHeaders := make(http.Header) | 
|  | reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200715") | 
|  | for k, v := range c.header_ { | 
|  | reqHeaders[k] = v | 
|  | } | 
|  | reqHeaders.Set("User-Agent", c.s.userAgent()) | 
|  | var body io.Reader = nil | 
|  | body, err := googleapi.WithoutDataWrapper.JSONReader(c.connectioncredential) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | reqHeaders.Set("Content-Type", "application/json") | 
|  | c.urlParams_.Set("alt", alt) | 
|  | c.urlParams_.Set("prettyPrint", "false") | 
|  | urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") | 
|  | urls += "?" + c.urlParams_.Encode() | 
|  | req, err := http.NewRequest("PATCH", urls, body) | 
|  | if err != nil { | 
|  | return nil, err | 
|  | } | 
|  | req.Header = reqHeaders | 
|  | googleapi.Expand(req.URL, map[string]string{ | 
|  | "name": c.name, | 
|  | }) | 
|  | return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
|  | } | 
|  |  | 
|  | // Do executes the "bigqueryconnection.projects.locations.connections.updateCredential" call. | 
|  | // Exactly one of *Empty or error will be non-nil. Any non-2xx status | 
|  | // code is an error. Response headers are in either | 
|  | // *Empty.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 *ProjectsLocationsConnectionsUpdateCredentialCall) Do(opts ...googleapi.CallOption) (*Empty, 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, &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, err | 
|  | } | 
|  | ret := &Empty{ | 
|  | ServerResponse: googleapi.ServerResponse{ | 
|  | Header:         res.Header, | 
|  | HTTPStatusCode: res.StatusCode, | 
|  | }, | 
|  | } | 
|  | target := &ret | 
|  | if err := gensupport.DecodeResponse(target, res); err != nil { | 
|  | return nil, err | 
|  | } | 
|  | return ret, nil | 
|  | // { | 
|  | //   "description": "Sets the credential for the specified connection.", | 
|  | //   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/credential", | 
|  | //   "httpMethod": "PATCH", | 
|  | //   "id": "bigqueryconnection.projects.locations.connections.updateCredential", | 
|  | //   "parameterOrder": [ | 
|  | //     "name" | 
|  | //   ], | 
|  | //   "parameters": { | 
|  | //     "name": { | 
|  | //       "description": "Required. Name of the connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}/credential`", | 
|  | //       "location": "path", | 
|  | //       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/credential$", | 
|  | //       "required": true, | 
|  | //       "type": "string" | 
|  | //     } | 
|  | //   }, | 
|  | //   "path": "v1beta1/{+name}", | 
|  | //   "request": { | 
|  | //     "$ref": "ConnectionCredential" | 
|  | //   }, | 
|  | //   "response": { | 
|  | //     "$ref": "Empty" | 
|  | //   }, | 
|  | //   "scopes": [ | 
|  | //     "https://www.googleapis.com/auth/bigquery", | 
|  | //     "https://www.googleapis.com/auth/cloud-platform" | 
|  | //   ] | 
|  | // } | 
|  |  | 
|  | } |