| // 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 serviceuser provides access to the Service User API. |
| // |
| // For product documentation, see: https://cloud.google.com/service-management/ |
| // |
| // Creating a client |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/serviceuser/v1" |
| // ... |
| // ctx := context.Background() |
| // serviceuserService, err := serviceuser.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: |
| // |
| // serviceuserService, err := serviceuser.NewService(ctx, option.WithScopes(serviceuser.ServiceManagementScope)) |
| // |
| // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: |
| // |
| // serviceuserService, err := serviceuser.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, ...) |
| // serviceuserService, err := serviceuser.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) |
| // |
| // See https://godoc.org/google.golang.org/api/option/ for details on options. |
| package serviceuser // import "google.golang.org/api/serviceuser/v1" |
| |
| import ( |
| "bytes" |
| "context" |
| "encoding/json" |
| "errors" |
| "fmt" |
| "io" |
| "net/http" |
| "net/url" |
| "strconv" |
| "strings" |
| |
| googleapi "google.golang.org/api/googleapi" |
| gensupport "google.golang.org/api/internal/gensupport" |
| option "google.golang.org/api/option" |
| htransport "google.golang.org/api/transport/http" |
| ) |
| |
| // Always reference these packages, just in case the auto-generated code |
| // below doesn't. |
| var _ = bytes.NewBuffer |
| var _ = strconv.Itoa |
| var _ = fmt.Sprintf |
| var _ = json.NewDecoder |
| var _ = io.Copy |
| var _ = url.Parse |
| var _ = gensupport.MarshalJSON |
| var _ = googleapi.Version |
| var _ = errors.New |
| var _ = strings.Replace |
| var _ = context.Canceled |
| |
| const apiId = "serviceuser:v1" |
| const apiName = "serviceuser" |
| const apiVersion = "v1" |
| const basePath = "https://serviceuser.googleapis.com/" |
| |
| // OAuth2 scopes used by this API. |
| const ( |
| // View and manage your data across Google Cloud Platform services |
| CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" |
| |
| // View your data across Google Cloud Platform services |
| CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only" |
| |
| // Manage your Google API service configuration |
| ServiceManagementScope = "https://www.googleapis.com/auth/service.management" |
| ) |
| |
| // NewService creates a new APIService. |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*APIService, error) { |
| scopesOption := option.WithScopes( |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/cloud-platform.read-only", |
| "https://www.googleapis.com/auth/service.management", |
| ) |
| // NOTE: prepend, so we don't override user-specified scopes. |
| opts = append([]option.ClientOption{scopesOption}, opts...) |
| client, endpoint, err := htransport.NewClient(ctx, opts...) |
| if err != nil { |
| return nil, err |
| } |
| s, err := New(client) |
| if err != nil { |
| return nil, err |
| } |
| if endpoint != "" { |
| s.BasePath = endpoint |
| } |
| return s, nil |
| } |
| |
| // New creates a new APIService. It uses the provided http.Client for requests. |
| // |
| // Deprecated: please use NewService instead. |
| // To provide a custom HTTP client, use option.WithHTTPClient. |
| // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. |
| func New(client *http.Client) (*APIService, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &APIService{client: client, BasePath: basePath} |
| s.Projects = NewProjectsService(s) |
| s.Services = NewServicesService(s) |
| return s, nil |
| } |
| |
| type APIService struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Projects *ProjectsService |
| |
| Services *ServicesService |
| } |
| |
| func (s *APIService) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewProjectsService(s *APIService) *ProjectsService { |
| rs := &ProjectsService{s: s} |
| rs.Services = NewProjectsServicesService(s) |
| return rs |
| } |
| |
| type ProjectsService struct { |
| s *APIService |
| |
| Services *ProjectsServicesService |
| } |
| |
| func NewProjectsServicesService(s *APIService) *ProjectsServicesService { |
| rs := &ProjectsServicesService{s: s} |
| return rs |
| } |
| |
| type ProjectsServicesService struct { |
| s *APIService |
| } |
| |
| func NewServicesService(s *APIService) *ServicesService { |
| rs := &ServicesService{s: s} |
| return rs |
| } |
| |
| type ServicesService struct { |
| s *APIService |
| } |
| |
| // Api: Api is a light-weight descriptor for an API |
| // Interface. |
| // |
| // Interfaces are also described as "protocol buffer services" in some |
| // contexts, |
| // such as by the "service" keyword in a .proto file, but they are |
| // different |
| // from API Services, which represent a concrete implementation of an |
| // interface |
| // as opposed to simply a description of methods and bindings. They are |
| // also |
| // sometimes simply referred to as "APIs" in other contexts, such as the |
| // name of |
| // this message itself. See |
| // https://cloud.google.com/apis/design/glossary for |
| // detailed terminology. |
| type Api struct { |
| // Methods: The methods of this interface, in unspecified order. |
| Methods []*Method `json:"methods,omitempty"` |
| |
| // Mixins: Included interfaces. See Mixin. |
| Mixins []*Mixin `json:"mixins,omitempty"` |
| |
| // Name: The fully qualified name of this interface, including package |
| // name |
| // followed by the interface's simple name. |
| Name string `json:"name,omitempty"` |
| |
| // Options: Any metadata attached to the interface. |
| Options []*Option `json:"options,omitempty"` |
| |
| // SourceContext: Source context for the protocol buffer service |
| // represented by this |
| // message. |
| SourceContext *SourceContext `json:"sourceContext,omitempty"` |
| |
| // Syntax: The source syntax of the service. |
| // |
| // Possible values: |
| // "SYNTAX_PROTO2" - Syntax `proto2`. |
| // "SYNTAX_PROTO3" - Syntax `proto3`. |
| Syntax string `json:"syntax,omitempty"` |
| |
| // Version: A version string for this interface. If specified, must have |
| // the form |
| // `major-version.minor-version`, as in `1.10`. If the minor version |
| // is |
| // omitted, it defaults to zero. If the entire version field is empty, |
| // the |
| // major version is derived from the package name, as outlined below. If |
| // the |
| // field is not empty, the version in the package name will be verified |
| // to be |
| // consistent with what is provided here. |
| // |
| // The versioning schema uses [semantic |
| // versioning](http://semver.org) where the major version |
| // number |
| // indicates a breaking change and the minor version an |
| // additive, |
| // non-breaking change. Both version numbers are signals to users |
| // what to expect from different versions, and should be |
| // carefully |
| // chosen based on the product plan. |
| // |
| // The major version is also reflected in the package name of |
| // the |
| // interface, which must end in `v<major-version>`, as |
| // in |
| // `google.feature.v1`. For major versions 0 and 1, the suffix can |
| // be omitted. Zero major versions must only be used for |
| // experimental, non-GA interfaces. |
| // |
| Version string `json:"version,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Methods") 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. "Methods") 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 *Api) MarshalJSON() ([]byte, error) { |
| type NoMethod Api |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthProvider: Configuration for an anthentication provider, including |
| // support for |
| // [JSON Web Token |
| // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32) |
| // . |
| type AuthProvider struct { |
| // Audiences: The list of |
| // JWT |
| // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web- |
| // token-32#section-4.1.3). |
| // that are allowed to access. A JWT containing any of these audiences |
| // will |
| // be accepted. When this setting is absent, only JWTs with |
| // audience |
| // "https://Service_name/API_name" |
| // will be accepted. For example, if no audiences are in the |
| // setting, |
| // LibraryService API will only accept JWTs with the following |
| // audience |
| // "https://library-example.googleapis.com/google.example.librar |
| // y.v1.LibraryService". |
| // |
| // Example: |
| // |
| // audiences: bookstore_android.apps.googleusercontent.com, |
| // bookstore_web.apps.googleusercontent.com |
| Audiences string `json:"audiences,omitempty"` |
| |
| // AuthorizationUrl: Redirect URL if JWT token is required but no |
| // present or is expired. |
| // Implement authorizationUrl of securityDefinitions in OpenAPI spec. |
| AuthorizationUrl string `json:"authorizationUrl,omitempty"` |
| |
| // Id: The unique identifier of the auth provider. It will be referred |
| // to by |
| // `AuthRequirement.provider_id`. |
| // |
| // Example: "bookstore_auth". |
| Id string `json:"id,omitempty"` |
| |
| // Issuer: Identifies the principal that issued the JWT. |
| // See |
| // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#sec |
| // tion-4.1.1 |
| // Usually a URL or an email address. |
| // |
| // Example: https://securetoken.google.com |
| // Example: 1234567-compute@developer.gserviceaccount.com |
| Issuer string `json:"issuer,omitempty"` |
| |
| // JwksUri: URL of the provider's public key set to validate signature |
| // of the JWT. See |
| // [OpenID |
| // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html# |
| // ProviderMetadata). |
| // Optional if the key set document: |
| // - can be retrieved from |
| // [OpenID |
| // Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html |
| // |
| // of the issuer. |
| // - can be inferred from the email domain of the issuer (e.g. a Google |
| // service account). |
| // |
| // Example: https://www.googleapis.com/oauth2/v1/certs |
| JwksUri string `json:"jwksUri,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Audiences") 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. "Audiences") 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 *AuthProvider) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthProvider |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthRequirement: User-defined authentication requirements, including |
| // support for |
| // [JSON Web Token |
| // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32) |
| // . |
| type AuthRequirement struct { |
| // Audiences: NOTE: This will be deprecated soon, once |
| // AuthProvider.audiences is |
| // implemented and accepted in all the runtime components. |
| // |
| // The list of |
| // JWT |
| // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web- |
| // token-32#section-4.1.3). |
| // that are allowed to access. A JWT containing any of these audiences |
| // will |
| // be accepted. When this setting is absent, only JWTs with |
| // audience |
| // "https://Service_name/API_name" |
| // will be accepted. For example, if no audiences are in the |
| // setting, |
| // LibraryService API will only accept JWTs with the following |
| // audience |
| // "https://library-example.googleapis.com/google.example.librar |
| // y.v1.LibraryService". |
| // |
| // Example: |
| // |
| // audiences: bookstore_android.apps.googleusercontent.com, |
| // bookstore_web.apps.googleusercontent.com |
| Audiences string `json:"audiences,omitempty"` |
| |
| // ProviderId: id from authentication provider. |
| // |
| // Example: |
| // |
| // provider_id: bookstore_auth |
| ProviderId string `json:"providerId,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Audiences") 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. "Audiences") 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 *AuthRequirement) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthRequirement |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Authentication: `Authentication` defines the authentication |
| // configuration for an API. |
| // |
| // Example for an API targeted for external use: |
| // |
| // name: calendar.googleapis.com |
| // authentication: |
| // providers: |
| // - id: google_calendar_auth |
| // jwks_uri: https://www.googleapis.com/oauth2/v1/certs |
| // issuer: https://securetoken.google.com |
| // rules: |
| // - selector: "*" |
| // requirements: |
| // provider_id: google_calendar_auth |
| type Authentication struct { |
| // Providers: Defines a set of authentication providers that a service |
| // supports. |
| Providers []*AuthProvider `json:"providers,omitempty"` |
| |
| // Rules: A list of authentication rules that apply to individual API |
| // methods. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*AuthenticationRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Providers") 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. "Providers") 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 *Authentication) MarshalJSON() ([]byte, error) { |
| type NoMethod Authentication |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthenticationRule: Authentication rules for the service. |
| // |
| // By default, if a method has any authentication requirements, every |
| // request |
| // must include a valid credential matching one of the |
| // requirements. |
| // It's an error to include more than one kind of credential in a |
| // single |
| // request. |
| // |
| // If a method doesn't have any auth requirements, request credentials |
| // will be |
| // ignored. |
| type AuthenticationRule struct { |
| // AllowWithoutCredential: If true, the service accepts API keys without |
| // any other credential. |
| AllowWithoutCredential bool `json:"allowWithoutCredential,omitempty"` |
| |
| // Oauth: The requirements for OAuth credentials. |
| Oauth *OAuthRequirements `json:"oauth,omitempty"` |
| |
| // Requirements: Requirements for additional authentication providers. |
| Requirements []*AuthRequirement `json:"requirements,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "AllowWithoutCredential") 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. "AllowWithoutCredential") |
| // 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 *AuthenticationRule) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthenticationRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthorizationConfig: Configuration of authorization. |
| // |
| // This section determines the authorization provider, if unspecified, |
| // then no |
| // authorization check will be done. |
| // |
| // Example: |
| // |
| // experimental: |
| // authorization: |
| // provider: firebaserules.googleapis.com |
| type AuthorizationConfig struct { |
| // Provider: The name of the authorization provider, such |
| // as |
| // firebaserules.googleapis.com. |
| Provider string `json:"provider,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Provider") 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. "Provider") 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 *AuthorizationConfig) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthorizationConfig |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Backend: `Backend` defines the backend configuration for a service. |
| type Backend struct { |
| // Rules: A list of API backend rules that apply to individual API |
| // methods. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*BackendRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Rules") 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. "Rules") 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 *Backend) MarshalJSON() ([]byte, error) { |
| type NoMethod Backend |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BackendRule: A backend rule provides configuration for an individual |
| // API element. |
| type BackendRule struct { |
| // Address: The address of the API backend. |
| Address string `json:"address,omitempty"` |
| |
| // Deadline: The number of seconds to wait for a response from a |
| // request. The default |
| // deadline for gRPC is infinite (no deadline) and HTTP requests is 5 |
| // seconds. |
| Deadline float64 `json:"deadline,omitempty"` |
| |
| // MinDeadline: Minimum deadline in seconds needed for this method. |
| // Calls having deadline |
| // value lower than this will be rejected. |
| MinDeadline float64 `json:"minDeadline,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Address") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Address") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *BackendRule) MarshalJSON() ([]byte, error) { |
| type NoMethod BackendRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *BackendRule) UnmarshalJSON(data []byte) error { |
| type NoMethod BackendRule |
| var s1 struct { |
| Deadline gensupport.JSONFloat64 `json:"deadline"` |
| MinDeadline gensupport.JSONFloat64 `json:"minDeadline"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| s.Deadline = float64(s1.Deadline) |
| s.MinDeadline = float64(s1.MinDeadline) |
| return nil |
| } |
| |
| // Billing: Billing related configuration of the service. |
| // |
| // The following example shows how to configure monitored resources and |
| // metrics |
| // for billing: |
| // |
| // monitored_resources: |
| // - type: library.googleapis.com/branch |
| // labels: |
| // - key: /city |
| // description: The city where the library branch is located |
| // in. |
| // - key: /name |
| // description: The name of the branch. |
| // metrics: |
| // - name: library.googleapis.com/book/borrowed_count |
| // metric_kind: DELTA |
| // value_type: INT64 |
| // billing: |
| // consumer_destinations: |
| // - monitored_resource: library.googleapis.com/branch |
| // metrics: |
| // - library.googleapis.com/book/borrowed_count |
| type Billing struct { |
| // ConsumerDestinations: Billing configurations for sending metrics to |
| // the consumer project. |
| // There can be multiple consumer destinations per service, each one |
| // must have |
| // a different monitored resource type. A metric can be used in at |
| // most |
| // one consumer destination. |
| ConsumerDestinations []*BillingDestination `json:"consumerDestinations,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "ConsumerDestinations") 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. "ConsumerDestinations") 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 *Billing) MarshalJSON() ([]byte, error) { |
| type NoMethod Billing |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BillingDestination: Configuration of a specific billing destination |
| // (Currently only support |
| // bill against consumer project). |
| type BillingDestination struct { |
| // Metrics: Names of the metrics to report to this billing |
| // destination. |
| // Each name must be defined in Service.metrics section. |
| Metrics []string `json:"metrics,omitempty"` |
| |
| // MonitoredResource: The monitored resource type. The type must be |
| // defined in |
| // Service.monitored_resources section. |
| MonitoredResource string `json:"monitoredResource,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Metrics") 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. "Metrics") 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 *BillingDestination) MarshalJSON() ([]byte, error) { |
| type NoMethod BillingDestination |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Context: `Context` defines which contexts an API |
| // requests. |
| // |
| // Example: |
| // |
| // context: |
| // rules: |
| // - selector: "*" |
| // requested: |
| // - google.rpc.context.ProjectContext |
| // - google.rpc.context.OriginContext |
| // |
| // The above specifies that all methods in the API |
| // request |
| // `google.rpc.context.ProjectContext` |
| // and |
| // `google.rpc.context.OriginContext`. |
| // |
| // Available context types are defined in |
| // package |
| // `google.rpc.context`. |
| // |
| // This also provides mechanism to whitelist any protobuf message |
| // extension that |
| // can be sent in grpc metadata using |
| // “x-goog-ext-<extension_id>-bin” |
| // and |
| // “x-goog-ext-<extension_id>-jspb” format. For example, list any |
| // service |
| // specific protobuf types that can appear in grpc metadata as follows |
| // in your |
| // yaml file: |
| // |
| // Example: |
| // |
| // context: |
| // rules: |
| // - selector: |
| // "google.example.library.v1.LibraryService.CreateBook" |
| // allowed_request_extensions: |
| // - google.foo.v1.NewExtension |
| // allowed_response_extensions: |
| // - google.foo.v1.NewExtension |
| // |
| // You can also specify extension ID instead of fully qualified |
| // extension name |
| // here. |
| type Context struct { |
| // Rules: A list of RPC context rules that apply to individual API |
| // methods. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*ContextRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Rules") 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. "Rules") 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 *Context) MarshalJSON() ([]byte, error) { |
| type NoMethod Context |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ContextRule: A context rule provides information about the context |
| // for an individual API |
| // element. |
| type ContextRule struct { |
| // AllowedRequestExtensions: A list of full type names or extension IDs |
| // of extensions allowed in grpc |
| // side channel from client to backend. |
| AllowedRequestExtensions []string `json:"allowedRequestExtensions,omitempty"` |
| |
| // AllowedResponseExtensions: A list of full type names or extension IDs |
| // of extensions allowed in grpc |
| // side channel from backend to client. |
| AllowedResponseExtensions []string `json:"allowedResponseExtensions,omitempty"` |
| |
| // Provided: A list of full type names of provided contexts. |
| Provided []string `json:"provided,omitempty"` |
| |
| // Requested: A list of full type names of requested contexts. |
| Requested []string `json:"requested,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "AllowedRequestExtensions") 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. "AllowedRequestExtensions") |
| // 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 *ContextRule) MarshalJSON() ([]byte, error) { |
| type NoMethod ContextRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Control: Selects and configures the service controller used by the |
| // service. The |
| // service controller handles features like abuse, quota, billing, |
| // logging, |
| // monitoring, etc. |
| type Control struct { |
| // Environment: The service control environment to use. If empty, no |
| // control plane |
| // feature (like quota and billing) will be enabled. |
| Environment string `json:"environment,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Environment") 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. "Environment") 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 *Control) MarshalJSON() ([]byte, error) { |
| type NoMethod Control |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CustomError: Customize service error responses. For example, list |
| // any service |
| // specific protobuf types that can appear in error detail lists |
| // of |
| // error responses. |
| // |
| // Example: |
| // |
| // custom_error: |
| // types: |
| // - google.foo.v1.CustomError |
| // - google.foo.v1.AnotherError |
| type CustomError struct { |
| // Rules: The list of custom error rules that apply to individual API |
| // messages. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*CustomErrorRule `json:"rules,omitempty"` |
| |
| // Types: The list of custom error detail types, e.g. |
| // 'google.foo.v1.CustomError'. |
| Types []string `json:"types,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Rules") 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. "Rules") 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 *CustomError) MarshalJSON() ([]byte, error) { |
| type NoMethod CustomError |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CustomErrorRule: A custom error rule. |
| type CustomErrorRule struct { |
| // IsErrorType: Mark this message as possible payload in error response. |
| // Otherwise, |
| // objects of this type will be filtered when they appear in error |
| // payload. |
| IsErrorType bool `json:"isErrorType,omitempty"` |
| |
| // Selector: Selects messages to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "IsErrorType") 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. "IsErrorType") 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 *CustomErrorRule) MarshalJSON() ([]byte, error) { |
| type NoMethod CustomErrorRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CustomHttpPattern: A custom pattern is used for defining custom HTTP |
| // verb. |
| type CustomHttpPattern struct { |
| // Kind: The name of this custom HTTP verb. |
| Kind string `json:"kind,omitempty"` |
| |
| // Path: The path matched by this custom verb. |
| Path string `json:"path,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *CustomHttpPattern) MarshalJSON() ([]byte, error) { |
| type NoMethod CustomHttpPattern |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // DisableServiceRequest: Request message for DisableService method. |
| type DisableServiceRequest struct { |
| } |
| |
| // Documentation: `Documentation` provides the information for |
| // describing a service. |
| // |
| // Example: |
| // <pre><code>documentation: |
| // summary: > |
| // The Google Calendar API gives access |
| // to most calendar features. |
| // pages: |
| // - name: Overview |
| // content: (== include google/foo/overview.md ==) |
| // - name: Tutorial |
| // content: (== include google/foo/tutorial.md ==) |
| // subpages; |
| // - name: Java |
| // content: (== include google/foo/tutorial_java.md ==) |
| // rules: |
| // - selector: google.calendar.Calendar.Get |
| // description: > |
| // ... |
| // - selector: google.calendar.Calendar.Put |
| // description: > |
| // ... |
| // </code></pre> |
| // Documentation is provided in markdown syntax. In addition to |
| // standard markdown features, definition lists, tables and fenced |
| // code blocks are supported. Section headers can be provided and |
| // are |
| // interpreted relative to the section nesting of the context where |
| // a documentation fragment is embedded. |
| // |
| // Documentation from the IDL is merged with documentation defined |
| // via the config at normalization time, where documentation provided |
| // by config rules overrides IDL provided. |
| // |
| // A number of constructs specific to the API platform are supported |
| // in documentation text. |
| // |
| // In order to reference a proto element, the following |
| // notation can be |
| // used: |
| // <pre><code>[fully.qualified.proto.name][]</code></pre> |
| // T |
| // o override the display text used for the link, this can be |
| // used: |
| // <pre><code>[display |
| // text][fully.qualified.proto.name]</code></pre> |
| // Text can be excluded from doc using the following |
| // notation: |
| // <pre><code>(-- internal comment --)</code></pre> |
| // |
| // A few directives are available in documentation. Note that |
| // directives must appear on a single line to be properly |
| // identified. The `include` directive includes a markdown file from |
| // an external source: |
| // <pre><code>(== include path/to/file ==)</code></pre> |
| // The `resource_for` directive marks a message to be the resource of |
| // a collection in REST view. If it is not specified, tools attempt |
| // to infer the resource from the operations in a |
| // collection: |
| // <pre><code>(== resource_for v1.shelves.books |
| // ==)</code></pre> |
| // The directive `suppress_warning` does not directly affect |
| // documentation |
| // and is documented together with service config validation. |
| type Documentation struct { |
| // DocumentationRootUrl: The URL to the root of documentation. |
| DocumentationRootUrl string `json:"documentationRootUrl,omitempty"` |
| |
| // Overview: Declares a single overview page. For |
| // example: |
| // <pre><code>documentation: |
| // summary: ... |
| // overview: (== include overview.md ==) |
| // </code></pre> |
| // This is a shortcut for the following declaration (using pages |
| // style): |
| // <pre><code>documentation: |
| // summary: ... |
| // pages: |
| // - name: Overview |
| // content: (== include overview.md ==) |
| // </code></pre> |
| // Note: you cannot specify both `overview` field and `pages` field. |
| Overview string `json:"overview,omitempty"` |
| |
| // Pages: The top level pages for the documentation set. |
| Pages []*Page `json:"pages,omitempty"` |
| |
| // Rules: A list of documentation rules that apply to individual API |
| // elements. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*DocumentationRule `json:"rules,omitempty"` |
| |
| // Summary: A short summary of what the service does. Can only be |
| // provided by |
| // plain text. |
| Summary string `json:"summary,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "DocumentationRootUrl") 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. "DocumentationRootUrl") 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 *Documentation) MarshalJSON() ([]byte, error) { |
| type NoMethod Documentation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // DocumentationRule: A documentation rule provides information about |
| // individual API elements. |
| type DocumentationRule struct { |
| // DeprecationDescription: Deprecation description of the selected |
| // element(s). It can be provided if an |
| // element is marked as `deprecated`. |
| DeprecationDescription string `json:"deprecationDescription,omitempty"` |
| |
| // Description: Description of the selected API(s). |
| Description string `json:"description,omitempty"` |
| |
| // Selector: The selector is a comma-separated list of patterns. Each |
| // pattern is a |
| // qualified name of the element which may end in "*", indicating a |
| // wildcard. |
| // Wildcards are only allowed at the end and for a whole component of |
| // the |
| // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". |
| // To |
| // specify a default for all applicable elements, the whole pattern |
| // "*" |
| // is used. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "DeprecationDescription") 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. "DeprecationDescription") |
| // 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 *DocumentationRule) MarshalJSON() ([]byte, error) { |
| type NoMethod DocumentationRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // EnableServiceRequest: Request message for EnableService method. |
| type EnableServiceRequest struct { |
| } |
| |
| // Endpoint: `Endpoint` describes a network endpoint that serves a set |
| // of APIs. |
| // A service may expose any number of endpoints, and all endpoints share |
| // the |
| // same service configuration, such as quota configuration and |
| // monitoring |
| // configuration. |
| // |
| // Example service configuration: |
| // |
| // name: library-example.googleapis.com |
| // endpoints: |
| // # Below entry makes 'google.example.library.v1.Library' |
| // # API be served from endpoint address |
| // library-example.googleapis.com. |
| // # It also allows HTTP OPTIONS calls to be passed to the |
| // backend, for |
| // # it to decide whether the subsequent cross-origin request is |
| // # allowed to proceed. |
| // - name: library-example.googleapis.com |
| // allow_cors: true |
| type Endpoint struct { |
| // Aliases: DEPRECATED: This field is no longer supported. Instead of |
| // using aliases, |
| // please specify multiple google.api.Endpoint for each of the |
| // intended |
| // aliases. |
| // |
| // Additional names that this endpoint will be hosted on. |
| Aliases []string `json:"aliases,omitempty"` |
| |
| // AllowCors: |
| // Allowing |
| // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sh |
| // aring), aka |
| // cross-domain traffic, would allow the backends served from this |
| // endpoint to |
| // receive and respond to HTTP OPTIONS requests. The response will be |
| // used by |
| // the browser to determine whether the subsequent cross-origin request |
| // is |
| // allowed to proceed. |
| AllowCors bool `json:"allowCors,omitempty"` |
| |
| // Features: The list of features enabled on this endpoint. |
| Features []string `json:"features,omitempty"` |
| |
| // Name: The canonical name of this endpoint. |
| Name string `json:"name,omitempty"` |
| |
| // Target: The specification of an Internet routable address of API |
| // frontend that will |
| // handle requests to this [API |
| // Endpoint](https://cloud.google.com/apis/design/glossary). |
| // It should be either a valid IPv4 address or a fully-qualified domain |
| // name. |
| // For example, "8.8.8.8" or "myservice.appspot.com". |
| Target string `json:"target,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Aliases") 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. "Aliases") 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 *Endpoint) MarshalJSON() ([]byte, error) { |
| type NoMethod Endpoint |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Enum: Enum type definition. |
| type Enum struct { |
| // Enumvalue: Enum value definitions. |
| Enumvalue []*EnumValue `json:"enumvalue,omitempty"` |
| |
| // Name: Enum type name. |
| Name string `json:"name,omitempty"` |
| |
| // Options: Protocol buffer options. |
| Options []*Option `json:"options,omitempty"` |
| |
| // SourceContext: The source context. |
| SourceContext *SourceContext `json:"sourceContext,omitempty"` |
| |
| // Syntax: The source syntax. |
| // |
| // Possible values: |
| // "SYNTAX_PROTO2" - Syntax `proto2`. |
| // "SYNTAX_PROTO3" - Syntax `proto3`. |
| Syntax string `json:"syntax,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Enumvalue") 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. "Enumvalue") 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 *Enum) MarshalJSON() ([]byte, error) { |
| type NoMethod Enum |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // EnumValue: Enum value definition. |
| type EnumValue struct { |
| // Name: Enum value name. |
| Name string `json:"name,omitempty"` |
| |
| // Number: Enum value number. |
| Number int64 `json:"number,omitempty"` |
| |
| // Options: Protocol buffer options. |
| Options []*Option `json:"options,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *EnumValue) MarshalJSON() ([]byte, error) { |
| type NoMethod EnumValue |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Experimental: Experimental service configuration. These configuration |
| // options can |
| // only be used by whitelisted users. |
| type Experimental struct { |
| // Authorization: Authorization configuration. |
| Authorization *AuthorizationConfig `json:"authorization,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Authorization") 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. "Authorization") 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 *Experimental) MarshalJSON() ([]byte, error) { |
| type NoMethod Experimental |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Field: A single field of a message type. |
| type Field struct { |
| // Cardinality: The field cardinality. |
| // |
| // Possible values: |
| // "CARDINALITY_UNKNOWN" - For fields with unknown cardinality. |
| // "CARDINALITY_OPTIONAL" - For optional fields. |
| // "CARDINALITY_REQUIRED" - For required fields. Proto2 syntax only. |
| // "CARDINALITY_REPEATED" - For repeated fields. |
| Cardinality string `json:"cardinality,omitempty"` |
| |
| // DefaultValue: The string value of the default value of this field. |
| // Proto2 syntax only. |
| DefaultValue string `json:"defaultValue,omitempty"` |
| |
| // JsonName: The field JSON name. |
| JsonName string `json:"jsonName,omitempty"` |
| |
| // Kind: The field type. |
| // |
| // Possible values: |
| // "TYPE_UNKNOWN" - Field type unknown. |
| // "TYPE_DOUBLE" - Field type double. |
| // "TYPE_FLOAT" - Field type float. |
| // "TYPE_INT64" - Field type int64. |
| // "TYPE_UINT64" - Field type uint64. |
| // "TYPE_INT32" - Field type int32. |
| // "TYPE_FIXED64" - Field type fixed64. |
| // "TYPE_FIXED32" - Field type fixed32. |
| // "TYPE_BOOL" - Field type bool. |
| // "TYPE_STRING" - Field type string. |
| // "TYPE_GROUP" - Field type group. Proto2 syntax only, and |
| // deprecated. |
| // "TYPE_MESSAGE" - Field type message. |
| // "TYPE_BYTES" - Field type bytes. |
| // "TYPE_UINT32" - Field type uint32. |
| // "TYPE_ENUM" - Field type enum. |
| // "TYPE_SFIXED32" - Field type sfixed32. |
| // "TYPE_SFIXED64" - Field type sfixed64. |
| // "TYPE_SINT32" - Field type sint32. |
| // "TYPE_SINT64" - Field type sint64. |
| Kind string `json:"kind,omitempty"` |
| |
| // Name: The field name. |
| Name string `json:"name,omitempty"` |
| |
| // Number: The field number. |
| Number int64 `json:"number,omitempty"` |
| |
| // OneofIndex: The index of the field type in `Type.oneofs`, for message |
| // or enumeration |
| // types. The first type has index 1; zero means the type is not in the |
| // list. |
| OneofIndex int64 `json:"oneofIndex,omitempty"` |
| |
| // Options: The protocol buffer options. |
| Options []*Option `json:"options,omitempty"` |
| |
| // Packed: Whether to use alternative packed wire representation. |
| Packed bool `json:"packed,omitempty"` |
| |
| // TypeUrl: The field type URL, without the scheme, for message or |
| // enumeration |
| // types. Example: "type.googleapis.com/google.protobuf.Timestamp". |
| TypeUrl string `json:"typeUrl,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Cardinality") 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. "Cardinality") 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 *Field) MarshalJSON() ([]byte, error) { |
| type NoMethod Field |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Http: Defines the HTTP configuration for an API service. It contains |
| // a list of |
| // HttpRule, each specifying the mapping of an RPC method |
| // to one or more HTTP REST API methods. |
| type Http struct { |
| // FullyDecodeReservedExpansion: When set to true, URL path parmeters |
| // will be fully URI-decoded except in |
| // cases of single segment matches in reserved expansion, where "%2F" |
| // will be |
| // left encoded. |
| // |
| // The default behavior is to not decode RFC 6570 reserved characters in |
| // multi |
| // segment matches. |
| FullyDecodeReservedExpansion bool `json:"fullyDecodeReservedExpansion,omitempty"` |
| |
| // Rules: A list of HTTP configuration rules that apply to individual |
| // API methods. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*HttpRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "FullyDecodeReservedExpansion") 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. |
| // "FullyDecodeReservedExpansion") 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 *Http) MarshalJSON() ([]byte, error) { |
| type NoMethod Http |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // HttpRule: # gRPC Transcoding |
| // |
| // gRPC Transcoding is a feature for mapping between a gRPC method and |
| // one or |
| // more HTTP REST endpoints. It allows developers to build a single API |
| // service |
| // that supports both gRPC APIs and REST APIs. Many systems, including |
| // [Google |
| // APIs](https://github.com/googleapis/googleapis), |
| // [Cloud Endpoints](https://cloud.google.com/endpoints), |
| // [gRPC |
| // Gateway](https://github.com/grpc-ecosystem/grpc-gateway), |
| // and [Envoy](https://github.com/envoyproxy/envoy) proxy support this |
| // feature |
| // and use it for large scale production services. |
| // |
| // `HttpRule` defines the schema of the gRPC/REST mapping. The mapping |
| // specifies |
| // how different portions of the gRPC request message are mapped to the |
| // URL |
| // path, URL query parameters, and HTTP request body. It also controls |
| // how the |
| // gRPC response message is mapped to the HTTP response body. `HttpRule` |
| // is |
| // typically specified as an `google.api.http` annotation on the gRPC |
| // method. |
| // |
| // Each mapping specifies a URL path template and an HTTP method. The |
| // path |
| // template may refer to one or more fields in the gRPC request message, |
| // as long |
| // as each field is a non-repeated field with a primitive (non-message) |
| // type. |
| // The path template controls how fields of the request message are |
| // mapped to |
| // the URL path. |
| // |
| // Example: |
| // |
| // service Messaging { |
| // rpc GetMessage(GetMessageRequest) returns (Message) { |
| // option (google.api.http) = { |
| // get: "/v1/{name=messages/*}" |
| // }; |
| // } |
| // } |
| // message GetMessageRequest { |
| // string name = 1; // Mapped to URL path. |
| // } |
| // message Message { |
| // string text = 1; // The resource content. |
| // } |
| // |
| // This enables an HTTP REST to gRPC mapping as below: |
| // |
| // HTTP | gRPC |
| // -----|----- |
| // `GET /v1/messages/123456` | `GetMessage(name: |
| // "messages/123456")` |
| // |
| // Any fields in the request message which are not bound by the path |
| // template |
| // automatically become HTTP query parameters if there is no HTTP |
| // request body. |
| // For example: |
| // |
| // service Messaging { |
| // rpc GetMessage(GetMessageRequest) returns (Message) { |
| // option (google.api.http) = { |
| // get:"/v1/messages/{message_id}" |
| // }; |
| // } |
| // } |
| // message GetMessageRequest { |
| // message SubMessage { |
| // string subfield = 1; |
| // } |
| // string message_id = 1; // Mapped to URL path. |
| // int64 revision = 2; // Mapped to URL query parameter |
| // `revision`. |
| // SubMessage sub = 3; // Mapped to URL query parameter |
| // `sub.subfield`. |
| // } |
| // |
| // This enables a HTTP JSON to RPC mapping as below: |
| // |
| // HTTP | gRPC |
| // -----|----- |
| // `GET /v1/messages/123456?revision=2&sub.subfield=foo` | |
| // `GetMessage(message_id: "123456" revision: 2 sub: |
| // SubMessage(subfield: "foo"))` |
| // |
| // Note that fields which are mapped to URL query parameters must have |
| // a |
| // primitive type or a repeated primitive type or a non-repeated message |
| // type. |
| // In the case of a repeated type, the parameter can be repeated in the |
| // URL |
| // as `...?param=A¶m=B`. In the case of a message type, each field |
| // of the |
| // message is mapped to a separate parameter, such |
| // as |
| // `...?foo.a=A&foo.b=B&foo.c=C`. |
| // |
| // For HTTP methods that allow a request body, the `body` |
| // field |
| // specifies the mapping. Consider a REST update method on the |
| // message resource collection: |
| // |
| // service Messaging { |
| // rpc UpdateMessage(UpdateMessageRequest) returns (Message) { |
| // option (google.api.http) = { |
| // patch: "/v1/messages/{message_id}" |
| // body: "message" |
| // }; |
| // } |
| // } |
| // message UpdateMessageRequest { |
| // string message_id = 1; // mapped to the URL |
| // Message message = 2; // mapped to the body |
| // } |
| // |
| // The following HTTP JSON to RPC mapping is enabled, where |
| // the |
| // representation of the JSON in the request body is determined |
| // by |
| // protos JSON encoding: |
| // |
| // HTTP | gRPC |
| // -----|----- |
| // `PATCH /v1/messages/123456 { "text": "Hi!" }` | |
| // `UpdateMessage(message_id: "123456" message { text: "Hi!" })` |
| // |
| // The special name `*` can be used in the body mapping to define |
| // that |
| // every field not bound by the path template should be mapped to |
| // the |
| // request body. This enables the following alternative definition |
| // of |
| // the update method: |
| // |
| // service Messaging { |
| // rpc UpdateMessage(Message) returns (Message) { |
| // option (google.api.http) = { |
| // patch: "/v1/messages/{message_id}" |
| // body: "*" |
| // }; |
| // } |
| // } |
| // message Message { |
| // string message_id = 1; |
| // string text = 2; |
| // } |
| // |
| // |
| // The following HTTP JSON to RPC mapping is enabled: |
| // |
| // HTTP | gRPC |
| // -----|----- |
| // `PATCH /v1/messages/123456 { "text": "Hi!" }` | |
| // `UpdateMessage(message_id: "123456" text: "Hi!")` |
| // |
| // Note that when using `*` in the body mapping, it is not possible |
| // to |
| // have HTTP parameters, as all fields not bound by the path end in |
| // the body. This makes this option more rarely used in practice |
| // when |
| // defining REST APIs. The common usage of `*` is in custom |
| // methods |
| // which don't use the URL at all for transferring data. |
| // |
| // It is possible to define multiple HTTP methods for one RPC by |
| // using |
| // the `additional_bindings` option. Example: |
| // |
| // service Messaging { |
| // rpc GetMessage(GetMessageRequest) returns (Message) { |
| // option (google.api.http) = { |
| // get: "/v1/messages/{message_id}" |
| // additional_bindings { |
| // get: "/v1/users/{user_id}/messages/{message_id}" |
| // } |
| // }; |
| // } |
| // } |
| // message GetMessageRequest { |
| // string message_id = 1; |
| // string user_id = 2; |
| // } |
| // |
| // This enables the following two alternative HTTP JSON to RPC |
| // mappings: |
| // |
| // HTTP | gRPC |
| // -----|----- |
| // `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` |
| // `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" |
| // message_id: "123456")` |
| // |
| // ## Rules for HTTP mapping |
| // |
| // 1. Leaf request fields (recursive expansion nested messages in the |
| // request |
| // message) are classified into three categories: |
| // - Fields referred by the path template. They are passed via the |
| // URL path. |
| // - Fields referred by the HttpRule.body. They are passed via the |
| // HTTP |
| // request body. |
| // - All other fields are passed via the URL query parameters, and |
| // the |
| // parameter name is the field path in the request message. A |
| // repeated |
| // field can be represented as multiple query parameters under the |
| // same |
| // name. |
| // 2. If HttpRule.body is "*", there is no URL query parameter, all |
| // fields |
| // are passed via URL path and HTTP request body. |
| // 3. If HttpRule.body is omitted, there is no HTTP request body, all |
| // fields are passed via URL path and URL query parameters. |
| // |
| // ### Path template syntax |
| // |
| // Template = "/" Segments [ Verb ] ; |
| // Segments = Segment { "/" Segment } ; |
| // Segment = "*" | "**" | LITERAL | Variable ; |
| // Variable = "{" FieldPath [ "=" Segments ] "}" ; |
| // FieldPath = IDENT { "." IDENT } ; |
| // Verb = ":" LITERAL ; |
| // |
| // The syntax `*` matches a single URL path segment. The syntax `**` |
| // matches |
| // zero or more URL path segments, which must be the last part of the |
| // URL path |
| // except the `Verb`. |
| // |
| // The syntax `Variable` matches part of the URL path as specified by |
| // its |
| // template. A variable template must not contain other variables. If a |
| // variable |
| // matches a single path segment, its template may be omitted, e.g. |
| // `{var}` |
| // is equivalent to `{var=*}`. |
| // |
| // The syntax `LITERAL` matches literal text in the URL path. If the |
| // `LITERAL` |
| // contains any reserved character, such characters should be |
| // percent-encoded |
| // before the matching. |
| // |
| // If a variable contains exactly one path segment, such as "{var}" |
| // or |
| // "{var=*}", when such a variable is expanded into a URL path on the |
| // client |
| // side, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. |
| // The |
| // server side does the reverse decoding. Such variables show up in |
| // the |
| // [Discovery |
| // Document](https://developers.google.com/discovery/v1/reference/apis) |
| // a |
| // s `{var}`. |
| // |
| // If a variable contains multiple path segments, such as |
| // "{var=foo/*}" |
| // or "{var=**}", when such a variable is expanded into a URL path on |
| // the |
| // client side, all characters except `[-_.~/0-9a-zA-Z]` are |
| // percent-encoded. |
| // The server side does the reverse decoding, except "%2F" and "%2f" are |
| // left |
| // unchanged. Such variables show up in the |
| // [Discovery |
| // Document](https://developers.google.com/discovery/v1/reference/apis) |
| // a |
| // s `{+var}`. |
| // |
| // ## Using gRPC API Service Configuration |
| // |
| // gRPC API Service Configuration (service config) is a configuration |
| // language |
| // for configuring a gRPC service to become a user-facing product. |
| // The |
| // service config is simply the YAML representation of the |
| // `google.api.Service` |
| // proto message. |
| // |
| // As an alternative to annotating your proto file, you can configure |
| // gRPC |
| // transcoding in your service config YAML files. You do this by |
| // specifying a |
| // `HttpRule` that maps the gRPC method to a REST endpoint, achieving |
| // the same |
| // effect as the proto annotation. This can be particularly useful if |
| // you |
| // have a proto that is reused in multiple services. Note that any |
| // transcoding |
| // specified in the service config will override any matching |
| // transcoding |
| // configuration in the proto. |
| // |
| // Example: |
| // |
| // http: |
| // rules: |
| // # Selects a gRPC method and applies HttpRule to it. |
| // - selector: example.v1.Messaging.GetMessage |
| // get: /v1/messages/{message_id}/{sub.subfield} |
| // |
| // ## Special notes |
| // |
| // When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, |
| // the |
| // proto to JSON conversion must follow the |
| // [proto3 |
| // specification](https://developers.google.com/protocol-buffers/ |
| // docs/proto3#json). |
| // |
| // While the single segment variable follows the semantics of |
| // [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple |
| // String |
| // Expansion, the multi segment variable **does not** follow RFC 6570 |
| // Section |
| // 3.2.3 Reserved Expansion. The reason is that the Reserved |
| // Expansion |
| // does not expand special characters like `?` and `#`, which would |
| // lead |
| // to invalid URLs. As the result, gRPC Transcoding uses a custom |
| // encoding |
| // for multi segment variables. |
| // |
| // The path variables **must not** refer to any repeated or mapped |
| // field, |
| // because client libraries are not capable of handling such variable |
| // expansion. |
| // |
| // The path variables **must not** capture the leading "/" character. |
| // The reason |
| // is that the most common use case "{var}" does not capture the leading |
| // "/" |
| // character. For consistency, all path variables must share the same |
| // behavior. |
| // |
| // Repeated message fields must not be mapped to URL query parameters, |
| // because |
| // no client library can support such complicated mapping. |
| // |
| // If an API needs to use a JSON array for request or response body, it |
| // can map |
| // the request or response body to a repeated field. However, some |
| // gRPC |
| // Transcoding implementations may not support this feature. |
| type HttpRule struct { |
| // AdditionalBindings: Additional HTTP bindings for the selector. Nested |
| // bindings must |
| // not contain an `additional_bindings` field themselves (that is, |
| // the nesting may only be one level deep). |
| AdditionalBindings []*HttpRule `json:"additionalBindings,omitempty"` |
| |
| // Body: The name of the request field whose value is mapped to the HTTP |
| // request |
| // body, or `*` for mapping all request fields not captured by the |
| // path |
| // pattern to the HTTP body, or omitted for not having any HTTP request |
| // body. |
| // |
| // NOTE: the referred field must be present at the top-level of the |
| // request |
| // message type. |
| Body string `json:"body,omitempty"` |
| |
| // Custom: The custom pattern is used for specifying an HTTP method that |
| // is not |
| // included in the `pattern` field, such as HEAD, or "*" to leave |
| // the |
| // HTTP method unspecified for this rule. The wild-card rule is |
| // useful |
| // for services that provide content to Web (HTML) clients. |
| Custom *CustomHttpPattern `json:"custom,omitempty"` |
| |
| // Delete: Maps to HTTP DELETE. Used for deleting a resource. |
| Delete string `json:"delete,omitempty"` |
| |
| // Get: Maps to HTTP GET. Used for listing and getting information |
| // about |
| // resources. |
| Get string `json:"get,omitempty"` |
| |
| // Patch: Maps to HTTP PATCH. Used for updating a resource. |
| Patch string `json:"patch,omitempty"` |
| |
| // Post: Maps to HTTP POST. Used for creating a resource or performing |
| // an action. |
| Post string `json:"post,omitempty"` |
| |
| // Put: Maps to HTTP PUT. Used for replacing a resource. |
| Put string `json:"put,omitempty"` |
| |
| // ResponseBody: Optional. The name of the response field whose value is |
| // mapped to the HTTP |
| // response body. When omitted, the entire response message will be |
| // used |
| // as the HTTP response body. |
| // |
| // NOTE: The referred field must be present at the top-level of the |
| // response |
| // message type. |
| ResponseBody string `json:"responseBody,omitempty"` |
| |
| // Selector: Selects a method to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AdditionalBindings") |
| // 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. "AdditionalBindings") 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 *HttpRule) MarshalJSON() ([]byte, error) { |
| type NoMethod HttpRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LabelDescriptor: A description of a label. |
| type LabelDescriptor struct { |
| // Description: A human-readable description for the label. |
| Description string `json:"description,omitempty"` |
| |
| // Key: The label key. |
| Key string `json:"key,omitempty"` |
| |
| // ValueType: The type of data that can be assigned to the label. |
| // |
| // Possible values: |
| // "STRING" - A variable-length string. This is the default. |
| // "BOOL" - Boolean; true or false. |
| // "INT64" - A 64-bit signed integer. |
| ValueType string `json:"valueType,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 *LabelDescriptor) MarshalJSON() ([]byte, error) { |
| type NoMethod LabelDescriptor |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ListEnabledServicesResponse: Response message for |
| // `ListEnabledServices` method. |
| type ListEnabledServicesResponse struct { |
| // NextPageToken: Token that can be passed to `ListEnabledServices` to |
| // resume a paginated |
| // query. |
| NextPageToken string `json:"nextPageToken,omitempty"` |
| |
| // Services: Services enabled for the specified parent. |
| Services []*PublishedService `json:"services,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "NextPageToken") to |
| // unconditionally include in API requests. By default, fields with |
| // empty 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. "NextPageToken") 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 *ListEnabledServicesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod ListEnabledServicesResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LogDescriptor: A description of a log type. Example in YAML format: |
| // |
| // - name: library.googleapis.com/activity_history |
| // description: The history of borrowing and returning library |
| // items. |
| // display_name: Activity |
| // labels: |
| // - key: /customer_id |
| // description: Identifier of a library customer |
| type LogDescriptor struct { |
| // Description: A human-readable description of this log. This |
| // information appears in |
| // the documentation and can contain details. |
| Description string `json:"description,omitempty"` |
| |
| // DisplayName: The human-readable name for this log. This information |
| // appears on |
| // the user interface and should be concise. |
| DisplayName string `json:"displayName,omitempty"` |
| |
| // Labels: The set of labels that are available to describe a specific |
| // log entry. |
| // Runtime requests that contain labels not specified here |
| // are |
| // considered invalid. |
| Labels []*LabelDescriptor `json:"labels,omitempty"` |
| |
| // Name: The name of the log. It must be less than 512 characters long |
| // and can |
| // include the following characters: upper- and lower-case |
| // alphanumeric |
| // characters [A-Za-z0-9], and punctuation characters including |
| // slash, underscore, hyphen, period [/_-.]. |
| Name string `json:"name,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 *LogDescriptor) MarshalJSON() ([]byte, error) { |
| type NoMethod LogDescriptor |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Logging: Logging configuration of the service. |
| // |
| // The following example shows how to configure logs to be sent to |
| // the |
| // producer and consumer projects. In the example, the |
| // `activity_history` |
| // log is sent to both the producer and consumer projects, whereas |
| // the |
| // `purchase_history` log is only sent to the producer project. |
| // |
| // monitored_resources: |
| // - type: library.googleapis.com/branch |
| // labels: |
| // - key: /city |
| // description: The city where the library branch is located |
| // in. |
| // - key: /name |
| // description: The name of the branch. |
| // logs: |
| // - name: activity_history |
| // labels: |
| // - key: /customer_id |
| // - name: purchase_history |
| // logging: |
| // producer_destinations: |
| // - monitored_resource: library.googleapis.com/branch |
| // logs: |
| // - activity_history |
| // - purchase_history |
| // consumer_destinations: |
| // - monitored_resource: library.googleapis.com/branch |
| // logs: |
| // - activity_history |
| type Logging struct { |
| // ConsumerDestinations: Logging configurations for sending logs to the |
| // consumer project. |
| // There can be multiple consumer destinations, each one must have |
| // a |
| // different monitored resource type. A log can be used in at most |
| // one consumer destination. |
| ConsumerDestinations []*LoggingDestination `json:"consumerDestinations,omitempty"` |
| |
| // ProducerDestinations: Logging configurations for sending logs to the |
| // producer project. |
| // There can be multiple producer destinations, each one must have |
| // a |
| // different monitored resource type. A log can be used in at most |
| // one producer destination. |
| ProducerDestinations []*LoggingDestination `json:"producerDestinations,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "ConsumerDestinations") 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. "ConsumerDestinations") 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 *Logging) MarshalJSON() ([]byte, error) { |
| type NoMethod Logging |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LoggingDestination: Configuration of a specific logging destination |
| // (the producer project |
| // or the consumer project). |
| type LoggingDestination struct { |
| // Logs: Names of the logs to be sent to this destination. Each name |
| // must |
| // be defined in the Service.logs section. If the log name is |
| // not a domain scoped name, it will be automatically prefixed with |
| // the service name followed by "/". |
| Logs []string `json:"logs,omitempty"` |
| |
| // MonitoredResource: The monitored resource type. The type must be |
| // defined in the |
| // Service.monitored_resources section. |
| MonitoredResource string `json:"monitoredResource,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Logs") 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. "Logs") 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 *LoggingDestination) MarshalJSON() ([]byte, error) { |
| type NoMethod LoggingDestination |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Method: Method represents a method of an API interface. |
| type Method struct { |
| // Name: The simple name of this method. |
| Name string `json:"name,omitempty"` |
| |
| // Options: Any metadata attached to the method. |
| Options []*Option `json:"options,omitempty"` |
| |
| // RequestStreaming: If true, the request is streamed. |
| RequestStreaming bool `json:"requestStreaming,omitempty"` |
| |
| // RequestTypeUrl: A URL of the input message type. |
| RequestTypeUrl string `json:"requestTypeUrl,omitempty"` |
| |
| // ResponseStreaming: If true, the response is streamed. |
| ResponseStreaming bool `json:"responseStreaming,omitempty"` |
| |
| // ResponseTypeUrl: The URL of the output message type. |
| ResponseTypeUrl string `json:"responseTypeUrl,omitempty"` |
| |
| // Syntax: The source syntax of this method. |
| // |
| // Possible values: |
| // "SYNTAX_PROTO2" - Syntax `proto2`. |
| // "SYNTAX_PROTO3" - Syntax `proto3`. |
| Syntax string `json:"syntax,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Method) MarshalJSON() ([]byte, error) { |
| type NoMethod Method |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MetricDescriptor: Defines a metric type and its schema. Once a metric |
| // descriptor is created, |
| // deleting or altering it stops data collection and makes the metric |
| // type's |
| // existing data unusable. |
| type MetricDescriptor struct { |
| // Description: A detailed description of the metric, which can be used |
| // in documentation. |
| Description string `json:"description,omitempty"` |
| |
| // DisplayName: A concise name for the metric, which can be displayed in |
| // user interfaces. |
| // Use sentence case without an ending period, for example "Request |
| // count". |
| // This field is optional but it is recommended to be set for any |
| // metrics |
| // associated with user-visible concepts, such as Quota. |
| DisplayName string `json:"displayName,omitempty"` |
| |
| // Labels: The set of labels that can be used to describe a |
| // specific |
| // instance of this metric type. For example, |
| // the |
| // `appengine.googleapis.com/http/server/response_latencies` metric |
| // type has a label for the HTTP response code, `response_code`, so |
| // you can look at latencies for successful responses or just |
| // for responses that failed. |
| Labels []*LabelDescriptor `json:"labels,omitempty"` |
| |
| // Metadata: Optional. Metadata which can be used to guide usage of the |
| // metric. |
| Metadata *MetricDescriptorMetadata `json:"metadata,omitempty"` |
| |
| // MetricKind: Whether the metric records instantaneous values, changes |
| // to a value, etc. |
| // Some combinations of `metric_kind` and `value_type` might not be |
| // supported. |
| // |
| // Possible values: |
| // "METRIC_KIND_UNSPECIFIED" - Do not use this default value. |
| // "GAUGE" - An instantaneous measurement of a value. |
| // "DELTA" - The change in a value during a time interval. |
| // "CUMULATIVE" - A value accumulated over a time interval. |
| // Cumulative |
| // measurements in a time series should have the same start time |
| // and increasing end times, until an event resets the cumulative |
| // value to zero and sets a new start time for the following |
| // points. |
| MetricKind string `json:"metricKind,omitempty"` |
| |
| // Name: The resource name of the metric descriptor. |
| Name string `json:"name,omitempty"` |
| |
| // Type: The metric type, including its DNS name prefix. The type is |
| // not |
| // URL-encoded. All user-defined metric types have the DNS |
| // name |
| // `custom.googleapis.com` or `external.googleapis.com`. Metric types |
| // should |
| // use a natural hierarchical grouping. For example: |
| // |
| // "custom.googleapis.com/invoice/paid/amount" |
| // "external.googleapis.com/prometheus/up" |
| // "appengine.googleapis.com/http/server/response_latencies" |
| Type string `json:"type,omitempty"` |
| |
| // Unit: The unit in which the metric value is reported. It is only |
| // applicable |
| // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. |
| // The |
| // supported units are a subset of [The Unified Code for Units |
| // of |
| // Measure](http://unitsofmeasure.org/ucum.html) standard: |
| // |
| // **Basic units (UNIT)** |
| // |
| // * `bit` bit |
| // * `By` byte |
| // * `s` second |
| // * `min` minute |
| // * `h` hour |
| // * `d` day |
| // |
| // **Prefixes (PREFIX)** |
| // |
| // * `k` kilo (10**3) |
| // * `M` mega (10**6) |
| // * `G` giga (10**9) |
| // * `T` tera (10**12) |
| // * `P` peta (10**15) |
| // * `E` exa (10**18) |
| // * `Z` zetta (10**21) |
| // * `Y` yotta (10**24) |
| // * `m` milli (10**-3) |
| // * `u` micro (10**-6) |
| // * `n` nano (10**-9) |
| // * `p` pico (10**-12) |
| // * `f` femto (10**-15) |
| // * `a` atto (10**-18) |
| // * `z` zepto (10**-21) |
| // * `y` yocto (10**-24) |
| // * `Ki` kibi (2**10) |
| // * `Mi` mebi (2**20) |
| // * `Gi` gibi (2**30) |
| // * `Ti` tebi (2**40) |
| // |
| // **Grammar** |
| // |
| // The grammar also includes these connectors: |
| // |
| // * `/` division (as an infix operator, e.g. `1/s`). |
| // * `.` multiplication (as an infix operator, e.g. `GBy.d`) |
| // |
| // The grammar for a unit is as follows: |
| // |
| // Expression = Component { "." Component } { "/" Component } ; |
| // |
| // Component = ( [ PREFIX ] UNIT | "%" ) [ Annotation ] |
| // | Annotation |
| // | "1" |
| // ; |
| // |
| // Annotation = "{" NAME "}" ; |
| // |
| // Notes: |
| // |
| // * `Annotation` is just a comment if it follows a `UNIT` and is |
| // equivalent to `1` if it is used alone. For examples, |
| // `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. |
| // * `NAME` is a sequence of non-blank printable ASCII characters not |
| // containing '{' or '}'. |
| // * `1` represents dimensionless value 1, such as in `1/s`. |
| // * `%` represents dimensionless value 1/100, and annotates values |
| // giving |
| // a percentage. |
| Unit string `json:"unit,omitempty"` |
| |
| // ValueType: Whether the measurement is an integer, a floating-point |
| // number, etc. |
| // Some combinations of `metric_kind` and `value_type` might not be |
| // supported. |
| // |
| // Possible values: |
| // "VALUE_TYPE_UNSPECIFIED" - Do not use this default value. |
| // "BOOL" - The value is a boolean. |
| // This value type can be used only if the metric kind is `GAUGE`. |
| // "INT64" - The value is a signed 64-bit integer. |
| // "DOUBLE" - The value is a double precision floating point number. |
| // "STRING" - The value is a text string. |
| // This value type can be used only if the metric kind is `GAUGE`. |
| // "DISTRIBUTION" - The value is a `Distribution`. |
| // "MONEY" - The value is money. |
| ValueType string `json:"valueType,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 *MetricDescriptor) MarshalJSON() ([]byte, error) { |
| type NoMethod MetricDescriptor |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MetricDescriptorMetadata: Additional annotations that can be used to |
| // guide the usage of a metric. |
| type MetricDescriptorMetadata struct { |
| // IngestDelay: The delay of data points caused by ingestion. Data |
| // points older than this |
| // age are guaranteed to be ingested and available to be read, |
| // excluding |
| // data loss due to errors. |
| IngestDelay string `json:"ingestDelay,omitempty"` |
| |
| // LaunchStage: The launch stage of the metric definition. |
| // |
| // Possible values: |
| // "LAUNCH_STAGE_UNSPECIFIED" - Do not use this default value. |
| // "EARLY_ACCESS" - Early Access features are limited to a closed |
| // group of testers. To use |
| // these features, you must sign up in advance and sign a Trusted |
| // Tester |
| // agreement (which includes confidentiality provisions). These features |
| // may |
| // be unstable, changed in backward-incompatible ways, and are |
| // not |
| // guaranteed to be released. |
| // "ALPHA" - Alpha is a limited availability test for releases before |
| // they are cleared |
| // for widespread use. By Alpha, all significant design issues are |
| // resolved |
| // and we are in the process of verifying functionality. Alpha |
| // customers |
| // need to apply for access, agree to applicable terms, and have |
| // their |
| // projects whitelisted. Alpha releases don’t have to be feature |
| // complete, |
| // no SLAs are provided, and there are no technical support obligations, |
| // but |
| // they will be far enough along that customers can actually use them |
| // in |
| // test environments or for limited-use tests -- just like they would |
| // in |
| // normal production cases. |
| // "BETA" - Beta is the point at which we are ready to open a release |
| // for any |
| // customer to use. There are no SLA or technical support obligations in |
| // a |
| // Beta release. Products will be complete from a feature perspective, |
| // but |
| // may have some open outstanding issues. Beta releases are suitable |
| // for |
| // limited production use cases. |
| // "GA" - GA features are open to all developers and are considered |
| // stable and |
| // fully qualified for production use. |
| // "DEPRECATED" - Deprecated features are scheduled to be shut down |
| // and removed. For more |
| // information, see the “Deprecation Policy” section of our [Terms |
| // of |
| // Service](https://cloud.google.com/terms/) |
| // and the [Google Cloud Platform Subject to the |
| // Deprecation |
| // Policy](https://cloud.google.com/terms/deprecation) documentation. |
| LaunchStage string `json:"launchStage,omitempty"` |
| |
| // SamplePeriod: The sampling period of metric data points. For metrics |
| // which are written |
| // periodically, consecutive data points are stored at this time |
| // interval, |
| // excluding data loss due to errors. Metrics with a higher granularity |
| // have |
| // a smaller sampling period. |
| SamplePeriod string `json:"samplePeriod,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "IngestDelay") 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. "IngestDelay") 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 *MetricDescriptorMetadata) MarshalJSON() ([]byte, error) { |
| type NoMethod MetricDescriptorMetadata |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MetricRule: Bind API methods to metrics. Binding a method to a metric |
| // causes that |
| // metric's configured quota behaviors to apply to the method call. |
| type MetricRule struct { |
| // MetricCosts: Metrics to update when the selected methods are called, |
| // and the associated |
| // cost applied to each metric. |
| // |
| // The key of the map is the metric name, and the values are the |
| // amount |
| // increased for the metric against which the quota limits are |
| // defined. |
| // The value must not be negative. |
| MetricCosts map[string]string `json:"metricCosts,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "MetricCosts") 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. "MetricCosts") 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 *MetricRule) MarshalJSON() ([]byte, error) { |
| type NoMethod MetricRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Mixin: Declares an API Interface to be included in this interface. |
| // The including |
| // interface must redeclare all the methods from the included interface, |
| // but |
| // documentation and options are inherited as follows: |
| // |
| // - If after comment and whitespace stripping, the documentation |
| // string of the redeclared method is empty, it will be inherited |
| // from the original method. |
| // |
| // - Each annotation belonging to the service config (http, |
| // visibility) which is not set in the redeclared method will be |
| // inherited. |
| // |
| // - If an http annotation is inherited, the path pattern will be |
| // modified as follows. Any version prefix will be replaced by the |
| // version of the including interface plus the root path if |
| // specified. |
| // |
| // Example of a simple mixin: |
| // |
| // package google.acl.v1; |
| // service AccessControl { |
| // // Get the underlying ACL object. |
| // rpc GetAcl(GetAclRequest) returns (Acl) { |
| // option (google.api.http).get = "/v1/{resource=**}:getAcl"; |
| // } |
| // } |
| // |
| // package google.storage.v2; |
| // service Storage { |
| // // rpc GetAcl(GetAclRequest) returns (Acl); |
| // |
| // // Get a data record. |
| // rpc GetData(GetDataRequest) returns (Data) { |
| // option (google.api.http).get = "/v2/{resource=**}"; |
| // } |
| // } |
| // |
| // Example of a mixin configuration: |
| // |
| // apis: |
| // - name: google.storage.v2.Storage |
| // mixins: |
| // - name: google.acl.v1.AccessControl |
| // |
| // The mixin construct implies that all methods in `AccessControl` |
| // are |
| // also declared with same name and request/response types in |
| // `Storage`. A documentation generator or annotation processor will |
| // see the effective `Storage.GetAcl` method after |
| // inherting |
| // documentation and annotations as follows: |
| // |
| // service Storage { |
| // // Get the underlying ACL object. |
| // rpc GetAcl(GetAclRequest) returns (Acl) { |
| // option (google.api.http).get = "/v2/{resource=**}:getAcl"; |
| // } |
| // ... |
| // } |
| // |
| // Note how the version in the path pattern changed from `v1` to |
| // `v2`. |
| // |
| // If the `root` field in the mixin is specified, it should be |
| // a |
| // relative path under which inherited HTTP paths are placed. Example: |
| // |
| // apis: |
| // - name: google.storage.v2.Storage |
| // mixins: |
| // - name: google.acl.v1.AccessControl |
| // root: acls |
| // |
| // This implies the following inherited HTTP annotation: |
| // |
| // service Storage { |
| // // Get the underlying ACL object. |
| // rpc GetAcl(GetAclRequest) returns (Acl) { |
| // option (google.api.http).get = |
| // "/v2/acls/{resource=**}:getAcl"; |
| // } |
| // ... |
| // } |
| type Mixin struct { |
| // Name: The fully qualified name of the interface which is included. |
| Name string `json:"name,omitempty"` |
| |
| // Root: If non-empty specifies a path under which inherited HTTP |
| // paths |
| // are rooted. |
| Root string `json:"root,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Mixin) MarshalJSON() ([]byte, error) { |
| type NoMethod Mixin |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MonitoredResourceDescriptor: An object that describes the schema of a |
| // MonitoredResource object using a |
| // type name and a set of labels. For example, the monitored |
| // resource |
| // descriptor for Google Compute Engine VM instances has a type |
| // of |
| // "gce_instance" and specifies the use of the labels "instance_id" |
| // and |
| // "zone" to identify particular VM instances. |
| // |
| // Different APIs can support different monitored resource types. APIs |
| // generally |
| // provide a `list` method that returns the monitored resource |
| // descriptors used |
| // by the API. |
| type MonitoredResourceDescriptor struct { |
| // Description: Optional. A detailed description of the monitored |
| // resource type that might |
| // be used in documentation. |
| Description string `json:"description,omitempty"` |
| |
| // DisplayName: Optional. A concise name for the monitored resource type |
| // that might be |
| // displayed in user interfaces. It should be a Title Cased Noun |
| // Phrase, |
| // without any article or other determiners. For example, |
| // "Google Cloud SQL Database". |
| DisplayName string `json:"displayName,omitempty"` |
| |
| // Labels: Required. A set of labels used to describe instances of this |
| // monitored |
| // resource type. For example, an individual Google Cloud SQL database |
| // is |
| // identified by values for the labels "database_id" and "zone". |
| Labels []*LabelDescriptor `json:"labels,omitempty"` |
| |
| // Name: Optional. The resource name of the monitored resource |
| // descriptor: |
| // "projects/{project_id}/monitoredResourceDescriptors/{type |
| // }" where |
| // {type} is the value of the `type` field in this object |
| // and |
| // {project_id} is a project ID that provides API-specific context |
| // for |
| // accessing the type. APIs that do not use project information can use |
| // the |
| // resource name format "monitoredResourceDescriptors/{type}". |
| Name string `json:"name,omitempty"` |
| |
| // Type: Required. The monitored resource type. For example, the |
| // type |
| // "cloudsql_database" represents databases in Google Cloud SQL. |
| // The maximum length of this value is 256 characters. |
| Type string `json:"type,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 *MonitoredResourceDescriptor) MarshalJSON() ([]byte, error) { |
| type NoMethod MonitoredResourceDescriptor |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Monitoring: Monitoring configuration of the service. |
| // |
| // The example below shows how to configure monitored resources and |
| // metrics |
| // for monitoring. In the example, a monitored resource and two metrics |
| // are |
| // defined. The `library.googleapis.com/book/returned_count` metric is |
| // sent |
| // to both producer and consumer projects, whereas |
| // the |
| // `library.googleapis.com/book/overdue_count` metric is only sent to |
| // the |
| // consumer project. |
| // |
| // monitored_resources: |
| // - type: library.googleapis.com/branch |
| // labels: |
| // - key: /city |
| // description: The city where the library branch is located |
| // in. |
| // - key: /name |
| // description: The name of the branch. |
| // metrics: |
| // - name: library.googleapis.com/book/returned_count |
| // metric_kind: DELTA |
| // value_type: INT64 |
| // labels: |
| // - key: /customer_id |
| // - name: library.googleapis.com/book/overdue_count |
| // metric_kind: GAUGE |
| // value_type: INT64 |
| // labels: |
| // - key: /customer_id |
| // monitoring: |
| // producer_destinations: |
| // - monitored_resource: library.googleapis.com/branch |
| // metrics: |
| // - library.googleapis.com/book/returned_count |
| // consumer_destinations: |
| // - monitored_resource: library.googleapis.com/branch |
| // metrics: |
| // - library.googleapis.com/book/returned_count |
| // - library.googleapis.com/book/overdue_count |
| type Monitoring struct { |
| // ConsumerDestinations: Monitoring configurations for sending metrics |
| // to the consumer project. |
| // There can be multiple consumer destinations, each one must have |
| // a |
| // different monitored resource type. A metric can be used in at |
| // most |
| // one consumer destination. |
| ConsumerDestinations []*MonitoringDestination `json:"consumerDestinations,omitempty"` |
| |
| // ProducerDestinations: Monitoring configurations for sending metrics |
| // to the producer project. |
| // There can be multiple producer destinations, each one must have |
| // a |
| // different monitored resource type. A metric can be used in at |
| // most |
| // one producer destination. |
| ProducerDestinations []*MonitoringDestination `json:"producerDestinations,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "ConsumerDestinations") 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. "ConsumerDestinations") 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 *Monitoring) MarshalJSON() ([]byte, error) { |
| type NoMethod Monitoring |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MonitoringDestination: Configuration of a specific monitoring |
| // destination (the producer project |
| // or the consumer project). |
| type MonitoringDestination struct { |
| // Metrics: Names of the metrics to report to this monitoring |
| // destination. |
| // Each name must be defined in Service.metrics section. |
| Metrics []string `json:"metrics,omitempty"` |
| |
| // MonitoredResource: The monitored resource type. The type must be |
| // defined in |
| // Service.monitored_resources section. |
| MonitoredResource string `json:"monitoredResource,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Metrics") 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. "Metrics") 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 *MonitoringDestination) MarshalJSON() ([]byte, error) { |
| type NoMethod MonitoringDestination |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // OAuthRequirements: OAuth scopes are a way to define data and |
| // permissions on data. For example, |
| // there are scopes defined for "Read-only access to Google Calendar" |
| // and |
| // "Access to Cloud Platform". Users can consent to a scope for an |
| // application, |
| // giving it permission to access that data on their behalf. |
| // |
| // OAuth scope specifications should be fairly coarse grained; a user |
| // will need |
| // to see and understand the text description of what your scope |
| // means. |
| // |
| // In most cases: use one or at most two OAuth scopes for an entire |
| // family of |
| // products. If your product has multiple APIs, you should probably be |
| // sharing |
| // the OAuth scope across all of those APIs. |
| // |
| // When you need finer grained OAuth consent screens: talk with your |
| // product |
| // management about how developers will use them in practice. |
| // |
| // Please note that even though each of the canonical scopes is enough |
| // for a |
| // request to be accepted and passed to the backend, a request can still |
| // fail |
| // due to the backend requiring additional scopes or permissions. |
| type OAuthRequirements struct { |
| // CanonicalScopes: The list of publicly documented OAuth scopes that |
| // are allowed access. An |
| // OAuth token containing any of these scopes will be |
| // accepted. |
| // |
| // Example: |
| // |
| // canonical_scopes: https://www.googleapis.com/auth/calendar, |
| // https://www.googleapis.com/auth/calendar.read |
| CanonicalScopes string `json:"canonicalScopes,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CanonicalScopes") 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. "CanonicalScopes") 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 *OAuthRequirements) MarshalJSON() ([]byte, error) { |
| type NoMethod OAuthRequirements |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Operation: This resource represents a long-running operation that is |
| // the result of a |
| // network API call. |
| type Operation struct { |
| // Done: If the value is `false`, it means the operation is still in |
| // progress. |
| // If `true`, the operation is completed, and either `error` or |
| // `response` is |
| // available. |
| Done bool `json:"done,omitempty"` |
| |
| // Error: The error result of the operation in case of failure or |
| // cancellation. |
| Error *Status `json:"error,omitempty"` |
| |
| // Metadata: Service-specific metadata associated with the operation. |
| // It typically |
| // contains progress information and common metadata such as create |
| // time. |
| // Some services might not provide such metadata. Any method that |
| // returns a |
| // long-running operation should document the metadata type, if any. |
| Metadata googleapi.RawMessage `json:"metadata,omitempty"` |
| |
| // Name: The server-assigned name, which is only unique within the same |
| // service that |
| // originally returns it. If you use the default HTTP mapping, |
| // the |
| // `name` should have the format of `operations/some/unique/name`. |
| Name string `json:"name,omitempty"` |
| |
| // Response: The normal response of the operation in case of success. |
| // If the original |
| // method returns no data on success, such as `Delete`, the response |
| // is |
| // `google.protobuf.Empty`. If the original method is |
| // standard |
| // `Get`/`Create`/`Update`, the response should be the resource. For |
| // other |
| // methods, the response should have the type `XxxResponse`, where |
| // `Xxx` |
| // is the original method name. For example, if the original method |
| // name |
| // is `TakeSnapshot()`, the inferred response type |
| // is |
| // `TakeSnapshotResponse`. |
| Response googleapi.RawMessage `json:"response,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "Done") to |
| // unconditionally include in API requests. By default, fields with |
| // empty 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. "Done") 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 *Operation) MarshalJSON() ([]byte, error) { |
| type NoMethod Operation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // OperationMetadata: The metadata associated with a long running |
| // operation resource. |
| type OperationMetadata struct { |
| // ProgressPercentage: Percentage of completion of this operation, |
| // ranging from 0 to 100. |
| ProgressPercentage int64 `json:"progressPercentage,omitempty"` |
| |
| // ResourceNames: The full name of the resources that this operation is |
| // directly |
| // associated with. |
| ResourceNames []string `json:"resourceNames,omitempty"` |
| |
| // StartTime: The start time of the operation. |
| StartTime string `json:"startTime,omitempty"` |
| |
| // Steps: Detailed status information for each step. The order is |
| // undetermined. |
| Steps []*Step `json:"steps,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ProgressPercentage") |
| // 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. "ProgressPercentage") 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 *OperationMetadata) MarshalJSON() ([]byte, error) { |
| type NoMethod OperationMetadata |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Option: A protocol buffer option, which can be attached to a message, |
| // field, |
| // enumeration, etc. |
| type Option struct { |
| // Name: The option's name. For protobuf built-in options (options |
| // defined in |
| // descriptor.proto), this is the short name. For example, |
| // "map_entry". |
| // For custom options, it should be the fully-qualified name. For |
| // example, |
| // "google.api.http". |
| Name string `json:"name,omitempty"` |
| |
| // Value: The option's value packed in an Any message. If the value is a |
| // primitive, |
| // the corresponding wrapper type defined in |
| // google/protobuf/wrappers.proto |
| // should be used. If the value is an enum, it should be stored as an |
| // int32 |
| // value using the google.protobuf.Int32Value type. |
| Value googleapi.RawMessage `json:"value,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Option) MarshalJSON() ([]byte, error) { |
| type NoMethod Option |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Page: Represents a documentation page. A page can contain subpages to |
| // represent |
| // nested documentation set structure. |
| type Page struct { |
| // Content: The Markdown content of the page. You can use <code>(== |
| // include {path} ==)</code> |
| // to include content from a Markdown file. |
| Content string `json:"content,omitempty"` |
| |
| // Name: The name of the page. It will be used as an identity of the |
| // page to |
| // generate URI of the page, text of the link to this page in |
| // navigation, |
| // etc. The full page name (start from the root page name to this |
| // page |
| // concatenated with `.`) can be used as reference to the page in |
| // your |
| // documentation. For example: |
| // <pre><code>pages: |
| // - name: Tutorial |
| // content: (== include tutorial.md ==) |
| // subpages: |
| // - name: Java |
| // content: (== include tutorial_java.md |
| // ==) |
| // </code></pre> |
| // You can reference `Java` page using Markdown reference link |
| // syntax: |
| // `Java`. |
| Name string `json:"name,omitempty"` |
| |
| // Subpages: Subpages of this page. The order of subpages specified here |
| // will be |
| // honored in the generated docset. |
| Subpages []*Page `json:"subpages,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Content") 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. "Content") 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 *Page) MarshalJSON() ([]byte, error) { |
| type NoMethod Page |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // PublishedService: The published version of a Service that is managed |
| // by |
| // Google Service Management. |
| type PublishedService struct { |
| // Name: The resource name of the service. |
| // |
| // A valid name would be: |
| // - services/serviceuser.googleapis.com |
| Name string `json:"name,omitempty"` |
| |
| // Service: The service's published configuration. |
| Service *Service `json:"service,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *PublishedService) MarshalJSON() ([]byte, error) { |
| type NoMethod PublishedService |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Quota: Quota configuration helps to achieve fairness and budgeting in |
| // service |
| // usage. |
| // |
| // The quota configuration works this way: |
| // - The service configuration defines a set of metrics. |
| // - For API calls, the quota.metric_rules maps methods to metrics with |
| // corresponding costs. |
| // - The quota.limits defines limits on the metrics, which will be used |
| // for |
| // quota checks at runtime. |
| // |
| // An example quota configuration in yaml format: |
| // |
| // quota: |
| // limits: |
| // |
| // - name: apiWriteQpsPerProject |
| // metric: library.googleapis.com/write_calls |
| // unit: "1/min/{project}" # rate limit for consumer projects |
| // values: |
| // STANDARD: 10000 |
| // |
| // |
| // # The metric rules bind all methods to the read_calls metric, |
| // # except for the UpdateBook and DeleteBook methods. These two |
| // methods |
| // # are mapped to the write_calls metric, with the UpdateBook |
| // method |
| // # consuming at twice rate as the DeleteBook method. |
| // metric_rules: |
| // - selector: "*" |
| // metric_costs: |
| // library.googleapis.com/read_calls: 1 |
| // - selector: google.example.library.v1.LibraryService.UpdateBook |
| // metric_costs: |
| // library.googleapis.com/write_calls: 2 |
| // - selector: google.example.library.v1.LibraryService.DeleteBook |
| // metric_costs: |
| // library.googleapis.com/write_calls: 1 |
| // |
| // Corresponding Metric definition: |
| // |
| // metrics: |
| // - name: library.googleapis.com/read_calls |
| // display_name: Read requests |
| // metric_kind: DELTA |
| // value_type: INT64 |
| // |
| // - name: library.googleapis.com/write_calls |
| // display_name: Write requests |
| // metric_kind: DELTA |
| // value_type: INT64 |
| type Quota struct { |
| // Limits: List of `QuotaLimit` definitions for the service. |
| Limits []*QuotaLimit `json:"limits,omitempty"` |
| |
| // MetricRules: List of `MetricRule` definitions, each one mapping a |
| // selected method to one |
| // or more metrics. |
| MetricRules []*MetricRule `json:"metricRules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Limits") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Limits") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Quota) MarshalJSON() ([]byte, error) { |
| type NoMethod Quota |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // QuotaLimit: `QuotaLimit` defines a specific limit that applies over a |
| // specified duration |
| // for a limit type. There can be at most one limit for a duration and |
| // limit |
| // type combination defined within a `QuotaGroup`. |
| type QuotaLimit struct { |
| // DefaultLimit: Default number of tokens that can be consumed during |
| // the specified |
| // duration. This is the number of tokens assigned when a |
| // client |
| // application developer activates the service for his/her |
| // project. |
| // |
| // Specifying a value of 0 will block all requests. This can be used if |
| // you |
| // are provisioning quota to selected consumers and blocking |
| // others. |
| // Similarly, a value of -1 will indicate an unlimited quota. No |
| // other |
| // negative values are allowed. |
| // |
| // Used by group-based quotas only. |
| DefaultLimit int64 `json:"defaultLimit,omitempty,string"` |
| |
| // Description: Optional. User-visible, extended description for this |
| // quota limit. |
| // Should be used only when more context is needed to understand this |
| // limit |
| // than provided by the limit's display name (see: `display_name`). |
| Description string `json:"description,omitempty"` |
| |
| // DisplayName: User-visible display name for this limit. |
| // Optional. If not set, the UI will provide a default display name |
| // based on |
| // the quota configuration. This field can be used to override the |
| // default |
| // display name generated from the configuration. |
| DisplayName string `json:"displayName,omitempty"` |
| |
| // Duration: Duration of this limit in textual notation. Example: |
| // "100s", "24h", "1d". |
| // For duration longer than a day, only multiple of days is supported. |
| // We |
| // support only "100s" and "1d" for now. Additional support will be |
| // added in |
| // the future. "0" indicates indefinite duration. |
| // |
| // Used by group-based quotas only. |
| Duration string `json:"duration,omitempty"` |
| |
| // FreeTier: Free tier value displayed in the Developers Console for |
| // this limit. |
| // The free tier is the number of tokens that will be subtracted from |
| // the |
| // billed amount when billing is enabled. |
| // This field can only be set on a limit with duration "1d", in a |
| // billable |
| // group; it is invalid on any other limit. If this field is not set, |
| // it |
| // defaults to 0, indicating that there is no free tier for this |
| // service. |
| // |
| // Used by group-based quotas only. |
| FreeTier int64 `json:"freeTier,omitempty,string"` |
| |
| // MaxLimit: Maximum number of tokens that can be consumed during the |
| // specified |
| // duration. Client application developers can override the default |
| // limit up |
| // to this maximum. If specified, this value cannot be set to a value |
| // less |
| // than the default limit. If not specified, it is set to the default |
| // limit. |
| // |
| // To allow clients to apply overrides with no upper bound, set this to |
| // -1, |
| // indicating unlimited maximum quota. |
| // |
| // Used by group-based quotas only. |
| MaxLimit int64 `json:"maxLimit,omitempty,string"` |
| |
| // Metric: The name of the metric this quota limit applies to. The quota |
| // limits with |
| // the same metric will be checked together during runtime. The metric |
| // must be |
| // defined within the service config. |
| Metric string `json:"metric,omitempty"` |
| |
| // Name: Name of the quota limit. |
| // |
| // The name must be provided, and it must be unique within the service. |
| // The |
| // name can only include alphanumeric characters as well as '-'. |
| // |
| // The maximum length of the limit name is 64 characters. |
| Name string `json:"name,omitempty"` |
| |
| // Unit: Specify the unit of the quota limit. It uses the same syntax |
| // as |
| // Metric.unit. The supported unit kinds are determined by the |
| // quota |
| // backend system. |
| // |
| // Here are some examples: |
| // * "1/min/{project}" for quota per minute per project. |
| // |
| // Note: the order of unit components is insignificant. |
| // The "1" at the beginning is required to follow the metric unit |
| // syntax. |
| Unit string `json:"unit,omitempty"` |
| |
| // Values: Tiered limit values. You must specify this as a key:value |
| // pair, with an |
| // integer value that is the maximum number of requests allowed for |
| // the |
| // specified unit. Currently only STANDARD is supported. |
| Values map[string]string `json:"values,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "DefaultLimit") 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. "DefaultLimit") 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 *QuotaLimit) MarshalJSON() ([]byte, error) { |
| type NoMethod QuotaLimit |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SearchServicesResponse: Response message for SearchServices method. |
| type SearchServicesResponse struct { |
| // NextPageToken: Token that can be passed to `ListAvailableServices` to |
| // resume a paginated |
| // query. |
| NextPageToken string `json:"nextPageToken,omitempty"` |
| |
| // Services: Services available publicly or available to the |
| // authenticated caller. |
| Services []*PublishedService `json:"services,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "NextPageToken") to |
| // unconditionally include in API requests. By default, fields with |
| // empty 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. "NextPageToken") 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 *SearchServicesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod SearchServicesResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Service: `Service` is the root object of Google service configuration |
| // schema. It |
| // describes basic information about a service, such as the name and |
| // the |
| // title, and delegates other aspects to sub-sections. Each sub-section |
| // is |
| // either a proto message or a repeated proto message that configures |
| // a |
| // specific aspect, such as auth. See each proto message definition for |
| // details. |
| // |
| // Example: |
| // |
| // type: google.api.Service |
| // config_version: 3 |
| // name: calendar.googleapis.com |
| // title: Google Calendar API |
| // apis: |
| // - name: google.calendar.v3.Calendar |
| // authentication: |
| // providers: |
| // - id: google_calendar_auth |
| // jwks_uri: https://www.googleapis.com/oauth2/v1/certs |
| // issuer: https://securetoken.google.com |
| // rules: |
| // - selector: "*" |
| // requirements: |
| // provider_id: google_calendar_auth |
| type Service struct { |
| // Apis: A list of API interfaces exported by this service. Only the |
| // `name` field |
| // of the google.protobuf.Api needs to be provided by the |
| // configuration |
| // author, as the remaining fields will be derived from the IDL during |
| // the |
| // normalization process. It is an error to specify an API interface |
| // here |
| // which cannot be resolved against the associated IDL files. |
| Apis []*Api `json:"apis,omitempty"` |
| |
| // Authentication: Auth configuration. |
| Authentication *Authentication `json:"authentication,omitempty"` |
| |
| // Backend: API backend configuration. |
| Backend *Backend `json:"backend,omitempty"` |
| |
| // Billing: Billing configuration. |
| Billing *Billing `json:"billing,omitempty"` |
| |
| // ConfigVersion: The semantic version of the service configuration. The |
| // config version |
| // affects the interpretation of the service configuration. For |
| // example, |
| // certain features are enabled by default for certain config |
| // versions. |
| // The latest config version is `3`. |
| ConfigVersion int64 `json:"configVersion,omitempty"` |
| |
| // Context: Context configuration. |
| Context *Context `json:"context,omitempty"` |
| |
| // Control: Configuration for the service control plane. |
| Control *Control `json:"control,omitempty"` |
| |
| // CustomError: Custom error configuration. |
| CustomError *CustomError `json:"customError,omitempty"` |
| |
| // Documentation: Additional API documentation. |
| Documentation *Documentation `json:"documentation,omitempty"` |
| |
| // Endpoints: Configuration for network endpoints. If this is empty, |
| // then an endpoint |
| // with the same name as the service is automatically generated to |
| // service all |
| // defined APIs. |
| Endpoints []*Endpoint `json:"endpoints,omitempty"` |
| |
| // Enums: A list of all enum types included in this API service. |
| // Enums |
| // referenced directly or indirectly by the `apis` are |
| // automatically |
| // included. Enums which are not referenced but shall be |
| // included |
| // should be listed here by name. Example: |
| // |
| // enums: |
| // - name: google.someapi.v1.SomeEnum |
| Enums []*Enum `json:"enums,omitempty"` |
| |
| // Experimental: Experimental configuration. |
| Experimental *Experimental `json:"experimental,omitempty"` |
| |
| // Http: HTTP configuration. |
| Http *Http `json:"http,omitempty"` |
| |
| // Id: A unique ID for a specific instance of this message, typically |
| // assigned |
| // by the client for tracking purpose. If empty, the server may choose |
| // to |
| // generate one instead. Must be no longer than 60 characters. |
| Id string `json:"id,omitempty"` |
| |
| // Logging: Logging configuration. |
| Logging *Logging `json:"logging,omitempty"` |
| |
| // Logs: Defines the logs used by this service. |
| Logs []*LogDescriptor `json:"logs,omitempty"` |
| |
| // Metrics: Defines the metrics used by this service. |
| Metrics []*MetricDescriptor `json:"metrics,omitempty"` |
| |
| // MonitoredResources: Defines the monitored resources used by this |
| // service. This is required |
| // by the Service.monitoring and Service.logging configurations. |
| MonitoredResources []*MonitoredResourceDescriptor `json:"monitoredResources,omitempty"` |
| |
| // Monitoring: Monitoring configuration. |
| Monitoring *Monitoring `json:"monitoring,omitempty"` |
| |
| // Name: The DNS address at which this service is available, |
| // e.g. `calendar.googleapis.com`. |
| Name string `json:"name,omitempty"` |
| |
| // ProducerProjectId: The Google project that owns this service. |
| ProducerProjectId string `json:"producerProjectId,omitempty"` |
| |
| // Quota: Quota configuration. |
| Quota *Quota `json:"quota,omitempty"` |
| |
| // SourceInfo: Output only. The source information for this |
| // configuration if available. |
| SourceInfo *SourceInfo `json:"sourceInfo,omitempty"` |
| |
| // SystemParameters: System parameter configuration. |
| SystemParameters *SystemParameters `json:"systemParameters,omitempty"` |
| |
| // SystemTypes: A list of all proto message types included in this API |
| // service. |
| // It serves similar purpose as [google.api.Service.types], except |
| // that |
| // these types are not needed by user-defined APIs. Therefore, they will |
| // not |
| // show up in the generated discovery doc. This field should only be |
| // used |
| // to define system APIs in ESF. |
| SystemTypes []*Type `json:"systemTypes,omitempty"` |
| |
| // Title: The product title for this service. |
| Title string `json:"title,omitempty"` |
| |
| // Types: A list of all proto message types included in this API |
| // service. |
| // Types referenced directly or indirectly by the `apis` |
| // are |
| // automatically included. Messages which are not referenced but |
| // shall be included, such as types used by the `google.protobuf.Any` |
| // type, |
| // should be listed here by name. Example: |
| // |
| // types: |
| // - name: google.protobuf.Int32 |
| Types []*Type `json:"types,omitempty"` |
| |
| // Usage: Configuration controlling usage of this service. |
| Usage *Usage `json:"usage,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Apis") 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. "Apis") 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 *Service) MarshalJSON() ([]byte, error) { |
| type NoMethod Service |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SourceContext: `SourceContext` represents information about the |
| // source of a |
| // protobuf element, like the file in which it is defined. |
| type SourceContext struct { |
| // FileName: The path-qualified name of the .proto file that contained |
| // the associated |
| // protobuf element. For example: |
| // "google/protobuf/source_context.proto". |
| FileName string `json:"fileName,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "FileName") 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. "FileName") 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 *SourceContext) MarshalJSON() ([]byte, error) { |
| type NoMethod SourceContext |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SourceInfo: Source information used to create a Service Config |
| type SourceInfo struct { |
| // SourceFiles: All files used during config generation. |
| SourceFiles []googleapi.RawMessage `json:"sourceFiles,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "SourceFiles") 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. "SourceFiles") 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 *SourceInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod SourceInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Status: The `Status` type defines a logical error model that is |
| // suitable for different |
| // programming environments, including REST APIs and RPC APIs. It is |
| // used by |
| // [gRPC](https://github.com/grpc). The error model is designed to |
| // be: |
| // |
| // - Simple to use and understand for most users |
| // - Flexible enough to meet unexpected needs |
| // |
| // # Overview |
| // |
| // The `Status` message contains three pieces of data: error code, error |
| // message, |
| // and error details. The error code should be an enum value |
| // of |
| // google.rpc.Code, but it may accept additional error codes if needed. |
| // The |
| // error message should be a developer-facing English message that |
| // helps |
| // developers *understand* and *resolve* the error. If a localized |
| // user-facing |
| // error message is needed, put the localized message in the error |
| // details or |
| // localize it in the client. The optional error details may contain |
| // arbitrary |
| // information about the error. There is a predefined set of error |
| // detail types |
| // in the package `google.rpc` that can be used for common error |
| // conditions. |
| // |
| // # Language mapping |
| // |
| // The `Status` message is the logical representation of the error |
| // model, but it |
| // is not necessarily the actual wire format. When the `Status` message |
| // is |
| // exposed in different client libraries and different wire protocols, |
| // it can be |
| // mapped differently. For example, it will likely be mapped to some |
| // exceptions |
| // in Java, but more likely mapped to some error codes in C. |
| // |
| // # Other uses |
| // |
| // The error model and the `Status` message can be used in a variety |
| // of |
| // environments, either with or without APIs, to provide a |
| // consistent developer experience across different |
| // environments. |
| // |
| // Example uses of this error model include: |
| // |
| // - Partial errors. If a service needs to return partial errors to the |
| // client, |
| // it may embed the `Status` in the normal response to indicate the |
| // partial |
| // errors. |
| // |
| // - Workflow errors. A typical workflow has multiple steps. Each step |
| // may |
| // have a `Status` message for error reporting. |
| // |
| // - Batch operations. If a client uses batch request and batch |
| // response, the |
| // `Status` message should be used directly inside batch response, |
| // one for |
| // each error sub-response. |
| // |
| // - Asynchronous operations. If an API call embeds asynchronous |
| // operation |
| // results in its response, the status of those operations should |
| // be |
| // represented directly using the `Status` message. |
| // |
| // - Logging. If some API errors are stored in logs, the message |
| // `Status` could |
| // be used directly after any stripping needed for security/privacy |
| // reasons. |
| type Status struct { |
| // Code: The status code, which should be an enum value of |
| // google.rpc.Code. |
| Code int64 `json:"code,omitempty"` |
| |
| // Details: A list of messages that carry the error details. There is a |
| // common set of |
| // message types for APIs to use. |
| Details []googleapi.RawMessage `json:"details,omitempty"` |
| |
| // Message: A developer-facing error message, which should be in |
| // English. Any |
| // user-facing error message should be localized and sent in |
| // the |
| // google.rpc.Status.details field, or localized by the client. |
| Message string `json:"message,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Status) MarshalJSON() ([]byte, error) { |
| type NoMethod Status |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Step: Represents the status of one operation step. |
| type Step struct { |
| // Description: The short description of the step. |
| Description string `json:"description,omitempty"` |
| |
| // Status: The status code. |
| // |
| // Possible values: |
| // "STATUS_UNSPECIFIED" - Unspecifed code. |
| // "DONE" - The operation or step has completed without errors. |
| // "NOT_STARTED" - The operation or step has not started yet. |
| // "IN_PROGRESS" - The operation or step is in progress. |
| // "FAILED" - The operation or step has completed with errors. If the |
| // operation is |
| // rollbackable, the rollback completed with errors too. |
| // "CANCELLED" - The operation or step has completed with |
| // cancellation. |
| Status string `json:"status,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 *Step) MarshalJSON() ([]byte, error) { |
| type NoMethod Step |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SystemParameter: Define a parameter's name and location. The |
| // parameter may be passed as either |
| // an HTTP header or a URL query parameter, and if both are passed the |
| // behavior |
| // is implementation-dependent. |
| type SystemParameter struct { |
| // HttpHeader: Define the HTTP header name to use for the parameter. It |
| // is case |
| // insensitive. |
| HttpHeader string `json:"httpHeader,omitempty"` |
| |
| // Name: Define the name of the parameter, such as "api_key" . It is |
| // case sensitive. |
| Name string `json:"name,omitempty"` |
| |
| // UrlQueryParameter: Define the URL query parameter name to use for the |
| // parameter. It is case |
| // sensitive. |
| UrlQueryParameter string `json:"urlQueryParameter,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "HttpHeader") 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. "HttpHeader") 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 *SystemParameter) MarshalJSON() ([]byte, error) { |
| type NoMethod SystemParameter |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SystemParameterRule: Define a system parameter rule mapping system |
| // parameter definitions to |
| // methods. |
| type SystemParameterRule struct { |
| // Parameters: Define parameters. Multiple names may be defined for a |
| // parameter. |
| // For a given method call, only one of them should be used. If |
| // multiple |
| // names are used the behavior is implementation-dependent. |
| // If none of the specified names are present the behavior |
| // is |
| // parameter-dependent. |
| Parameters []*SystemParameter `json:"parameters,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. Use '*' to |
| // indicate all |
| // methods in all APIs. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Parameters") 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. "Parameters") 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 *SystemParameterRule) MarshalJSON() ([]byte, error) { |
| type NoMethod SystemParameterRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SystemParameters: ### System parameter configuration |
| // |
| // A system parameter is a special kind of parameter defined by the |
| // API |
| // system, not by an individual API. It is typically mapped to an HTTP |
| // header |
| // and/or a URL query parameter. This configuration specifies which |
| // methods |
| // change the names of the system parameters. |
| type SystemParameters struct { |
| // Rules: Define system parameters. |
| // |
| // The parameters defined here will override the default |
| // parameters |
| // implemented by the system. If this field is missing from the |
| // service |
| // config, default system parameters will be used. Default system |
| // parameters |
| // and names is implementation-dependent. |
| // |
| // Example: define api key for all methods |
| // |
| // system_parameters |
| // rules: |
| // - selector: "*" |
| // parameters: |
| // - name: api_key |
| // url_query_parameter: api_key |
| // |
| // |
| // Example: define 2 api key names for a specific method. |
| // |
| // system_parameters |
| // rules: |
| // - selector: "/ListShelves" |
| // parameters: |
| // - name: api_key |
| // http_header: Api-Key1 |
| // - name: api_key |
| // http_header: Api-Key2 |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*SystemParameterRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Rules") 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. "Rules") 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 *SystemParameters) MarshalJSON() ([]byte, error) { |
| type NoMethod SystemParameters |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Type: A protocol buffer message type. |
| type Type struct { |
| // Fields: The list of fields. |
| Fields []*Field `json:"fields,omitempty"` |
| |
| // Name: The fully qualified message name. |
| Name string `json:"name,omitempty"` |
| |
| // Oneofs: The list of types appearing in `oneof` definitions in this |
| // type. |
| Oneofs []string `json:"oneofs,omitempty"` |
| |
| // Options: The protocol buffer options. |
| Options []*Option `json:"options,omitempty"` |
| |
| // SourceContext: The source context. |
| SourceContext *SourceContext `json:"sourceContext,omitempty"` |
| |
| // Syntax: The source syntax. |
| // |
| // Possible values: |
| // "SYNTAX_PROTO2" - Syntax `proto2`. |
| // "SYNTAX_PROTO3" - Syntax `proto3`. |
| Syntax string `json:"syntax,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Fields") 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. "Fields") 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 *Type) MarshalJSON() ([]byte, error) { |
| type NoMethod Type |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Usage: Configuration controlling usage of a service. |
| type Usage struct { |
| // ProducerNotificationChannel: The full resource name of a channel used |
| // for sending notifications to the |
| // service producer. |
| // |
| // Google Service Management currently only supports |
| // [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a |
| // notification |
| // channel. To use Google Cloud Pub/Sub as the channel, this must be the |
| // name |
| // of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name |
| // format |
| // documented in https://cloud.google.com/pubsub/docs/overview. |
| ProducerNotificationChannel string `json:"producerNotificationChannel,omitempty"` |
| |
| // Requirements: Requirements that must be satisfied before a consumer |
| // project can use the |
| // service. Each requirement is of the form |
| // <service.name>/<requirement-id>; |
| // for example 'serviceusage.googleapis.com/billing-enabled'. |
| Requirements []string `json:"requirements,omitempty"` |
| |
| // Rules: A list of usage rules that apply to individual API |
| // methods. |
| // |
| // **NOTE:** All service configuration rules follow "last one wins" |
| // order. |
| Rules []*UsageRule `json:"rules,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "ProducerNotificationChannel") 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. |
| // "ProducerNotificationChannel") 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 *Usage) MarshalJSON() ([]byte, error) { |
| type NoMethod Usage |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // UsageRule: Usage configuration rules for the service. |
| // |
| // NOTE: Under development. |
| // |
| // |
| // Use this rule to configure unregistered calls for the service. |
| // Unregistered |
| // calls are calls that do not contain consumer project |
| // identity. |
| // (Example: calls that do not contain an API key). |
| // By default, API methods do not allow unregistered calls, and each |
| // method call |
| // must be identified by a consumer project identity. Use this rule |
| // to |
| // allow/disallow unregistered calls. |
| // |
| // Example of an API that wants to allow unregistered calls for entire |
| // service. |
| // |
| // usage: |
| // rules: |
| // - selector: "*" |
| // allow_unregistered_calls: true |
| // |
| // Example of a method that wants to allow unregistered calls. |
| // |
| // usage: |
| // rules: |
| // - selector: |
| // "google.example.library.v1.LibraryService.CreateBook" |
| // allow_unregistered_calls: true |
| type UsageRule struct { |
| // AllowUnregisteredCalls: If true, the selected method allows |
| // unregistered calls, e.g. calls |
| // that don't identify any user or application. |
| AllowUnregisteredCalls bool `json:"allowUnregisteredCalls,omitempty"` |
| |
| // Selector: Selects the methods to which this rule applies. Use '*' to |
| // indicate all |
| // methods in all APIs. |
| // |
| // Refer to selector for syntax details. |
| Selector string `json:"selector,omitempty"` |
| |
| // SkipServiceControl: If true, the selected method should skip service |
| // control and the control |
| // plane features, such as quota and billing, will not be |
| // available. |
| // This flag is used by Google Cloud Endpoints to bypass checks for |
| // internal |
| // methods, such as service health check methods. |
| SkipServiceControl bool `json:"skipServiceControl,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "AllowUnregisteredCalls") 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. "AllowUnregisteredCalls") |
| // 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 *UsageRule) MarshalJSON() ([]byte, error) { |
| type NoMethod UsageRule |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // method id "serviceuser.projects.services.disable": |
| |
| type ProjectsServicesDisableCall struct { |
| s *APIService |
| name string |
| disableservicerequest *DisableServiceRequest |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // Disable: Disable a service so it can no longer be used with |
| // a |
| // project. This prevents unintended usage that may cause unexpected |
| // billing |
| // charges or security leaks. |
| // |
| // Operation<response: google.protobuf.Empty> |
| func (r *ProjectsServicesService) Disable(name string, disableservicerequest *DisableServiceRequest) *ProjectsServicesDisableCall { |
| c := &ProjectsServicesDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.name = name |
| c.disableservicerequest = disableservicerequest |
| 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 *ProjectsServicesDisableCall) Fields(s ...googleapi.Field) *ProjectsServicesDisableCall { |
| 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 *ProjectsServicesDisableCall) Context(ctx context.Context) *ProjectsServicesDisableCall { |
| 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 *ProjectsServicesDisableCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *ProjectsServicesDisableCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203") |
| 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.disableservicerequest) |
| 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, "v1/{+name}:disable") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("POST", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "serviceuser.projects.services.disable" call. |
| // Exactly one of *Operation or error will be non-nil. Any non-2xx |
| // status code is an error. Response headers are in either |
| // *Operation.ServerResponse.Header or (if a response was returned at |
| // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified |
| // to check whether the returned error was because |
| // http.StatusNotModified was returned. |
| func (c *ProjectsServicesDisableCall) Do(opts ...googleapi.CallOption) (*Operation, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &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 := &Operation{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Disable a service so it can no longer be used with a\nproject. This prevents unintended usage that may cause unexpected billing\ncharges or security leaks.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", |
| // "flatPath": "v1/projects/{projectsId}/services/{servicesId}:disable", |
| // "httpMethod": "POST", |
| // "id": "serviceuser.projects.services.disable", |
| // "parameterOrder": [ |
| // "name" |
| // ], |
| // "parameters": { |
| // "name": { |
| // "description": "Name of the consumer and the service to disable for that consumer.\n\nThe Service User implementation accepts the following forms for consumer:\n- \"project:\u003cproject_id\u003e\"\n\nA valid path would be:\n- projects/my-project/services/servicemanagement.googleapis.com", |
| // "location": "path", |
| // "pattern": "^projects/[^/]+/services/[^/]+$", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+name}:disable", |
| // "request": { |
| // "$ref": "DisableServiceRequest" |
| // }, |
| // "response": { |
| // "$ref": "Operation" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/cloud-platform", |
| // "https://www.googleapis.com/auth/service.management" |
| // ] |
| // } |
| |
| } |
| |
| // method id "serviceuser.projects.services.enable": |
| |
| type ProjectsServicesEnableCall struct { |
| s *APIService |
| name string |
| enableservicerequest *EnableServiceRequest |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // Enable: Enable a service so it can be used with a project. |
| // See [Cloud Auth Guide](https://cloud.google.com/docs/authentication) |
| // for |
| // more information. |
| // |
| // Operation<response: google.protobuf.Empty> |
| func (r *ProjectsServicesService) Enable(name string, enableservicerequest *EnableServiceRequest) *ProjectsServicesEnableCall { |
| c := &ProjectsServicesEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.name = name |
| c.enableservicerequest = enableservicerequest |
| 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 *ProjectsServicesEnableCall) Fields(s ...googleapi.Field) *ProjectsServicesEnableCall { |
| 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 *ProjectsServicesEnableCall) Context(ctx context.Context) *ProjectsServicesEnableCall { |
| 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 *ProjectsServicesEnableCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *ProjectsServicesEnableCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203") |
| 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.enableservicerequest) |
| 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, "v1/{+name}:enable") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("POST", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "name": c.name, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "serviceuser.projects.services.enable" call. |
| // Exactly one of *Operation or error will be non-nil. Any non-2xx |
| // status code is an error. Response headers are in either |
| // *Operation.ServerResponse.Header or (if a response was returned at |
| // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified |
| // to check whether the returned error was because |
| // http.StatusNotModified was returned. |
| func (c *ProjectsServicesEnableCall) Do(opts ...googleapi.CallOption) (*Operation, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &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 := &Operation{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Enable a service so it can be used with a project.\nSee [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for\nmore information.\n\nOperation\u003cresponse: google.protobuf.Empty\u003e", |
| // "flatPath": "v1/projects/{projectsId}/services/{servicesId}:enable", |
| // "httpMethod": "POST", |
| // "id": "serviceuser.projects.services.enable", |
| // "parameterOrder": [ |
| // "name" |
| // ], |
| // "parameters": { |
| // "name": { |
| // "description": "Name of the consumer and the service to enable for that consumer.\n\nA valid path would be:\n- projects/my-project/services/servicemanagement.googleapis.com", |
| // "location": "path", |
| // "pattern": "^projects/[^/]+/services/[^/]+$", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+name}:enable", |
| // "request": { |
| // "$ref": "EnableServiceRequest" |
| // }, |
| // "response": { |
| // "$ref": "Operation" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/cloud-platform", |
| // "https://www.googleapis.com/auth/service.management" |
| // ] |
| // } |
| |
| } |
| |
| // method id "serviceuser.projects.services.list": |
| |
| type ProjectsServicesListCall struct { |
| s *APIService |
| parent string |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // List: List enabled services for the specified consumer. |
| func (r *ProjectsServicesService) List(parent string) *ProjectsServicesListCall { |
| c := &ProjectsServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.parent = parent |
| return c |
| } |
| |
| // PageSize sets the optional parameter "pageSize": Requested size of |
| // the next page of data. |
| func (c *ProjectsServicesListCall) PageSize(pageSize int64) *ProjectsServicesListCall { |
| c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) |
| return c |
| } |
| |
| // PageToken sets the optional parameter "pageToken": Token identifying |
| // which result to start with; returned by a previous list |
| // call. |
| func (c *ProjectsServicesListCall) PageToken(pageToken string) *ProjectsServicesListCall { |
| 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 *ProjectsServicesListCall) Fields(s ...googleapi.Field) *ProjectsServicesListCall { |
| 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 *ProjectsServicesListCall) IfNoneMatch(entityTag string) *ProjectsServicesListCall { |
| 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 *ProjectsServicesListCall) Context(ctx context.Context) *ProjectsServicesListCall { |
| 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 *ProjectsServicesListCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *ProjectsServicesListCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203") |
| 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, "v1/{+parent}/services") |
| 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 "serviceuser.projects.services.list" call. |
| // Exactly one of *ListEnabledServicesResponse or error will be non-nil. |
| // Any non-2xx status code is an error. Response headers are in either |
| // *ListEnabledServicesResponse.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 *ProjectsServicesListCall) Do(opts ...googleapi.CallOption) (*ListEnabledServicesResponse, 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 := &ListEnabledServicesResponse{ |
| 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": "List enabled services for the specified consumer.", |
| // "flatPath": "v1/projects/{projectsId}/services", |
| // "httpMethod": "GET", |
| // "id": "serviceuser.projects.services.list", |
| // "parameterOrder": [ |
| // "parent" |
| // ], |
| // "parameters": { |
| // "pageSize": { |
| // "description": "Requested size of the next page of data.", |
| // "format": "int32", |
| // "location": "query", |
| // "type": "integer" |
| // }, |
| // "pageToken": { |
| // "description": "Token identifying which result to start with; returned by a previous list\ncall.", |
| // "location": "query", |
| // "type": "string" |
| // }, |
| // "parent": { |
| // "description": "List enabled services for the specified parent.\n\nAn example valid parent would be:\n- projects/my-project", |
| // "location": "path", |
| // "pattern": "^projects/[^/]+$", |
| // "required": true, |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/{+parent}/services", |
| // "response": { |
| // "$ref": "ListEnabledServicesResponse" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/cloud-platform", |
| // "https://www.googleapis.com/auth/cloud-platform.read-only" |
| // ] |
| // } |
| |
| } |
| |
| // 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 *ProjectsServicesListCall) Pages(ctx context.Context, f func(*ListEnabledServicesResponse) 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 "serviceuser.services.search": |
| |
| type ServicesSearchCall struct { |
| s *APIService |
| urlParams_ gensupport.URLParams |
| ifNoneMatch_ string |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // Search: Search available services. |
| // |
| // When no filter is specified, returns all accessible services. |
| // For |
| // authenticated users, also returns all services the calling user |
| // has |
| // "servicemanagement.services.bind" permission for. |
| func (r *ServicesService) Search() *ServicesSearchCall { |
| c := &ServicesSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| return c |
| } |
| |
| // PageSize sets the optional parameter "pageSize": Requested size of |
| // the next page of data. |
| func (c *ServicesSearchCall) PageSize(pageSize int64) *ServicesSearchCall { |
| c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) |
| return c |
| } |
| |
| // PageToken sets the optional parameter "pageToken": Token identifying |
| // which result to start with; returned by a previous list |
| // call. |
| func (c *ServicesSearchCall) PageToken(pageToken string) *ServicesSearchCall { |
| 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 *ServicesSearchCall) Fields(s ...googleapi.Field) *ServicesSearchCall { |
| 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 *ServicesSearchCall) IfNoneMatch(entityTag string) *ServicesSearchCall { |
| 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 *ServicesSearchCall) Context(ctx context.Context) *ServicesSearchCall { |
| 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 *ServicesSearchCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *ServicesSearchCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203") |
| 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, "v1/services:search") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("GET", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "serviceuser.services.search" call. |
| // Exactly one of *SearchServicesResponse or error will be non-nil. Any |
| // non-2xx status code is an error. Response headers are in either |
| // *SearchServicesResponse.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 *ServicesSearchCall) Do(opts ...googleapi.CallOption) (*SearchServicesResponse, 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 := &SearchServicesResponse{ |
| 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": "Search available services.\n\nWhen no filter is specified, returns all accessible services. For\nauthenticated users, also returns all services the calling user has\n\"servicemanagement.services.bind\" permission for.", |
| // "flatPath": "v1/services:search", |
| // "httpMethod": "GET", |
| // "id": "serviceuser.services.search", |
| // "parameterOrder": [], |
| // "parameters": { |
| // "pageSize": { |
| // "description": "Requested size of the next page of data.", |
| // "format": "int32", |
| // "location": "query", |
| // "type": "integer" |
| // }, |
| // "pageToken": { |
| // "description": "Token identifying which result to start with; returned by a previous list\ncall.", |
| // "location": "query", |
| // "type": "string" |
| // } |
| // }, |
| // "path": "v1/services:search", |
| // "response": { |
| // "$ref": "SearchServicesResponse" |
| // }, |
| // "scopes": [ |
| // "https://www.googleapis.com/auth/cloud-platform", |
| // "https://www.googleapis.com/auth/cloud-platform.read-only" |
| // ] |
| // } |
| |
| } |
| |
| // 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 *ServicesSearchCall) Pages(ctx context.Context, f func(*SearchServicesResponse) 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) |
| } |
| } |