| // Copyright 2019 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 serviceusage provides access to the Service Usage API. |
| // |
| // For product documentation, see: https://cloud.google.com/service-usage/ |
| // |
| // Creating a client |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/serviceusage/v1" |
| // ... |
| // ctx := context.Background() |
| // serviceusageService, err := serviceusage.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: |
| // |
| // serviceusageService, err := serviceusage.NewService(ctx, option.WithScopes(serviceusage.ServiceManagementScope)) |
| // |
| // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: |
| // |
| // serviceusageService, err := serviceusage.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, ...) |
| // serviceusageService, err := serviceusage.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) |
| // |
| // See https://godoc.org/google.golang.org/api/option/ for details on options. |
| package serviceusage // import "google.golang.org/api/serviceusage/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 = "serviceusage:v1" |
| const apiName = "serviceusage" |
| const apiVersion = "v1" |
| const basePath = "https://serviceusage.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 Service. |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, 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 Service. It uses the provided http.Client for requests. |
| // |
| // Deprecated: please use NewService instead. |
| // To provide a custom HTTP client, use option.WithHTTPClient. |
| // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. |
| func New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.Operations = NewOperationsService(s) |
| s.Services = NewServicesService(s) |
| return s, nil |
| } |
| |
| type Service struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Operations *OperationsService |
| |
| Services *ServicesService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewOperationsService(s *Service) *OperationsService { |
| rs := &OperationsService{s: s} |
| return rs |
| } |
| |
| type OperationsService struct { |
| s *Service |
| } |
| |
| func NewServicesService(s *Service) *ServicesService { |
| rs := &ServicesService{s: s} |
| return rs |
| } |
| |
| type ServicesService struct { |
| s *Service |
| } |
| |
| // 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 authentication provider, including |
| // support for |
| // [JSON Web |
| // Token |
| // (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-tok |
| // en-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 not |
| // 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-discove |
| // ry-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-tok |
| // en-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) |
| } |
| |
| // 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"` |
| |
| // JwtAudience: The JWT audience is used when generating a JWT id token |
| // for the backend. |
| JwtAudience string `json:"jwtAudience,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"` |
| |
| // OperationDeadline: The number of seconds to wait for the completion |
| // of a long running |
| // operation. The default is no deadline. |
| OperationDeadline float64 `json:"operationDeadline,omitempty"` |
| |
| // Possible values: |
| // "PATH_TRANSLATION_UNSPECIFIED" |
| // "CONSTANT_ADDRESS" - Use the backend address as-is, with no |
| // modification to the path. If the |
| // URL pattern contains variables, the variable names and values will |
| // be |
| // appended to the query string. If a query string parameter and a |
| // URL |
| // pattern variable have the same name, this may result in duplicate |
| // keys in |
| // the query string. |
| // |
| // # Examples |
| // |
| // Given the following operation config: |
| // |
| // Method path: /api/company/{cid}/user/{uid} |
| // Backend address: |
| // https://example.cloudfunctions.net/getUser |
| // |
| // Requests to the following request paths will call the backend at |
| // the |
| // translated path: |
| // |
| // Request path: /api/company/widgetworks/user/johndoe |
| // Translated: |
| // |
| // https://example.cloudfunctions.net/getUser?cid=widgetworks&uid=johndoe |
| // |
| // Request path: /api/company/widgetworks/user/johndoe?timezone=EST |
| // Translated: |
| // |
| // https://example.cloudfunctions.net/getUser?timezone=EST&cid=widgetworks&uid=johndoe |
| // "APPEND_PATH_TO_ADDRESS" - The request path will be appended to the |
| // backend address. |
| // |
| // # Examples |
| // |
| // Given the following operation config: |
| // |
| // Method path: /api/company/{cid}/user/{uid} |
| // Backend address: https://example.appspot.com |
| // |
| // Requests to the following request paths will call the backend at |
| // the |
| // translated path: |
| // |
| // Request path: /api/company/widgetworks/user/johndoe |
| // Translated: |
| // |
| // https://example.appspot.com/api/company/widgetworks/user/johndoe |
| // |
| // Request path: /api/company/widgetworks/user/johndoe?timezone=EST |
| // Translated: |
| // |
| // https://example.appspot.com/api/company/widgetworks/user/johndoe?timezone=EST |
| PathTranslation string `json:"pathTranslation,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"` |
| OperationDeadline gensupport.JSONFloat64 `json:"operationDeadline"` |
| *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) |
| s.OperationDeadline = float64(s1.OperationDeadline) |
| return nil |
| } |
| |
| // BatchCreateAdminOverridesResponse: Response message for |
| // BatchCreateAdminOverrides |
| type BatchCreateAdminOverridesResponse struct { |
| // Overrides: The overrides that were created. |
| Overrides []*QuotaOverride `json:"overrides,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Overrides") 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. "Overrides") 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 *BatchCreateAdminOverridesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod BatchCreateAdminOverridesResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BatchCreateConsumerOverridesResponse: Response message for |
| // BatchCreateConsumerOverrides |
| type BatchCreateConsumerOverridesResponse struct { |
| // Overrides: The overrides that were created. |
| Overrides []*QuotaOverride `json:"overrides,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Overrides") 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. "Overrides") 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 *BatchCreateConsumerOverridesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod BatchCreateConsumerOverridesResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BatchEnableServicesRequest: Request message for the |
| // `BatchEnableServices` method. |
| type BatchEnableServicesRequest struct { |
| // ServiceIds: The identifiers of the services to enable on the |
| // project. |
| // |
| // A valid identifier would be: |
| // serviceusage.googleapis.com |
| // |
| // Enabling services requires that each service is public or is shared |
| // with |
| // the user enabling the service. |
| // |
| // A single request can enable a maximum of 20 services at a time. If |
| // more |
| // than 20 services are specified, the request will fail, and no state |
| // changes |
| // will occur. |
| ServiceIds []string `json:"serviceIds,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ServiceIds") 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. "ServiceIds") 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 *BatchEnableServicesRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod BatchEnableServicesRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // BatchEnableServicesResponse: Response message for the |
| // `BatchEnableServices` method. |
| // This response message is assigned to the `response` field of the |
| // returned |
| // Operation when that operation is done. |
| type BatchEnableServicesResponse struct { |
| // Failures: If allow_partial_success is true, and one or more services |
| // could not be |
| // enabled, this field contains the details about each failure. |
| Failures []*EnableFailure `json:"failures,omitempty"` |
| |
| // Services: The new state of the services after enabling. |
| Services []*GoogleApiServiceusageV1Service `json:"services,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Failures") 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. "Failures") 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 *BatchEnableServicesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod BatchEnableServicesResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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) |
| } |
| |
| // CancelOperationRequest: The request message for |
| // Operations.CancelOperation. |
| type CancelOperationRequest struct { |
| } |
| |
| // 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 the `DisableService` |
| // method. |
| type DisableServiceRequest struct { |
| // DisableDependentServices: Indicates if services that are enabled and |
| // which depend on this service |
| // should also be disabled. If not set, an error will be generated if |
| // any |
| // enabled services depend on the service to be disabled. When set, |
| // the |
| // service, and any enabled services that depend on it, will be |
| // disabled |
| // together. |
| DisableDependentServices bool `json:"disableDependentServices,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. |
| // "DisableDependentServices") 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. "DisableDependentServices") |
| // 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 *DisableServiceRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod DisableServiceRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // DisableServiceResponse: Response message for the `DisableService` |
| // method. |
| // This response message is assigned to the `response` field of the |
| // returned |
| // Operation when that operation is done. |
| type DisableServiceResponse struct { |
| // Service: The new state of the service after disabling. |
| Service *GoogleApiServiceusageV1Service `json:"service,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Service") 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. "Service") 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 *DisableServiceResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod DisableServiceResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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"` |
| |
| // ServiceRootUrl: Specifies the service root url if the default one |
| // (the service name |
| // from the yaml file) is not suitable. This can be seen in any |
| // fully |
| // specified service urls as well as sections that show a base that |
| // other |
| // urls are relative to. |
| ServiceRootUrl string `json:"serviceRootUrl,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". |
| // A |
| // wildcard will match one or more components. 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) |
| } |
| |
| // Empty: A generic empty message that you can re-use to avoid defining |
| // duplicated |
| // empty messages in your APIs. A typical example is to use it as the |
| // request |
| // or the response type of an API method. For instance: |
| // |
| // service Foo { |
| // rpc Bar(google.protobuf.Empty) returns |
| // (google.protobuf.Empty); |
| // } |
| // |
| // The JSON representation for `Empty` is empty JSON object `{}`. |
| type Empty struct { |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| } |
| |
| // EnableFailure: Provides error messages for the failing services. |
| type EnableFailure struct { |
| // ErrorMessage: An error message describing why the service could not |
| // be enabled. |
| ErrorMessage string `json:"errorMessage,omitempty"` |
| |
| // ServiceId: The service id of a service that could not be enabled. |
| ServiceId string `json:"serviceId,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ErrorMessage") 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. "ErrorMessage") 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 *EnableFailure) MarshalJSON() ([]byte, error) { |
| type NoMethod EnableFailure |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // EnableServiceRequest: Request message for the `EnableService` method. |
| type EnableServiceRequest struct { |
| } |
| |
| // EnableServiceResponse: Response message for the `EnableService` |
| // method. |
| // This response message is assigned to the `response` field of the |
| // returned |
| // Operation when that operation is done. |
| type EnableServiceResponse struct { |
| // Service: The new state of the service after enabling. |
| Service *GoogleApiServiceusageV1Service `json:"service,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Service") 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. "Service") 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 *EnableServiceResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod EnableServiceResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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) |
| } |
| |
| // 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) |
| } |
| |
| // GetServiceIdentityResponse: Response message for getting service |
| // identity. |
| type GetServiceIdentityResponse struct { |
| // Identity: Service identity that service producer can use to access |
| // consumer |
| // resources. If exists is true, it contains email and unique_id. If |
| // exists is |
| // false, it contains pre-constructed email and empty unique_id. |
| Identity *ServiceIdentity `json:"identity,omitempty"` |
| |
| // State: Service identity state. |
| // |
| // Possible values: |
| // "IDENTITY_STATE_UNSPECIFIED" - Default service identity state. This |
| // value is used if the state is |
| // omitted. |
| // "ACTIVE" - Service identity has been created and can be used. |
| State string `json:"state,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Identity") 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. "Identity") 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 *GetServiceIdentityResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod GetServiceIdentityResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiService: `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 GoogleApiService 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"` |
| |
| // 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. Must be no longer than 63 |
| // characters |
| // and only lower case letters, digits, '.', '_' and '-' are allowed. |
| // If |
| // empty, the server may choose to generate one instead. |
| 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 service name, which is a DNS-like logical identifier for |
| // the |
| // service, such as `calendar.googleapis.com`. The service |
| // name |
| // typically goes through DNS verification to make sure the owner |
| // of the service also owns the DNS name. |
| 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 *GoogleApiService) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiService |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiServiceusageV1OperationMetadata: The operation metadata |
| // returned for the batchend services operation. |
| type GoogleApiServiceusageV1OperationMetadata struct { |
| // ResourceNames: The full name of the resources that this operation is |
| // directly |
| // associated with. |
| ResourceNames []string `json:"resourceNames,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ResourceNames") 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. "ResourceNames") 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 *GoogleApiServiceusageV1OperationMetadata) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiServiceusageV1OperationMetadata |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiServiceusageV1Service: A service that is available for use |
| // by the consumer. |
| type GoogleApiServiceusageV1Service struct { |
| // Config: The service configuration of the available service. |
| // Some fields may be filtered out of the configuration in responses |
| // to |
| // the `ListServices` method. These fields are present only in responses |
| // to |
| // the `GetService` method. |
| Config *GoogleApiServiceusageV1ServiceConfig `json:"config,omitempty"` |
| |
| // Name: The resource name of the consumer and service. |
| // |
| // A valid name would be: |
| // - projects/123/services/serviceusage.googleapis.com |
| Name string `json:"name,omitempty"` |
| |
| // Parent: The resource name of the consumer. |
| // |
| // A valid name would be: |
| // - projects/123 |
| Parent string `json:"parent,omitempty"` |
| |
| // State: Whether or not the service has been enabled for use by the |
| // consumer. |
| // |
| // Possible values: |
| // "STATE_UNSPECIFIED" - The default value, which indicates that the |
| // enabled state of the service |
| // is unspecified or not meaningful. Currently, all consumers other |
| // than |
| // projects (such as folders and organizations) are always in this |
| // state. |
| // "DISABLED" - The service cannot be used by this consumer. It has |
| // either been explicitly |
| // disabled, or has never been enabled. |
| // "ENABLED" - The service has been explicitly enabled for use by this |
| // consumer. |
| State string `json:"state,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "Config") 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. "Config") 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 *GoogleApiServiceusageV1Service) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiServiceusageV1Service |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiServiceusageV1ServiceConfig: The configuration of the |
| // service. |
| type GoogleApiServiceusageV1ServiceConfig struct { |
| // Apis: A list of API interfaces exported by this service. Contains |
| // only the names, |
| // versions, and method names of the interfaces. |
| Apis []*Api `json:"apis,omitempty"` |
| |
| // Authentication: Auth configuration. Contains only the OAuth rules. |
| Authentication *Authentication `json:"authentication,omitempty"` |
| |
| // Documentation: Additional API documentation. Contains only the |
| // summary and the |
| // documentation URL. |
| Documentation *Documentation `json:"documentation,omitempty"` |
| |
| // Endpoints: Configuration for network endpoints. Contains only the |
| // names and aliases |
| // of the endpoints. |
| Endpoints []*Endpoint `json:"endpoints,omitempty"` |
| |
| // Name: The DNS address at which this service is available. |
| // |
| // An example DNS address would be: |
| // `calendar.googleapis.com`. |
| Name string `json:"name,omitempty"` |
| |
| // Quota: Quota configuration. |
| Quota *Quota `json:"quota,omitempty"` |
| |
| // Title: The product title for this service. |
| Title string `json:"title,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 *GoogleApiServiceusageV1ServiceConfig) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiServiceusageV1ServiceConfig |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiServiceusageV1beta1GetServiceIdentityResponse: Response |
| // message for getting service identity. |
| type GoogleApiServiceusageV1beta1GetServiceIdentityResponse struct { |
| // Identity: Service identity that service producer can use to access |
| // consumer |
| // resources. If exists is true, it contains email and unique_id. If |
| // exists is |
| // false, it contains pre-constructed email and empty unique_id. |
| Identity *GoogleApiServiceusageV1beta1ServiceIdentity `json:"identity,omitempty"` |
| |
| // State: Service identity state. |
| // |
| // Possible values: |
| // "IDENTITY_STATE_UNSPECIFIED" - Default service identity state. This |
| // value is used if the state is |
| // omitted. |
| // "ACTIVE" - Service identity has been created and can be used. |
| State string `json:"state,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Identity") 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. "Identity") 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 *GoogleApiServiceusageV1beta1GetServiceIdentityResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiServiceusageV1beta1GetServiceIdentityResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // GoogleApiServiceusageV1beta1ServiceIdentity: Service identity for a |
| // service. This is the identity that service producer |
| // should use to access consumer resources. |
| type GoogleApiServiceusageV1beta1ServiceIdentity struct { |
| // Email: The email address of the service account that a service |
| // producer would use |
| // to access consumer resources. |
| Email string `json:"email,omitempty"` |
| |
| // UniqueId: The unique and stable id of the service |
| // account. |
| // https://cloud.google.com/iam/reference/rest/v1/projects.servi |
| // ceAccounts#ServiceAccount |
| UniqueId string `json:"uniqueId,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Email") 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. "Email") 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 *GoogleApiServiceusageV1beta1ServiceIdentity) MarshalJSON() ([]byte, error) { |
| type NoMethod GoogleApiServiceusageV1beta1ServiceIdentity |
| 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 parameters |
| // 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/re |
| // ference/apis) as |
| // `{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/re |
| // ference/apis) as |
| // `{+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) |
| } |
| |
| // ListOperationsResponse: The response message for |
| // Operations.ListOperations. |
| type ListOperationsResponse struct { |
| // NextPageToken: The standard List next-page token. |
| NextPageToken string `json:"nextPageToken,omitempty"` |
| |
| // Operations: A list of operations that matches the specified filter in |
| // the request. |
| Operations []*Operation `json:"operations,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "NextPageToken") to |
| // unconditionally include in API requests. By default, fields with |
| // empty 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 *ListOperationsResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod ListOperationsResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ListServicesResponse: Response message for the `ListServices` method. |
| type ListServicesResponse struct { |
| // NextPageToken: Token that can be passed to `ListServices` to resume a |
| // paginated |
| // query. |
| NextPageToken string `json:"nextPageToken,omitempty"` |
| |
| // Services: The available services for the requested project. |
| Services []*GoogleApiServiceusageV1Service `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 *ListServicesResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod ListServicesResponse |
| 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"` |
| |
| // LaunchStage: Optional. 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"` |
| |
| // 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"` |
| |
| // MonitoredResourceTypes: Read-only. If present, then a time |
| // series, which is identified partially by |
| // a metric type and a MonitoredResourceDescriptor, that is |
| // associated |
| // with this metric type can only be associated with one of the |
| // monitored |
| // resource types listed here. |
| MonitoredResourceTypes []string `json:"monitoredResourceTypes,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: * `Ki` kibi (2^10) |
| // * `Mi` mebi (2^20) |
| // * `Gi` gibi (2^30) |
| // * `Ti` tebi (2^40) |
| // * `Pi` pebi (2^50) |
| // |
| // **Grammar** |
| // |
| // The grammar also includes these connectors: |
| // |
| // * `/` division or ratio (as an infix operator). For examples, |
| // `kBy/{email}` or `MiBy/10ms` (although you should almost |
| // never |
| // have `/s` in a metric `unit`; rates should always be |
| // computed at |
| // query time from the underlying cumulative or delta value). |
| // * `.` multiplication or composition (as an infix operator). For |
| // examples, `GBy.d` or `k{watt}.h`. |
| // |
| // 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`. If the |
| // annotation |
| // is used alone, then the unit is equivalent to `1`. For examples, |
| // `{request}/s == 1/s`, `By{transmitted}/s == By/s`. |
| // * `NAME` is a sequence of non-blank printable ASCII characters not |
| // containing `{` or `}`. |
| // * `1` represents a unitary [dimensionless |
| // unit](https://en.wikipedia.org/wiki/Dimensionless_quantity) of 1, |
| // such |
| // as in `1/s`. It is typically used when none of the basic units |
| // are |
| // appropriate. For example, "new users per day" can be represented |
| // as |
| // `1/d` or `{new-users}/d` (and a metric value `5` would mean "5 |
| // new |
| // users). Alternatively, "thousands of page views per day" would be |
| // represented as `1000/d` or `k1/d` or `k{page_views}/d` (and a |
| // metric |
| // value of `5.3` would mean "5300 page views per day"). |
| // * `%` represents dimensionless value of 1/100, and annotates values |
| // giving |
| // a percentage (so the metric values are typically in the range of |
| // 0..100, |
| // and a metric value `3` means "3 percent"). |
| // * `10^2.%` indicates a metric contains a ratio, typically in the |
| // range |
| // 0..1, that will be multiplied by 100 and displayed as a |
| // percentage |
| // (so a metric value `0.03` means "3 percent"). |
| 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: Deprecated. Must use the MetricDescriptor.launch_stage |
| // instead. |
| // |
| // 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"; |
| // } |
| // } |
| // |
|