| // Copyright 2020 Google LLC. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Code generated file. DO NOT EDIT. |
| |
| // Package servicecontrol provides access to the Service Control API. |
| // |
| // For product documentation, see: https://cloud.google.com/service-control/ |
| // |
| // Creating a client |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/servicecontrol/v1" |
| // ... |
| // ctx := context.Background() |
| // servicecontrolService, err := servicecontrol.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: |
| // |
| // servicecontrolService, err := servicecontrol.NewService(ctx, option.WithScopes(servicecontrol.ServicecontrolScope)) |
| // |
| // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: |
| // |
| // servicecontrolService, err := servicecontrol.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, ...) |
| // servicecontrolService, err := servicecontrol.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) |
| // |
| // See https://godoc.org/google.golang.org/api/option/ for details on options. |
| package servicecontrol // import "google.golang.org/api/servicecontrol/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" |
| internaloption "google.golang.org/api/option/internaloption" |
| htransport "google.golang.org/api/transport/http" |
| ) |
| |
| // Always reference these packages, just in case the auto-generated code |
| // below doesn't. |
| var _ = bytes.NewBuffer |
| var _ = strconv.Itoa |
| var _ = fmt.Sprintf |
| var _ = json.NewDecoder |
| var _ = io.Copy |
| var _ = url.Parse |
| var _ = gensupport.MarshalJSON |
| var _ = googleapi.Version |
| var _ = errors.New |
| var _ = strings.Replace |
| var _ = context.Canceled |
| var _ = internaloption.WithDefaultEndpoint |
| |
| const apiId = "servicecontrol:v1" |
| const apiName = "servicecontrol" |
| const apiVersion = "v1" |
| const basePath = "https://servicecontrol.googleapis.com/" |
| const mtlsBasePath = "https://servicecontrol.mtls.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" |
| |
| // Manage your Google Service Control data |
| ServicecontrolScope = "https://www.googleapis.com/auth/servicecontrol" |
| ) |
| |
| // 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/servicecontrol", |
| ) |
| // NOTE: prepend, so we don't override user-specified scopes. |
| opts = append([]option.ClientOption{scopesOption}, opts...) |
| opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) |
| opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) |
| client, endpoint, err := htransport.NewClient(ctx, opts...) |
| if err != nil { |
| return nil, err |
| } |
| s, err := New(client) |
| if err != nil { |
| return nil, err |
| } |
| if endpoint != "" { |
| s.BasePath = endpoint |
| } |
| return s, nil |
| } |
| |
| // New creates a new Service. It uses the provided http.Client for requests. |
| // |
| // Deprecated: please use NewService instead. |
| // To provide a custom HTTP client, use option.WithHTTPClient. |
| // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. |
| func New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.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 |
| |
| Services *ServicesService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewServicesService(s *Service) *ServicesService { |
| rs := &ServicesService{s: s} |
| return rs |
| } |
| |
| type ServicesService struct { |
| s *Service |
| } |
| |
| type AllocateInfo struct { |
| // UnusedArguments: A list of label keys that were unused by the server |
| // in processing the |
| // request. Thus, for similar requests repeated in a certain future |
| // time |
| // window, the caller can choose to ignore these labels in the |
| // requests |
| // to achieve better client-side cache hits and quota aggregation for |
| // rate |
| // quota. This field is not populated for allocation quota checks. |
| UnusedArguments []string `json:"unusedArguments,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "UnusedArguments") 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. "UnusedArguments") 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 *AllocateInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod AllocateInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AllocateQuotaRequest: Request message for the AllocateQuota method. |
| type AllocateQuotaRequest struct { |
| // AllocateOperation: Operation that describes the quota allocation. |
| AllocateOperation *QuotaOperation `json:"allocateOperation,omitempty"` |
| |
| // ServiceConfigId: Specifies which version of service configuration |
| // should be used to process |
| // the request. If unspecified or no matching version can be found, the |
| // latest |
| // one will be used. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AllocateOperation") |
| // 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. "AllocateOperation") 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 *AllocateQuotaRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod AllocateQuotaRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AllocateQuotaResponse: Response message for the AllocateQuota method. |
| type AllocateQuotaResponse struct { |
| // AllocateErrors: Indicates the decision of the allocate. |
| AllocateErrors []*QuotaError `json:"allocateErrors,omitempty"` |
| |
| // AllocateInfo: WARNING: DO NOT use this field until this warning |
| // message is removed. |
| AllocateInfo *AllocateInfo `json:"allocateInfo,omitempty"` |
| |
| // OperationId: The same operation_id value used in the |
| // AllocateQuotaRequest. Used for |
| // logging and diagnostics purposes. |
| OperationId string `json:"operationId,omitempty"` |
| |
| // QuotaMetrics: Quota metrics to indicate the result of allocation. |
| // Depending on the |
| // request, one or more of the following metrics will be included: |
| // |
| // 1. Per quota group or per quota metric incremental usage will be |
| // specified |
| // using the following delta metric : |
| // "serviceruntime.googleapis.com/api/consumer/quota_used_count" |
| // |
| // 2. The quota limit reached condition will be specified using the |
| // following |
| // boolean metric : |
| // "serviceruntime.googleapis.com/quota/exceeded" |
| QuotaMetrics []*MetricValueSet `json:"quotaMetrics,omitempty"` |
| |
| // ServiceConfigId: ID of the actual config used to process the request. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "AllocateErrors") 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. "AllocateErrors") 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 *AllocateQuotaResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod AllocateQuotaResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AttributeValue: The allowed types for [VALUE] in a `[KEY]:[VALUE]` |
| // attribute. |
| type AttributeValue struct { |
| // BoolValue: A Boolean value represented by `true` or `false`. |
| BoolValue bool `json:"boolValue,omitempty"` |
| |
| // IntValue: A 64-bit signed integer. |
| IntValue int64 `json:"intValue,omitempty,string"` |
| |
| // StringValue: A string up to 256 bytes long. |
| StringValue *TruncatableString `json:"stringValue,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "BoolValue") 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. "BoolValue") 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 *AttributeValue) MarshalJSON() ([]byte, error) { |
| type NoMethod AttributeValue |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Attributes: A set of attributes, each in the format `[KEY]:[VALUE]`. |
| type Attributes struct { |
| // AttributeMap: The set of attributes. Each attribute's key can be up |
| // to 128 bytes |
| // long. The value can be a string up to 256 bytes, a signed 64-bit |
| // integer, |
| // or the Boolean values `true` and `false`. For example: |
| // |
| // "/instance_id": "my-instance" |
| // "/http/user_agent": "" |
| // "/http/request_bytes": 300 |
| // "abc.com/myattribute": true |
| AttributeMap map[string]AttributeValue `json:"attributeMap,omitempty"` |
| |
| // DroppedAttributesCount: The number of attributes that were discarded. |
| // Attributes can be discarded |
| // because their keys are too long or because there are too many |
| // attributes. |
| // If this value is 0 then all attributes are valid. |
| DroppedAttributesCount int64 `json:"droppedAttributesCount,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AttributeMap") 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. "AttributeMap") 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 *Attributes) MarshalJSON() ([]byte, error) { |
| type NoMethod Attributes |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuditLog: Common audit log format for Google Cloud Platform API |
| // operations. |
| // |
| // |
| // |
| type AuditLog struct { |
| // AuthenticationInfo: Authentication information. |
| AuthenticationInfo *AuthenticationInfo `json:"authenticationInfo,omitempty"` |
| |
| // AuthorizationInfo: Authorization information. If there are |
| // multiple |
| // resources or permissions involved, then there is |
| // one AuthorizationInfo element for each {resource, permission} tuple. |
| AuthorizationInfo []*AuthorizationInfo `json:"authorizationInfo,omitempty"` |
| |
| // Metadata: Other service-specific data about the request, response, |
| // and other |
| // information associated with the current audited event. |
| Metadata googleapi.RawMessage `json:"metadata,omitempty"` |
| |
| // MethodName: The name of the service method or operation. |
| // For API calls, this should be the name of the API method. |
| // For example, |
| // |
| // "google.datastore.v1.Datastore.RunQuery" |
| // "google.logging.v1.LoggingService.DeleteLog" |
| MethodName string `json:"methodName,omitempty"` |
| |
| // NumResponseItems: The number of items returned from a List or Query |
| // API method, |
| // if applicable. |
| NumResponseItems int64 `json:"numResponseItems,omitempty,string"` |
| |
| // Request: The operation request. This may not include all request |
| // parameters, |
| // such as those that are too large, privacy-sensitive, or |
| // duplicated |
| // elsewhere in the log record. |
| // It should never include user-generated data, such as file |
| // contents. |
| // When the JSON object represented here has a proto equivalent, the |
| // proto |
| // name will be indicated in the `@type` property. |
| Request googleapi.RawMessage `json:"request,omitempty"` |
| |
| // RequestMetadata: Metadata about the operation. |
| RequestMetadata *RequestMetadata `json:"requestMetadata,omitempty"` |
| |
| // ResourceLocation: The resource location information. |
| ResourceLocation *ResourceLocation `json:"resourceLocation,omitempty"` |
| |
| // ResourceName: The resource or collection that is the target of the |
| // operation. |
| // The name is a scheme-less URI, not including the API service |
| // name. |
| // For example: |
| // |
| // "shelves/SHELF_ID/books" |
| // "shelves/SHELF_ID/books/BOOK_ID" |
| ResourceName string `json:"resourceName,omitempty"` |
| |
| // ResourceOriginalState: The resource's original state before mutation. |
| // Present only for |
| // operations which have successfully modified the targeted |
| // resource(s). |
| // In general, this field should contain all changed fields, except |
| // those |
| // that are already been included in `request`, `response`, `metadata` |
| // or |
| // `service_data` fields. |
| // When the JSON object represented here has a proto equivalent, |
| // the proto name will be indicated in the `@type` property. |
| ResourceOriginalState googleapi.RawMessage `json:"resourceOriginalState,omitempty"` |
| |
| // Response: The operation response. This may not include all response |
| // elements, |
| // such as those that are too large, privacy-sensitive, or |
| // duplicated |
| // elsewhere in the log record. |
| // It should never include user-generated data, such as file |
| // contents. |
| // When the JSON object represented here has a proto equivalent, the |
| // proto |
| // name will be indicated in the `@type` property. |
| Response googleapi.RawMessage `json:"response,omitempty"` |
| |
| // ServiceData: Deprecated, use `metadata` field instead. |
| // Other service-specific data about the request, response, and |
| // other |
| // activities. |
| ServiceData googleapi.RawMessage `json:"serviceData,omitempty"` |
| |
| // ServiceName: The name of the API service performing the operation. |
| // For example, |
| // "datastore.googleapis.com". |
| ServiceName string `json:"serviceName,omitempty"` |
| |
| // Status: The status of the overall operation. |
| Status *Status `json:"status,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AuthenticationInfo") |
| // 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. "AuthenticationInfo") 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 *AuditLog) MarshalJSON() ([]byte, error) { |
| type NoMethod AuditLog |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Auth: This message defines request authentication attributes. |
| // Terminology is |
| // based on the JSON Web Token (JWT) standard, but the terms |
| // also |
| // correlate to concepts in other standards. |
| type Auth struct { |
| // AccessLevels: A list of access level resource names that allow |
| // resources to be |
| // accessed by authenticated requester. It is part of Secure GCP |
| // processing |
| // for the incoming request. An access level string has the |
| // format: |
| // "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/ |
| // {short_name}" |
| // |
| // Example: |
| // "//accesscontextmanager.googleapis.com/accessP |
| // olicies/MY_POLICY_ID/accessLevels/MY_LEVEL" |
| AccessLevels []string `json:"accessLevels,omitempty"` |
| |
| // Audiences: The intended audience(s) for this authentication |
| // information. Reflects |
| // the audience (`aud`) claim within a JWT. The audience |
| // value(s) depends on the `issuer`, but typically include one or more |
| // of |
| // the following pieces of information: |
| // |
| // * The services intended to receive the credential. For example, |
| // ["https://pubsub.googleapis.com/", |
| // "https://storage.googleapis.com/"]. |
| // * A set of service-based scopes. For example, |
| // ["https://www.googleapis.com/auth/cloud-platform"]. |
| // * The client id of an app, such as the Firebase project id for JWTs |
| // from Firebase Auth. |
| // |
| // Consult the documentation for the credential issuer to determine |
| // the |
| // information provided. |
| Audiences []string `json:"audiences,omitempty"` |
| |
| // Claims: Structured claims presented with the credential. JWTs |
| // include |
| // `{key: value}` pairs for standard and private claims. The |
| // following |
| // is a subset of the standard required and optional claims that |
| // would |
| // typically be presented for a Google-based JWT: |
| // |
| // {'iss': 'accounts.google.com', |
| // 'sub': '113289723416554971153', |
| // 'aud': ['123456789012', 'pubsub.googleapis.com'], |
| // 'azp': '123456789012.apps.googleusercontent.com', |
| // 'email': 'jsmith@example.com', |
| // 'iat': 1353601026, |
| // 'exp': 1353604926} |
| // |
| // SAML assertions are similarly specified, but with an identity |
| // provider |
| // dependent structure. |
| Claims googleapi.RawMessage `json:"claims,omitempty"` |
| |
| // Presenter: The authorized presenter of the credential. Reflects the |
| // optional |
| // Authorized Presenter (`azp`) claim within a JWT or the |
| // OAuth client id. For example, a Google Cloud Platform client id |
| // looks |
| // as follows: "123456789012.apps.googleusercontent.com". |
| Presenter string `json:"presenter,omitempty"` |
| |
| // Principal: The authenticated principal. Reflects the issuer (`iss`) |
| // and subject |
| // (`sub`) claims within a JWT. The issuer and subject should be |
| // `/` |
| // delimited, with `/` percent-encoded within the subject fragment. |
| // For |
| // Google accounts, the principal format |
| // is: |
| // "https://accounts.google.com/{id}" |
| Principal string `json:"principal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AccessLevels") 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. "AccessLevels") 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 *Auth) MarshalJSON() ([]byte, error) { |
| type NoMethod Auth |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthenticationInfo: Authentication information for the operation. |
| type AuthenticationInfo struct { |
| // AuthoritySelector: The authority selector specified by the requestor, |
| // if any. |
| // It is not guaranteed that the principal was allowed to use this |
| // authority. |
| AuthoritySelector string `json:"authoritySelector,omitempty"` |
| |
| // PrincipalEmail: The email address of the authenticated user (or |
| // service account on behalf |
| // of third party principal) making the request. For privacy reasons, |
| // the |
| // principal email address is redacted for all read-only operations that |
| // fail |
| // with a "permission denied" error. |
| PrincipalEmail string `json:"principalEmail,omitempty"` |
| |
| // PrincipalSubject: String representation of identity of requesting |
| // party. |
| // Populated for both first and third party identities. |
| PrincipalSubject string `json:"principalSubject,omitempty"` |
| |
| // ServiceAccountDelegationInfo: Identity delegation history of an |
| // authenticated service account that makes |
| // the request. It contains information on the real authorities that try |
| // to |
| // access GCP resources by delegating on a service account. When |
| // multiple |
| // authorities present, they are guaranteed to be sorted based on the |
| // original |
| // ordering of the identity delegation events. |
| ServiceAccountDelegationInfo []*ServiceAccountDelegationInfo `json:"serviceAccountDelegationInfo,omitempty"` |
| |
| // ServiceAccountKeyName: The name of the service account key used to |
| // create or exchange |
| // credentials for authenticating the service account making the |
| // request. |
| // This is a scheme-less URI full resource name. For |
| // example: |
| // |
| // "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/ |
| // {ACCOUNT}/keys/{key}" |
| ServiceAccountKeyName string `json:"serviceAccountKeyName,omitempty"` |
| |
| // ThirdPartyPrincipal: The third party identification (if any) of the |
| // authenticated user making |
| // the request. |
| // When the JSON object represented here has a proto equivalent, the |
| // proto |
| // name will be indicated in the `@type` property. |
| ThirdPartyPrincipal googleapi.RawMessage `json:"thirdPartyPrincipal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AuthoritySelector") |
| // 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. "AuthoritySelector") 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 *AuthenticationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthenticationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthorizationInfo: Authorization information for the operation. |
| type AuthorizationInfo struct { |
| // Granted: Whether or not authorization for `resource` and |
| // `permission` |
| // was granted. |
| Granted bool `json:"granted,omitempty"` |
| |
| // Permission: The required IAM permission. |
| Permission string `json:"permission,omitempty"` |
| |
| // Resource: The resource being accessed, as a REST-style string. For |
| // example: |
| // |
| // bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID |
| Resource string `json:"resource,omitempty"` |
| |
| // ResourceAttributes: Resource attributes used in IAM condition |
| // evaluation. This field contains |
| // resource attributes like resource type and resource name. |
| // |
| // To get the whole view of the attributes used in IAM |
| // condition evaluation, the user must also look |
| // into |
| // `AuditLog.request_metadata.request_attributes`. |
| ResourceAttributes *Resource `json:"resourceAttributes,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Granted") 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. "Granted") 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 *AuthorizationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthorizationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CheckError: Defines the errors to be returned |
| // in |
| // google.api.servicecontrol.v1.CheckResponse.check_errors. |
| type CheckError struct { |
| // Code: The error code. |
| // |
| // Possible values: |
| // "ERROR_CODE_UNSPECIFIED" - This is never used in `CheckResponse`. |
| // "NOT_FOUND" - The consumer's project id, network container, or |
| // resource container was |
| // not found. Same as google.rpc.Code.NOT_FOUND. |
| // "PERMISSION_DENIED" - The consumer doesn't have access to the |
| // specified resource. |
| // Same as google.rpc.Code.PERMISSION_DENIED. |
| // "RESOURCE_EXHAUSTED" - Quota check failed. Same as |
| // google.rpc.Code.RESOURCE_EXHAUSTED. |
| // "BUDGET_EXCEEDED" - Budget check failed. |
| // "DENIAL_OF_SERVICE_DETECTED" - The consumer's request has been |
| // flagged as a DoS attack. |
| // "LOAD_SHEDDING" - The consumer's request should be rejected in |
| // order to protect the service |
| // from being overloaded. |
| // "ABUSER_DETECTED" - The consumer has been flagged as an abuser. |
| // "SERVICE_NOT_ACTIVATED" - The consumer hasn't activated the |
| // service. |
| // "VISIBILITY_DENIED" - The consumer cannot access the service due to |
| // visibility configuration. |
| // "BILLING_DISABLED" - The consumer cannot access the service because |
| // billing is disabled. |
| // "PROJECT_DELETED" - The consumer's project has been marked as |
| // deleted (soft deletion). |
| // "PROJECT_INVALID" - The consumer's project number or id does not |
| // represent a valid project. |
| // "CONSUMER_INVALID" - The input consumer info does not represent a |
| // valid consumer folder or |
| // organization. |
| // "IP_ADDRESS_BLOCKED" - The IP address of the consumer is invalid |
| // for the specific consumer |
| // project. |
| // "REFERER_BLOCKED" - The referer address of the consumer request is |
| // invalid for the specific |
| // consumer project. |
| // "CLIENT_APP_BLOCKED" - The client application of the consumer |
| // request is invalid for the |
| // specific consumer project. |
| // "API_TARGET_BLOCKED" - The API targeted by this request is invalid |
| // for the specified consumer |
| // project. |
| // "API_KEY_INVALID" - The consumer's API key is invalid. |
| // "API_KEY_EXPIRED" - The consumer's API Key has expired. |
| // "API_KEY_NOT_FOUND" - The consumer's API Key was not found in |
| // config record. |
| // "SPATULA_HEADER_INVALID" - The consumer's spatula header is |
| // invalid. |
| // "LOAS_ROLE_INVALID" - The consumer's LOAS role is invalid. |
| // "NO_LOAS_PROJECT" - The consumer's LOAS role has no associated |
| // project. |
| // "LOAS_PROJECT_DISABLED" - The consumer's LOAS project is not |
| // `ACTIVE` in LoquatV2. |
| // "SECURITY_POLICY_VIOLATED" - Request is not allowed as per security |
| // policies defined in Org Policy. |
| // "INVALID_CREDENTIAL" - The credential in the request can not be |
| // verified. |
| // "LOCATION_POLICY_VIOLATED" - Request is not allowed as per location |
| // policies defined in Org Policy. |
| // "NAMESPACE_LOOKUP_UNAVAILABLE" - The backend server for looking up |
| // project id/number is unavailable. |
| // "SERVICE_STATUS_UNAVAILABLE" - The backend server for checking |
| // service status is unavailable. |
| // "BILLING_STATUS_UNAVAILABLE" - The backend server for checking |
| // billing status is unavailable. |
| // "QUOTA_CHECK_UNAVAILABLE" - The backend server for checking quota |
| // limits is unavailable. |
| // "LOAS_PROJECT_LOOKUP_UNAVAILABLE" - The Spanner for looking up LOAS |
| // project is unavailable. |
| // "CLOUD_RESOURCE_MANAGER_BACKEND_UNAVAILABLE" - Cloud Resource |
| // Manager backend server is unavailable. |
| // "SECURITY_POLICY_BACKEND_UNAVAILABLE" - NOTE: for customers in the |
| // scope of Beta/GA of |
| // https://cloud.google.com/vpc-service-controls, this error |
| // is no longer returned. If the security backend is unavailable, |
| // rpc |
| // UNAVAILABLE status will be returned instead. It should be ignored |
| // and |
| // should not be used to reject client requests. |
| // "LOCATION_POLICY_BACKEND_UNAVAILABLE" - Backend server for |
| // evaluating location policy is unavailable. |
| Code string `json:"code,omitempty"` |
| |
| // Detail: Free-form text providing details on the error cause of the |
| // error. |
| Detail string `json:"detail,omitempty"` |
| |
| // Status: Contains public information about the check error. If |
| // available, |
| // `status.code` will be non zero and client can propagate it out as |
| // public |
| // error. |
| Status *Status `json:"status,omitempty"` |
| |
| // Subject: Subject to whom this error applies. See the specific code |
| // enum for more |
| // details on this field. For example: |
| // |
| // - "project:<project-id or project-number>" |
| // - "folder:<folder-id>" |
| // - "organization:<organization-id>" |
| Subject string `json:"subject,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *CheckError) MarshalJSON() ([]byte, error) { |
| type NoMethod CheckError |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CheckInfo: Contains additional information about the check operation. |
| type CheckInfo struct { |
| // ConsumerInfo: Consumer info of this check. |
| ConsumerInfo *ConsumerInfo `json:"consumerInfo,omitempty"` |
| |
| // UnusedArguments: A list of fields and label keys that are ignored by |
| // the server. |
| // The client doesn't need to send them for following requests to |
| // improve |
| // performance and allow better aggregation. |
| UnusedArguments []string `json:"unusedArguments,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ConsumerInfo") 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. "ConsumerInfo") 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 *CheckInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod CheckInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CheckRequest: Request message for the Check method. |
| type CheckRequest struct { |
| // Operation: The operation to be checked. |
| Operation *Operation `json:"operation,omitempty"` |
| |
| // RequestProjectSettings: Requests the project settings to be returned |
| // as part of the check response. |
| RequestProjectSettings bool `json:"requestProjectSettings,omitempty"` |
| |
| // ServiceConfigId: Specifies which version of service configuration |
| // should be used to process |
| // the request. |
| // |
| // If unspecified or no matching version can be found, the |
| // latest one will be used. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // SkipActivationCheck: Indicates if service activation check should be |
| // skipped for this request. |
| // Default behavior is to perform the check and apply relevant |
| // quota. |
| // WARNING: Setting this flag to "true" will disable quota enforcement. |
| SkipActivationCheck bool `json:"skipActivationCheck,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Operation") 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. "Operation") 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 *CheckRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod CheckRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // CheckResponse: Response message for the Check method. |
| type CheckResponse struct { |
| // CheckErrors: Indicate the decision of the check. |
| // |
| // If no check errors are present, the service should process the |
| // operation. |
| // Otherwise the service should use the list of errors to determine |
| // the |
| // appropriate action. |
| CheckErrors []*CheckError `json:"checkErrors,omitempty"` |
| |
| // CheckInfo: Feedback data returned from the server during processing a |
| // Check request. |
| CheckInfo *CheckInfo `json:"checkInfo,omitempty"` |
| |
| // OperationId: The same operation_id value used in the |
| // CheckRequest. |
| // Used for logging and diagnostics purposes. |
| OperationId string `json:"operationId,omitempty"` |
| |
| // QuotaInfo: Quota information for the check request associated with |
| // this response. |
| // |
| QuotaInfo *QuotaInfo `json:"quotaInfo,omitempty"` |
| |
| // ServiceConfigId: The actual config id used to process the request. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // ServiceRolloutId: The current service rollout id used to process the |
| // request. |
| ServiceRolloutId string `json:"serviceRolloutId,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "CheckErrors") 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. "CheckErrors") 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 *CheckResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod CheckResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ConsumerInfo: `ConsumerInfo` provides information about the consumer. |
| type ConsumerInfo struct { |
| // ConsumerNumber: The consumer identity number, can be Google cloud |
| // project number, folder |
| // number or organization number e.g. 1234567890. A value of 0 indicates |
| // no |
| // consumer number is found. |
| ConsumerNumber int64 `json:"consumerNumber,omitempty,string"` |
| |
| // ProjectNumber: The Google cloud project number, e.g. 1234567890. A |
| // value of 0 indicates |
| // no project number is found. |
| // |
| // NOTE: This field is deprecated after Chemist support flexible |
| // consumer |
| // id. New code should not depend on this field anymore. |
| ProjectNumber int64 `json:"projectNumber,omitempty,string"` |
| |
| // Type: The type of the consumer which should have been defined |
| // in |
| // [Google Resource |
| // Manager](https://cloud.google.com/resource-manager/). |
| // |
| // Possible values: |
| // "CONSUMER_TYPE_UNSPECIFIED" - This is never used. |
| // "PROJECT" - The consumer is a Google Cloud Project. |
| // "FOLDER" - The consumer is a Google Cloud Folder. |
| // "ORGANIZATION" - The consumer is a Google Cloud Organization. |
| // "SERVICE_SPECIFIC" - Service-specific resource container which is |
| // defined by the service |
| // producer to offer their users the ability to manage service |
| // control |
| // functionalities at a finer level of granularity than the PROJECT. |
| Type string `json:"type,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ConsumerNumber") 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. "ConsumerNumber") 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 *ConsumerInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ConsumerInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Distribution: Distribution represents a frequency distribution of |
| // double-valued sample |
| // points. It contains the size of the population of sample points |
| // plus |
| // additional optional information: |
| // |
| // - the arithmetic mean of the samples |
| // - the minimum and maximum of the samples |
| // - the sum-squared-deviation of the samples, used to compute |
| // variance |
| // - a histogram of the values of the sample points |
| type Distribution struct { |
| // BucketCounts: The number of samples in each histogram bucket. |
| // `bucket_counts` are |
| // optional. If present, they must sum to the `count` value. |
| // |
| // The buckets are defined below in `bucket_option`. There are N |
| // buckets. |
| // `bucket_counts[0]` is the number of samples in the underflow |
| // bucket. |
| // `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of |
| // samples |
| // in each of the finite buckets. And `bucket_counts[N] is the number |
| // of samples in the overflow bucket. See the comments of |
| // `bucket_option` |
| // below for more details. |
| // |
| // Any suffix of trailing zeros may be omitted. |
| BucketCounts googleapi.Int64s `json:"bucketCounts,omitempty"` |
| |
| // Count: The total number of samples in the distribution. Must be >= 0. |
| Count int64 `json:"count,omitempty,string"` |
| |
| // Exemplars: Example points. Must be in increasing order of `value` |
| // field. |
| Exemplars []*Exemplar `json:"exemplars,omitempty"` |
| |
| // ExplicitBuckets: Buckets with arbitrary user-provided width. |
| ExplicitBuckets *ExplicitBuckets `json:"explicitBuckets,omitempty"` |
| |
| // ExponentialBuckets: Buckets with exponentially growing width. |
| ExponentialBuckets *ExponentialBuckets `json:"exponentialBuckets,omitempty"` |
| |
| // LinearBuckets: Buckets with constant width. |
| LinearBuckets *LinearBuckets `json:"linearBuckets,omitempty"` |
| |
| // Maximum: The maximum of the population of values. Ignored if `count` |
| // is zero. |
| Maximum float64 `json:"maximum,omitempty"` |
| |
| // Mean: The arithmetic mean of the samples in the distribution. If |
| // `count` is |
| // zero then this field must be zero. |
| Mean float64 `json:"mean,omitempty"` |
| |
| // Minimum: The minimum of the population of values. Ignored if `count` |
| // is zero. |
| Minimum float64 `json:"minimum,omitempty"` |
| |
| // SumOfSquaredDeviation: The sum of squared deviations from the mean: |
| // Sum[i=1..count]((x_i - mean)^2) |
| // where each x_i is a sample values. If `count` is zero then this |
| // field |
| // must be zero, otherwise validation of the request fails. |
| SumOfSquaredDeviation float64 `json:"sumOfSquaredDeviation,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "BucketCounts") 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. "BucketCounts") 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 *Distribution) MarshalJSON() ([]byte, error) { |
| type NoMethod Distribution |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *Distribution) UnmarshalJSON(data []byte) error { |
| type NoMethod Distribution |
| var s1 struct { |
| Maximum gensupport.JSONFloat64 `json:"maximum"` |
| Mean gensupport.JSONFloat64 `json:"mean"` |
| Minimum gensupport.JSONFloat64 `json:"minimum"` |
| SumOfSquaredDeviation gensupport.JSONFloat64 `json:"sumOfSquaredDeviation"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| s.Maximum = float64(s1.Maximum) |
| s.Mean = float64(s1.Mean) |
| s.Minimum = float64(s1.Minimum) |
| s.SumOfSquaredDeviation = float64(s1.SumOfSquaredDeviation) |
| return nil |
| } |
| |
| // Exemplar: Exemplars are example points that may be used to annotate |
| // aggregated |
| // distribution values. They are metadata that gives information about |
| // a |
| // particular value added to a Distribution bucket, such as a trace ID |
| // that |
| // was active when a value was added. They may contain further |
| // information, |
| // such as a example values and timestamps, origin, etc. |
| type Exemplar struct { |
| // Attachments: Contextual information about the example value. Examples |
| // are: |
| // |
| // Trace: type.googleapis.com/google.monitoring.v3.SpanContext |
| // |
| // Literal string: type.googleapis.com/google.protobuf.StringValue |
| // |
| // Labels dropped during aggregation: |
| // type.googleapis.com/google.monitoring.v3.DroppedLabels |
| // |
| // There may be only a single attachment of any given message type in |
| // a |
| // single exemplar, and this is enforced by the system. |
| Attachments []googleapi.RawMessage `json:"attachments,omitempty"` |
| |
| // Timestamp: The observation (sampling) time of the above value. |
| Timestamp string `json:"timestamp,omitempty"` |
| |
| // Value: Value of the exemplar point. This value determines to which |
| // bucket the |
| // exemplar belongs. |
| Value float64 `json:"value,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Attachments") 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. "Attachments") 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 *Exemplar) MarshalJSON() ([]byte, error) { |
| type NoMethod Exemplar |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *Exemplar) UnmarshalJSON(data []byte) error { |
| type NoMethod Exemplar |
| var s1 struct { |
| Value gensupport.JSONFloat64 `json:"value"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| s.Value = float64(s1.Value) |
| return nil |
| } |
| |
| // ExplicitBuckets: Describing buckets with arbitrary user-provided |
| // width. |
| type ExplicitBuckets struct { |
| // Bounds: 'bound' is a list of strictly increasing boundaries |
| // between |
| // buckets. Note that a list of length N-1 defines N buckets because |
| // of fenceposting. See comments on `bucket_options` for details. |
| // |
| // The i'th finite bucket covers the interval |
| // [bound[i-1], bound[i]) |
| // where i ranges from 1 to bound_size() - 1. Note that there are |
| // no |
| // finite buckets at all if 'bound' only contains a single element; |
| // in |
| // that special case the single bound defines the boundary between |
| // the |
| // underflow and overflow buckets. |
| // |
| // bucket number lower bound upper bound |
| // i == 0 (underflow) -inf bound[i] |
| // 0 < i < bound_size() bound[i-1] bound[i] |
| // i == bound_size() (overflow) bound[i-1] +inf |
| Bounds []float64 `json:"bounds,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Bounds") 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. "Bounds") 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 *ExplicitBuckets) MarshalJSON() ([]byte, error) { |
| type NoMethod ExplicitBuckets |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ExponentialBuckets: Describing buckets with exponentially growing |
| // width. |
| type ExponentialBuckets struct { |
| // GrowthFactor: The i'th exponential bucket covers the interval |
| // [scale * growth_factor^(i-1), scale * growth_factor^i) |
| // where i ranges from 1 to num_finite_buckets inclusive. |
| // Must be larger than 1.0. |
| GrowthFactor float64 `json:"growthFactor,omitempty"` |
| |
| // NumFiniteBuckets: The number of finite buckets. With the underflow |
| // and overflow buckets, |
| // the total number of buckets is `num_finite_buckets` + 2. |
| // See comments on `bucket_options` for details. |
| NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` |
| |
| // Scale: The i'th exponential bucket covers the interval |
| // [scale * growth_factor^(i-1), scale * growth_factor^i) |
| // where i ranges from 1 to num_finite_buckets inclusive. |
| // Must be > 0. |
| Scale float64 `json:"scale,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "GrowthFactor") 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. "GrowthFactor") 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 *ExponentialBuckets) MarshalJSON() ([]byte, error) { |
| type NoMethod ExponentialBuckets |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *ExponentialBuckets) UnmarshalJSON(data []byte) error { |
| type NoMethod ExponentialBuckets |
| var s1 struct { |
| GrowthFactor gensupport.JSONFloat64 `json:"growthFactor"` |
| Scale gensupport.JSONFloat64 `json:"scale"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| s.GrowthFactor = float64(s1.GrowthFactor) |
| s.Scale = float64(s1.Scale) |
| return nil |
| } |
| |
| // FirstPartyPrincipal: First party identity principal. |
| type FirstPartyPrincipal struct { |
| // PrincipalEmail: The email address of a Google account. |
| // . |
| PrincipalEmail string `json:"principalEmail,omitempty"` |
| |
| // ServiceMetadata: Metadata about the service that uses the service |
| // account. |
| // . |
| ServiceMetadata googleapi.RawMessage `json:"serviceMetadata,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "PrincipalEmail") 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. "PrincipalEmail") 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 *FirstPartyPrincipal) MarshalJSON() ([]byte, error) { |
| type NoMethod FirstPartyPrincipal |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // HttpRequest: A common proto for logging HTTP requests. Only contains |
| // semantics |
| // defined by the HTTP specification. Product-specific |
| // logging |
| // information MUST be defined in a separate message. |
| type HttpRequest struct { |
| // CacheFillBytes: The number of HTTP response bytes inserted into |
| // cache. Set only when a |
| // cache fill was attempted. |
| CacheFillBytes int64 `json:"cacheFillBytes,omitempty,string"` |
| |
| // CacheHit: Whether or not an entity was served from cache |
| // (with or without validation). |
| CacheHit bool `json:"cacheHit,omitempty"` |
| |
| // CacheLookup: Whether or not a cache lookup was attempted. |
| CacheLookup bool `json:"cacheLookup,omitempty"` |
| |
| // CacheValidatedWithOriginServer: Whether or not the response was |
| // validated with the origin server before |
| // being served from cache. This field is only meaningful if `cache_hit` |
| // is |
| // True. |
| CacheValidatedWithOriginServer bool `json:"cacheValidatedWithOriginServer,omitempty"` |
| |
| // Latency: The request processing latency on the server, from the time |
| // the request was |
| // received until the response was sent. |
| Latency string `json:"latency,omitempty"` |
| |
| // Protocol: Protocol used for the request. Examples: "HTTP/1.1", |
| // "HTTP/2", "websocket" |
| Protocol string `json:"protocol,omitempty"` |
| |
| // Referer: The referer URL of the request, as defined in |
| // [HTTP/1.1 Header |
| // Field |
| // Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.h |
| // tml). |
| Referer string `json:"referer,omitempty"` |
| |
| // RemoteIp: The IP address (IPv4 or IPv6) of the client that issued the |
| // HTTP |
| // request. Examples: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329". |
| RemoteIp string `json:"remoteIp,omitempty"` |
| |
| // RequestMethod: The request method. Examples: "GET", "HEAD", |
| // "PUT", "POST". |
| RequestMethod string `json:"requestMethod,omitempty"` |
| |
| // RequestSize: The size of the HTTP request message in bytes, including |
| // the request |
| // headers and the request body. |
| RequestSize int64 `json:"requestSize,omitempty,string"` |
| |
| // RequestUrl: The scheme (http, https), the host name, the path, and |
| // the query |
| // portion of the URL that was requested. |
| // Example: "http://example.com/some/info?color=red". |
| RequestUrl string `json:"requestUrl,omitempty"` |
| |
| // ResponseSize: The size of the HTTP response message sent back to the |
| // client, in bytes, |
| // including the response headers and the response body. |
| ResponseSize int64 `json:"responseSize,omitempty,string"` |
| |
| // ServerIp: The IP address (IPv4 or IPv6) of the origin server that the |
| // request was |
| // sent to. |
| ServerIp string `json:"serverIp,omitempty"` |
| |
| // Status: The response code indicating the status of the |
| // response. |
| // Examples: 200, 404. |
| Status int64 `json:"status,omitempty"` |
| |
| // UserAgent: The user agent sent by the client. Example: |
| // "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET |
| // CLR 1.0.3705)". |
| UserAgent string `json:"userAgent,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CacheFillBytes") 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. "CacheFillBytes") 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 *HttpRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod HttpRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LinearBuckets: Describing buckets with constant width. |
| type LinearBuckets struct { |
| // NumFiniteBuckets: The number of finite buckets. With the underflow |
| // and overflow buckets, |
| // the total number of buckets is `num_finite_buckets` + 2. |
| // See comments on `bucket_options` for details. |
| NumFiniteBuckets int64 `json:"numFiniteBuckets,omitempty"` |
| |
| // Offset: The i'th linear bucket covers the interval |
| // [offset + (i-1) * width, offset + i * width) |
| // where i ranges from 1 to num_finite_buckets, inclusive. |
| Offset float64 `json:"offset,omitempty"` |
| |
| // Width: The i'th linear bucket covers the interval |
| // [offset + (i-1) * width, offset + i * width) |
| // where i ranges from 1 to num_finite_buckets, inclusive. |
| // Must be strictly positive. |
| Width float64 `json:"width,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "NumFiniteBuckets") 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. "NumFiniteBuckets") 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 *LinearBuckets) MarshalJSON() ([]byte, error) { |
| type NoMethod LinearBuckets |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *LinearBuckets) UnmarshalJSON(data []byte) error { |
| type NoMethod LinearBuckets |
| var s1 struct { |
| Offset gensupport.JSONFloat64 `json:"offset"` |
| Width gensupport.JSONFloat64 `json:"width"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| s.Offset = float64(s1.Offset) |
| s.Width = float64(s1.Width) |
| return nil |
| } |
| |
| // LogEntry: An individual log entry. |
| type LogEntry struct { |
| // HttpRequest: Optional. Information about the HTTP request associated |
| // with this |
| // log entry, if applicable. |
| HttpRequest *HttpRequest `json:"httpRequest,omitempty"` |
| |
| // InsertId: A unique ID for the log entry used for deduplication. If |
| // omitted, |
| // the implementation will generate one based on operation_id. |
| InsertId string `json:"insertId,omitempty"` |
| |
| // Labels: A set of user-defined (key, value) data that provides |
| // additional |
| // information about the log entry. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // Name: Required. The log to which this log entry belongs. Examples: |
| // "syslog", |
| // "book_log". |
| Name string `json:"name,omitempty"` |
| |
| // Operation: Optional. Information about an operation associated with |
| // the log entry, if |
| // applicable. |
| Operation *LogEntryOperation `json:"operation,omitempty"` |
| |
| // ProtoPayload: The log entry payload, represented as a protocol buffer |
| // that is |
| // expressed as a JSON object. The only accepted type currently |
| // is |
| // AuditLog. |
| ProtoPayload googleapi.RawMessage `json:"protoPayload,omitempty"` |
| |
| // Severity: The severity of the log entry. The default value |
| // is |
| // `LogSeverity.DEFAULT`. |
| // |
| // Possible values: |
| // "DEFAULT" - (0) The log entry has no assigned severity level. |
| // "DEBUG" - (100) Debug or trace information. |
| // "INFO" - (200) Routine information, such as ongoing status or |
| // performance. |
| // "NOTICE" - (300) Normal but significant events, such as start up, |
| // shut down, or |
| // a configuration change. |
| // "WARNING" - (400) Warning events might cause problems. |
| // "ERROR" - (500) Error events are likely to cause problems. |
| // "CRITICAL" - (600) Critical events cause more severe problems or |
| // outages. |
| // "ALERT" - (700) A person must take an action immediately. |
| // "EMERGENCY" - (800) One or more systems are unusable. |
| Severity string `json:"severity,omitempty"` |
| |
| // SourceLocation: Optional. Source code location information associated |
| // with the log entry, |
| // if any. |
| SourceLocation *LogEntrySourceLocation `json:"sourceLocation,omitempty"` |
| |
| // StructPayload: The log entry payload, represented as a structure |
| // that |
| // is expressed as a JSON object. |
| StructPayload googleapi.RawMessage `json:"structPayload,omitempty"` |
| |
| // TextPayload: The log entry payload, represented as a Unicode string |
| // (UTF-8). |
| TextPayload string `json:"textPayload,omitempty"` |
| |
| // Timestamp: The time the event described by the log entry occurred. |
| // If |
| // omitted, defaults to operation start time. |
| Timestamp string `json:"timestamp,omitempty"` |
| |
| // Trace: Optional. Resource name of the trace associated with the log |
| // entry, if any. |
| // If this field contains a relative resource name, you can assume the |
| // name is |
| // relative to `//tracing.googleapis.com`. |
| // Example: |
| // `projects/my-projectid/traces/06796866738c859f2f19b7cfb321482 |
| // 4` |
| Trace string `json:"trace,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "HttpRequest") 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. "HttpRequest") 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 *LogEntry) MarshalJSON() ([]byte, error) { |
| type NoMethod LogEntry |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LogEntryOperation: Additional information about a potentially |
| // long-running operation with which |
| // a log entry is associated. |
| type LogEntryOperation struct { |
| // First: Optional. Set this to True if this is the first log entry in |
| // the operation. |
| First bool `json:"first,omitempty"` |
| |
| // Id: Optional. An arbitrary operation identifier. Log entries with |
| // the |
| // same identifier are assumed to be part of the same operation. |
| Id string `json:"id,omitempty"` |
| |
| // Last: Optional. Set this to True if this is the last log entry in the |
| // operation. |
| Last bool `json:"last,omitempty"` |
| |
| // Producer: Optional. An arbitrary producer identifier. The combination |
| // of |
| // `id` and `producer` must be globally unique. Examples for |
| // `producer`: |
| // "MyDivision.MyBigCompany.com", |
| // "github.com/MyProject/MyApplication". |
| Producer string `json:"producer,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "First") 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. "First") 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 *LogEntryOperation) MarshalJSON() ([]byte, error) { |
| type NoMethod LogEntryOperation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // LogEntrySourceLocation: Additional information about the source code |
| // location that produced the log |
| // entry. |
| type LogEntrySourceLocation struct { |
| // File: Optional. Source file name. Depending on the runtime |
| // environment, this |
| // might be a simple name or a fully-qualified name. |
| File string `json:"file,omitempty"` |
| |
| // Function: Optional. Human-readable name of the function or method |
| // being invoked, with |
| // optional context such as the class or package name. This information |
| // may be |
| // used in contexts such as the logs viewer, where a file and line |
| // number are |
| // less meaningful. The format can vary by language. For |
| // example: |
| // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), |
| // `function` |
| // (Python). |
| Function string `json:"function,omitempty"` |
| |
| // Line: Optional. Line within the source file. 1-based; 0 indicates no |
| // line number |
| // available. |
| Line int64 `json:"line,omitempty,string"` |
| |
| // ForceSendFields is a list of field names (e.g. "File") 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. "File") 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 *LogEntrySourceLocation) MarshalJSON() ([]byte, error) { |
| type NoMethod LogEntrySourceLocation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // MetricValue: Represents a single metric value. |
| type MetricValue struct { |
| // BoolValue: A boolean value. |
| BoolValue *bool `json:"boolValue,omitempty"` |
| |
| // DistributionValue: A distribution value. |
| DistributionValue *Distribution `json:"distributionValue,omitempty"` |
| |
| // DoubleValue: A double precision floating point value. |
| DoubleValue *float64 `json:"doubleValue,omitempty"` |
| |
| // EndTime: The end of the time period over which this metric value's |
| // measurement |
| // applies. |
| EndTime string `json:"endTime,omitempty"` |
| |
| // Int64Value: A signed 64-bit integer value. |
| Int64Value *int64 `json:"int64Value,omitempty,string"` |
| |
| // Labels: The labels describing the metric value. |
| // See comments on google.api.servicecontrol.v1.Operation.labels for |
| // the overriding relationship. |
| // Note that this map must not contain monitored resource labels. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // MoneyValue: A money value. |
| MoneyValue *Money `json:"moneyValue,omitempty"` |
| |
| // StartTime: The start of the time period over which this metric |
| // value's measurement |
| // applies. The time period has different semantics for different |
| // metric |
| // types (cumulative, delta, and gauge). See the metric |
| // definition |
| // documentation in the service configuration for details. |
| StartTime string `json:"startTime,omitempty"` |
| |
| // StringValue: A text string value. |
| StringValue *string `json:"stringValue,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "BoolValue") 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. "BoolValue") 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 *MetricValue) MarshalJSON() ([]byte, error) { |
| type NoMethod MetricValue |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| func (s *MetricValue) UnmarshalJSON(data []byte) error { |
| type NoMethod MetricValue |
| var s1 struct { |
| DoubleValue *gensupport.JSONFloat64 `json:"doubleValue"` |
| *NoMethod |
| } |
| s1.NoMethod = (*NoMethod)(s) |
| if err := json.Unmarshal(data, &s1); err != nil { |
| return err |
| } |
| if s1.DoubleValue != nil { |
| s.DoubleValue = (*float64)(s1.DoubleValue) |
| } |
| return nil |
| } |
| |
| // MetricValueSet: Represents a set of metric values in the same |
| // metric. |
| // Each metric value in the set should have a unique combination of |
| // start time, |
| // end time, and label values. |
| type MetricValueSet struct { |
| // MetricName: The metric name defined in the service configuration. |
| MetricName string `json:"metricName,omitempty"` |
| |
| // MetricValues: The values in this metric. |
| MetricValues []*MetricValue `json:"metricValues,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "MetricName") 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. "MetricName") 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 *MetricValueSet) MarshalJSON() ([]byte, error) { |
| type NoMethod MetricValueSet |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Money: Represents an amount of money with its currency type. |
| type Money struct { |
| // CurrencyCode: The 3-letter currency code defined in ISO 4217. |
| CurrencyCode string `json:"currencyCode,omitempty"` |
| |
| // Nanos: Number of nano (10^-9) units of the amount. |
| // The value must be between -999,999,999 and +999,999,999 inclusive. |
| // If `units` is positive, `nanos` must be positive or zero. |
| // If `units` is zero, `nanos` can be positive, zero, or negative. |
| // If `units` is negative, `nanos` must be negative or zero. |
| // For example $-1.75 is represented as `units`=-1 and |
| // `nanos`=-750,000,000. |
| Nanos int64 `json:"nanos,omitempty"` |
| |
| // Units: The whole units of the amount. |
| // For example if `currencyCode` is "USD", then 1 unit is one US |
| // dollar. |
| Units int64 `json:"units,omitempty,string"` |
| |
| // ForceSendFields is a list of field names (e.g. "CurrencyCode") 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. "CurrencyCode") 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 *Money) MarshalJSON() ([]byte, error) { |
| type NoMethod Money |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Operation: Represents information regarding an operation. |
| type Operation struct { |
| // ConsumerId: Identity of the consumer who is using the service. |
| // This field should be filled in for the operations initiated by |
| // a |
| // consumer, but not for service-initiated operations that are |
| // not related to a specific consumer. |
| // |
| // - This can be in one of the following formats: |
| // - project:PROJECT_ID, |
| // - project`_`number:PROJECT_NUMBER, |
| // - projects/PROJECT_ID or PROJECT_NUMBER, |
| // - folders/FOLDER_NUMBER, |
| // - organizations/ORGANIZATION_NUMBER, |
| // - api`_`key:API_KEY. |
| ConsumerId string `json:"consumerId,omitempty"` |
| |
| // EndTime: End time of the operation. |
| // Required when the operation is used in ServiceController.Report, |
| // but optional when the operation is used in ServiceController.Check. |
| EndTime string `json:"endTime,omitempty"` |
| |
| // Extensions: Unimplemented. |
| Extensions []googleapi.RawMessage `json:"extensions,omitempty"` |
| |
| // Importance: DO NOT USE. This is an experimental field. |
| // |
| // Possible values: |
| // "LOW" - The API implementation may cache and aggregate the |
| // data. |
| // The data may be lost when rare and unexpected system failures occur. |
| // "HIGH" - The API implementation doesn't cache and aggregate the |
| // data. |
| // If the method returns successfully, it's guaranteed that the data |
| // has |
| // been persisted in durable storage. |
| // "DEBUG" - In addition to the behavior described in HIGH, DEBUG |
| // enables |
| // additional validation logic that is only useful during the |
| // onboarding |
| // process. This is only available to Google internal services and |
| // the service must be whitelisted by chemist-dev@google.com in order |
| // to use this level. |
| Importance string `json:"importance,omitempty"` |
| |
| // Labels: Labels describing the operation. Only the following labels |
| // are allowed: |
| // |
| // - Labels describing monitored resources as defined in |
| // the service configuration. |
| // - Default labels of metric values. When specified, labels defined in |
| // the |
| // metric value override these default. |
| // - The following labels defined by Google Cloud Platform: |
| // - `cloud.googleapis.com/location` describing the location where |
| // the |
| // operation happened, |
| // - `servicecontrol.googleapis.com/user_agent` describing the user |
| // agent |
| // of the API request, |
| // - `servicecontrol.googleapis.com/service_agent` describing the |
| // service |
| // used to handle the API request (e.g. ESP), |
| // - `servicecontrol.googleapis.com/platform` describing the |
| // platform |
| // where the API is served, such as App Engine, Compute Engine, |
| // or |
| // Kubernetes Engine. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // LogEntries: Represents information to be logged. |
| LogEntries []*LogEntry `json:"logEntries,omitempty"` |
| |
| // MetricValueSets: Represents information about this operation. Each |
| // MetricValueSet |
| // corresponds to a metric defined in the service configuration. |
| // The data type used in the MetricValueSet must agree with |
| // the data type specified in the metric definition. |
| // |
| // Within a single operation, it is not allowed to have more than |
| // one |
| // MetricValue instances that have the same metric names and |
| // identical |
| // label value combinations. If a request has such duplicated |
| // MetricValue |
| // instances, the entire request is rejected with |
| // an invalid argument error. |
| MetricValueSets []*MetricValueSet `json:"metricValueSets,omitempty"` |
| |
| // OperationId: Identity of the operation. This must be unique within |
| // the scope of the |
| // service that generated the operation. If the service calls |
| // Check() and Report() on the same operation, the two calls should |
| // carry |
| // the same id. |
| // |
| // UUID version 4 is recommended, though not required. |
| // In scenarios where an operation is computed from existing |
| // information |
| // and an idempotent id is desirable for deduplication purpose, UUID |
| // version 5 |
| // is recommended. See RFC 4122 for details. |
| OperationId string `json:"operationId,omitempty"` |
| |
| // OperationName: Fully qualified name of the operation. Reserved for |
| // future use. |
| OperationName string `json:"operationName,omitempty"` |
| |
| // QuotaProperties: Represents the properties needed for quota check. |
| // Applicable only if this |
| // operation is for a quota check request. If this is not specified, no |
| // quota |
| // check will be performed. |
| QuotaProperties *QuotaProperties `json:"quotaProperties,omitempty"` |
| |
| // Resources: The resources that are involved in the operation. |
| // The maximum supported number of entries in this field is 100. |
| Resources []*ResourceInfo `json:"resources,omitempty"` |
| |
| // StartTime: Required. Start time of the operation. |
| StartTime string `json:"startTime,omitempty"` |
| |
| // TraceSpans: Unimplemented. A list of Cloud Trace spans. The span |
| // names shall contain |
| // the id of the destination project which can be either the produce or |
| // the |
| // consumer project. |
| TraceSpans []*TraceSpan `json:"traceSpans,omitempty"` |
| |
| // UserLabels: User defined labels for the resource that this operation |
| // is associated |
| // with. Only a combination of 1000 user labels per consumer project |
| // are |
| // allowed. |
| UserLabels map[string]string `json:"userLabels,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ConsumerId") 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. "ConsumerId") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Operation) MarshalJSON() ([]byte, error) { |
| type NoMethod Operation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Peer: This message defines attributes for a node that handles a |
| // network request. |
| // The node can be either a service or an application that sends, |
| // forwards, |
| // or receives the request. Service peers should fill in |
| // `principal` and `labels` as appropriate. |
| type Peer struct { |
| // Ip: The IP address of the peer. |
| Ip string `json:"ip,omitempty"` |
| |
| // Labels: The labels associated with the peer. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // Port: The network port of the peer. |
| Port int64 `json:"port,omitempty,string"` |
| |
| // Principal: The identity of this peer. Similar to |
| // `Request.auth.principal`, but |
| // relative to the peer instead of the request. For example, the |
| // idenity associated with a load balancer that forwared the request. |
| Principal string `json:"principal,omitempty"` |
| |
| // RegionCode: The CLDR country/region code associated with the above IP |
| // address. |
| // If the IP address is private, the `region_code` should reflect |
| // the |
| // physical location where this peer is running. |
| RegionCode string `json:"regionCode,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Ip") 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. "Ip") 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 *Peer) MarshalJSON() ([]byte, error) { |
| type NoMethod Peer |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // QuotaError: Represents error information for QuotaOperation. |
| type QuotaError struct { |
| // Code: Error code. |
| // |
| // Possible values: |
| // "UNSPECIFIED" - This is never used. |
| // "RESOURCE_EXHAUSTED" - Quota allocation failed. |
| // Same as google.rpc.Code.RESOURCE_EXHAUSTED. |
| // "OUT_OF_RANGE" - Quota release failed. This error is ONLY returned |
| // on a NORMAL release. |
| // More formally: if a user requests a release of 10 tokens, but only |
| // 5 tokens were previously allocated, in a BEST_EFFORT release, this |
| // will |
| // be considered a success, 5 tokens will be released, and the result |
| // will |
| // be "Ok". If this is done in NORMAL mode, no tokens will be |
| // released, |
| // and an OUT_OF_RANGE error will be returned. |
| // Same as google.rpc.Code.OUT_OF_RANGE. |
| // "BILLING_NOT_ACTIVE" - Consumer cannot access the service because |
| // the service requires active |
| // billing. |
| // "PROJECT_DELETED" - Consumer's project has been marked as deleted |
| // (soft deletion). |
| // "API_KEY_INVALID" - Specified API key is invalid. |
| // "API_KEY_EXPIRED" - Specified API Key has expired. |
| // "SPATULA_HEADER_INVALID" - Consumer's spatula header is invalid. |
| // "LOAS_ROLE_INVALID" - The consumer's LOAS role is invalid. |
| // "NO_LOAS_PROJECT" - The consumer's LOAS role has no associated |
| // project. |
| // "PROJECT_STATUS_UNAVAILABLE" - The backend server for looking up |
| // project id/number is unavailable. |
| // "SERVICE_STATUS_UNAVAILABLE" - The backend server for checking |
| // service status is unavailable. |
| // "BILLING_STATUS_UNAVAILABLE" - The backend server for checking |
| // billing status is unavailable. |
| // "QUOTA_SYSTEM_UNAVAILABLE" - The backend server for checking quota |
| // limits is unavailable. |
| Code string `json:"code,omitempty"` |
| |
| // Description: Free-form text that provides details on the cause of the |
| // error. |
| Description string `json:"description,omitempty"` |
| |
| // Subject: Subject to whom this error applies. See the specific enum |
| // for more details |
| // on this field. For example, "clientip:<ip address of client>" |
| // or |
| // "project:<Google developer project id>". |
| Subject string `json:"subject,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *QuotaError) MarshalJSON() ([]byte, error) { |
| type NoMethod QuotaError |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // QuotaInfo: Contains the quota information for a quota check response. |
| type QuotaInfo struct { |
| // LimitExceeded: Quota Metrics that have exceeded quota limits. |
| // For QuotaGroup-based quota, this is QuotaGroup.name |
| // For QuotaLimit-based quota, this is QuotaLimit.name |
| // See: google.api.Quota |
| // Deprecated: Use quota_metrics to get per quota group limit exceeded |
| // status. |
| LimitExceeded []string `json:"limitExceeded,omitempty"` |
| |
| // QuotaConsumed: Map of quota group name to the actual number of tokens |
| // consumed. If the |
| // quota check was not successful, then this will not be populated due |
| // to no |
| // quota consumption. |
| // |
| // We are not merging this field with 'quota_metrics' field because of |
| // the |
| // complexity of scaling in Chemist client code base. For simplicity, we |
| // will |
| // keep this field for Castor (that scales quota usage) and |
| // 'quota_metrics' |
| // for SuperQuota (that doesn't scale quota usage). |
| // |
| QuotaConsumed map[string]int64 `json:"quotaConsumed,omitempty"` |
| |
| // QuotaMetrics: Quota metrics to indicate the usage. Depending on the |
| // check request, one or |
| // more of the following metrics will be included: |
| // |
| // 1. For rate quota, per quota group or per quota metric incremental |
| // usage |
| // will be specified using the following delta metric: |
| // "serviceruntime.googleapis.com/api/consumer/quota_used_count" |
| // |
| // 2. For allocation quota, per quota metric total usage will be |
| // specified |
| // using the following gauge metric: |
| // |
| // "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" |
| // |
| // |
| // 3. For both rate quota and allocation quota, the quota limit |
| // reached |
| // condition will be specified using the following boolean metric: |
| // "serviceruntime.googleapis.com/quota/exceeded" |
| QuotaMetrics []*MetricValueSet `json:"quotaMetrics,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "LimitExceeded") 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. "LimitExceeded") 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 *QuotaInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod QuotaInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // QuotaOperation: Represents information regarding a quota operation. |
| type QuotaOperation struct { |
| // ConsumerId: Identity of the consumer for whom this quota operation is |
| // being performed. |
| // |
| // This can be in one of the following formats: |
| // project:<project_id>, |
| // project_number:<project_number>, |
| // api_key:<api_key>. |
| ConsumerId string `json:"consumerId,omitempty"` |
| |
| // Labels: Labels describing the operation. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // MethodName: Fully qualified name of the API method for which this |
| // quota operation is |
| // requested. This name is used for matching quota rules or metric rules |
| // and |
| // billing status rules defined in service configuration. |
| // |
| // This field should not be set if any of the following is true: |
| // (1) the quota operation is performed on non-API resources. |
| // (2) quota_metrics is set because the caller is doing quota |
| // override. |
| // |
| // Example of an RPC method name: |
| // google.example.library.v1.LibraryService.CreateShelf |
| MethodName string `json:"methodName,omitempty"` |
| |
| // OperationId: Identity of the operation. This is expected to be unique |
| // within the scope |
| // of the service that generated the operation, and guarantees |
| // idempotency in |
| // case of retries. |
| // |
| // In order to ensure best performance and latency in the Quota |
| // backends, |
| // operation_ids are optimally associated with time, so that |
| // related |
| // operations can be accessed fast in storage. For this reason, |
| // the |
| // recommended token for services that intend to operate at a high QPS |
| // is |
| // Unix time in nanos + UUID |
| OperationId string `json:"operationId,omitempty"` |
| |
| // QuotaMetrics: Represents information about this operation. Each |
| // MetricValueSet |
| // corresponds to a metric defined in the service configuration. |
| // The data type used in the MetricValueSet must agree with |
| // the data type specified in the metric definition. |
| // |
| // Within a single operation, it is not allowed to have more than |
| // one |
| // MetricValue instances that have the same metric names and |
| // identical |
| // label value combinations. If a request has such duplicated |
| // MetricValue |
| // instances, the entire request is rejected with |
| // an invalid argument error. |
| // |
| // This field is mutually exclusive with method_name. |
| QuotaMetrics []*MetricValueSet `json:"quotaMetrics,omitempty"` |
| |
| // QuotaMode: Quota mode for this operation. |
| // |
| // Possible values: |
| // "UNSPECIFIED" - Guard against implicit default. Must not be used. |
| // "NORMAL" - For AllocateQuota request, allocates quota for the |
| // amount specified in |
| // the service configuration or specified using the quota metrics. If |
| // the |
| // amount is higher than the available quota, allocation error will |
| // be |
| // returned and no quota will be allocated. |
| // If multiple quotas are part of the request, and one fails, none of |
| // the |
| // quotas are allocated or released. |
| // "BEST_EFFORT" - The operation allocates quota for the amount |
| // specified in the service |
| // configuration or specified using the quota metrics. If the amount |
| // is |
| // higher than the available quota, request does not fail but all |
| // available |
| // quota will be allocated. |
| // For rate quota, BEST_EFFORT will continue to deduct from other |
| // groups |
| // even if one does not have enough quota. For allocation, it will find |
| // the |
| // minimum available amount across all groups and deduct that amount |
| // from |
| // all the affected groups. |
| // "CHECK_ONLY" - For AllocateQuota request, only checks if there is |
| // enough quota |
| // available and does not change the available quota. No lock is placed |
| // on |
| // the available quota either. |
| // "QUERY_ONLY" - Unimplemented. When used in AllocateQuotaRequest, |
| // this returns the |
| // effective quota limit(s) in the response, and no quota check will |
| // be |
| // performed. Not supported for other requests, and even |
| // for |
| // AllocateQuotaRequest, this is currently supported only for |
| // whitelisted |
| // services. |
| // "ADJUST_ONLY" - The operation allocates quota for the amount |
| // specified in the service |
| // configuration or specified using the quota metrics. If the |
| // requested |
| // amount is higher than the available quota, request does not fail |
| // and |
| // remaining quota would become negative (going over the limit) |
| // Not supported for Rate Quota. |
| QuotaMode string `json:"quotaMode,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ConsumerId") 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. "ConsumerId") 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 *QuotaOperation) MarshalJSON() ([]byte, error) { |
| type NoMethod QuotaOperation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // QuotaProperties: Represents the properties needed for quota |
| // operations. |
| type QuotaProperties struct { |
| // QuotaMode: Quota mode for this operation. |
| // |
| // Possible values: |
| // "ACQUIRE" - Decreases available quota by the cost specified for the |
| // operation. |
| // If cost is higher than available quota, operation fails and |
| // returns |
| // error. |
| // "ACQUIRE_BEST_EFFORT" - Decreases available quota by the cost |
| // specified for the operation. |
| // If cost is higher than available quota, operation does not fail |
| // and |
| // available quota goes down to zero but it returns error. |
| // "CHECK" - Does not change any available quota. Only checks if there |
| // is enough |
| // quota. |
| // No lock is placed on the checked tokens neither. |
| // "RELEASE" - Increases available quota by the operation cost |
| // specified for the |
| // operation. |
| QuotaMode string `json:"quotaMode,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "QuotaMode") 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. "QuotaMode") 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 *QuotaProperties) MarshalJSON() ([]byte, error) { |
| type NoMethod QuotaProperties |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ReportError: Represents the processing error of one Operation in the |
| // request. |
| type ReportError struct { |
| // OperationId: The Operation.operation_id value from the request. |
| OperationId string `json:"operationId,omitempty"` |
| |
| // Status: Details of the error when processing the Operation. |
| Status *Status `json:"status,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "OperationId") 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. "OperationId") 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 *ReportError) MarshalJSON() ([]byte, error) { |
| type NoMethod ReportError |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ReportInfo: Contains additional info about the report operation. |
| type ReportInfo struct { |
| // OperationId: The Operation.operation_id value from the request. |
| OperationId string `json:"operationId,omitempty"` |
| |
| // QuotaInfo: Quota usage info when processing the `Operation`. |
| QuotaInfo *QuotaInfo `json:"quotaInfo,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "OperationId") 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. "OperationId") 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 *ReportInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ReportInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ReportRequest: Request message for the Report method. |
| type ReportRequest struct { |
| // Operations: Operations to be reported. |
| // |
| // Typically the service should report one operation per |
| // request. |
| // Putting multiple operations into a single request is allowed, but |
| // should |
| // be used only when multiple operations are natually available at the |
| // time |
| // of the report. |
| // |
| // There is no limit on the number of operations in the same |
| // ReportRequest, |
| // however the ReportRequest size should be no larger than 1MB. |
| // See |
| // ReportResponse.report_errors for partial failure behavior. |
| Operations []*Operation `json:"operations,omitempty"` |
| |
| // ServiceConfigId: Specifies which version of service config should be |
| // used to process the |
| // request. |
| // |
| // If unspecified or no matching version can be found, the |
| // latest one will be used. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Operations") 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. "Operations") 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 *ReportRequest) MarshalJSON() ([]byte, error) { |
| type NoMethod ReportRequest |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ReportResponse: Response message for the Report method. |
| type ReportResponse struct { |
| // ReportErrors: Partial failures, one for each `Operation` in the |
| // request that failed |
| // processing. There are three possible combinations of the RPC |
| // status: |
| // |
| // 1. The combination of a successful RPC status and an empty |
| // `report_errors` |
| // list indicates a complete success where all `Operations` in the |
| // request are processed successfully. |
| // 2. The combination of a successful RPC status and a non-empty |
| // `report_errors` list indicates a partial success where some |
| // `Operations` in the request succeeded. Each |
| // `Operation` that failed processing has a corresponding item |
| // in this list. |
| // 3. A failed RPC status indicates a general non-deterministic |
| // failure. |
| // When this happens, it's impossible to know which of the |
| // 'Operations' in the request succeeded or failed. |
| ReportErrors []*ReportError `json:"reportErrors,omitempty"` |
| |
| // ReportInfos: Quota usage for each quota release `Operation` |
| // request. |
| // |
| // Fully or partially failed quota release request may or may not be |
| // present |
| // in `report_quota_info`. For example, a failed quota release request |
| // will |
| // have the current quota usage info when precise quota library returns |
| // the |
| // info. A deadline exceeded quota request will not have quota usage |
| // info. |
| // |
| // If there is no quota release request, report_quota_info will be |
| // empty. |
| // |
| ReportInfos []*ReportInfo `json:"reportInfos,omitempty"` |
| |
| // ServiceConfigId: The actual config id used to process the request. |
| ServiceConfigId string `json:"serviceConfigId,omitempty"` |
| |
| // ServiceRolloutId: The current service rollout id used to process the |
| // request. |
| ServiceRolloutId string `json:"serviceRolloutId,omitempty"` |
| |
| // ServerResponse contains the HTTP response code and headers from the |
| // server. |
| googleapi.ServerResponse `json:"-"` |
| |
| // ForceSendFields is a list of field names (e.g. "ReportErrors") 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. "ReportErrors") 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 *ReportResponse) MarshalJSON() ([]byte, error) { |
| type NoMethod ReportResponse |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Request: This message defines attributes for an HTTP request. If the |
| // actual |
| // request is not an HTTP request, the runtime system should try to |
| // map |
| // the actual request to an equivalent HTTP request. |
| type Request struct { |
| // Auth: The request authentication. May be absent for unauthenticated |
| // requests. |
| // Derived from the HTTP request `Authorization` header or equivalent. |
| Auth *Auth `json:"auth,omitempty"` |
| |
| // Headers: The HTTP request headers. If multiple headers share the same |
| // key, they |
| // must be merged according to the HTTP spec. All header keys must |
| // be |
| // lowercased, because HTTP header keys are case-insensitive. |
| Headers map[string]string `json:"headers,omitempty"` |
| |
| // Host: The HTTP request `Host` header value. |
| Host string `json:"host,omitempty"` |
| |
| // Id: The unique ID for a request, which can be propagated to |
| // downstream |
| // systems. The ID should have low probability of collision |
| // within a single day for a specific service. |
| Id string `json:"id,omitempty"` |
| |
| // Method: The HTTP request method, such as `GET`, `POST`. |
| Method string `json:"method,omitempty"` |
| |
| // Path: The HTTP URL path. |
| Path string `json:"path,omitempty"` |
| |
| // Protocol: The network protocol used with the request, such as |
| // "http/1.1", |
| // "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". |
| // See |
| // https://www.iana.org/assignments/tls-extensiontype-values/tls-exte |
| // nsiontype-values.xhtml#alpn-protocol-ids |
| // for details. |
| Protocol string `json:"protocol,omitempty"` |
| |
| // Query: The HTTP URL query in the format of |
| // `name1=value1&name2=value2`, as it |
| // appears in the first line of the HTTP request. No decoding is |
| // performed. |
| Query string `json:"query,omitempty"` |
| |
| // Reason: A special parameter for request reason. It is used by |
| // security systems |
| // to associate auditing information with a request. |
| Reason string `json:"reason,omitempty"` |
| |
| // Scheme: The HTTP URL scheme, such as `http` and `https`. |
| Scheme string `json:"scheme,omitempty"` |
| |
| // Size: The HTTP request size in bytes. If unknown, it must be -1. |
| Size int64 `json:"size,omitempty,string"` |
| |
| // Time: The timestamp when the `destination` service receives the first |
| // byte of |
| // the request. |
| Time string `json:"time,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Auth") 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. "Auth") 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 *Request) MarshalJSON() ([]byte, error) { |
| type NoMethod Request |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // RequestMetadata: Metadata about the request. |
| type RequestMetadata struct { |
| // CallerIp: The IP address of the caller. |
| // For caller from internet, this will be public IPv4 or IPv6 |
| // address. |
| // For caller from a Compute Engine VM with external IP address, |
| // this |
| // will be the VM's external IP address. For caller from a |
| // Compute |
| // Engine VM without external IP address, if the VM is in the |
| // same |
| // organization (or project) as the accessed resource, `caller_ip` |
| // will |
| // be the VM's internal IPv4 address, otherwise the `caller_ip` will |
| // be |
| // redacted to "gce-internal-ip". |
| // See https://cloud.google.com/compute/docs/vpc/ for more information. |
| CallerIp string `json:"callerIp,omitempty"` |
| |
| // CallerNetwork: The network of the caller. |
| // Set only if the network host project is part of the same GCP |
| // organization |
| // (or project) as the accessed resource. |
| // See https://cloud.google.com/compute/docs/vpc/ for more |
| // information. |
| // This is a scheme-less URI full resource name. For example: |
| // |
| // |
| // "//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ |
| // ID" |
| CallerNetwork string `json:"callerNetwork,omitempty"` |
| |
| // CallerSuppliedUserAgent: The user agent of the caller. |
| // This information is not authenticated and should be treated |
| // accordingly. |
| // For example: |
| // |
| // + `google-api-python-client/1.4.0`: |
| // The request was made by the Google API client for Python. |
| // + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`: |
| // The request was made by the Google Cloud SDK CLI (gcloud). |
| // + `AppEngine-Google; (+http://code.google.com/appengine; |
| // appid: |
| // s~my-project`: |
| // The request was made from the `my-project` App Engine app. |
| // NOLINT |
| CallerSuppliedUserAgent string `json:"callerSuppliedUserAgent,omitempty"` |
| |
| // DestinationAttributes: The destination of a network activity, such as |
| // accepting a TCP connection. |
| // In a multi hop network activity, the destination represents the |
| // receiver of |
| // the last hop. Only two fields are used in this message, Peer.port |
| // and |
| // Peer.ip. These fields are optionally populated by those services |
| // utilizing |
| // the IAM condition feature. |
| DestinationAttributes *Peer `json:"destinationAttributes,omitempty"` |
| |
| // RequestAttributes: Request attributes used in IAM condition |
| // evaluation. This field contains |
| // request attributes like request time and access levels associated |
| // with |
| // the request. |
| // |
| // |
| // To get the whole view of the attributes used in IAM |
| // condition evaluation, the user must also look |
| // into |
| // `AuditLog.authentication_info.resource_attributes`. |
| RequestAttributes *Request `json:"requestAttributes,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CallerIp") 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. "CallerIp") 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 *RequestMetadata) MarshalJSON() ([]byte, error) { |
| type NoMethod RequestMetadata |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Resource: This message defines core attributes for a resource. A |
| // resource is an |
| // addressable (named) entity provided by the destination service. |
| // For |
| // example, a file stored on a network storage service. |
| type Resource struct { |
| // Labels: The labels or tags on the resource, such as AWS resource tags |
| // and |
| // Kubernetes resource labels. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // Name: The stable identifier (name) of a resource on the `service`. A |
| // resource |
| // can be logically identified as |
| // "//{resource.service}/{resource.name}". |
| // The differences between a resource name and a URI are: |
| // |
| // * Resource name is a logical identifier, independent of network |
| // protocol and API version. For example, |
| // `//pubsub.googleapis.com/projects/123/topics/news-feed`. |
| // * URI often includes protocol and version information, so it can |
| // be used directly by applications. For example, |
| // |
| // `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`. |
| // |
| // See |
| // https://cloud.google.com/apis/design/resource_names for details. |
| Name string `json:"name,omitempty"` |
| |
| // Service: The name of the service that this resource belongs to, such |
| // as |
| // `pubsub.googleapis.com`. The service may be different from the |
| // DNS |
| // hostname that actually serves the request. |
| Service string `json:"service,omitempty"` |
| |
| // Type: The type of the resource. The syntax is platform-specific |
| // because |
| // different platforms define their resources differently. |
| // |
| // For Google APIs, the type format must be "{service}/{kind}". |
| Type string `json:"type,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Labels") 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. "Labels") 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 *Resource) MarshalJSON() ([]byte, error) { |
| type NoMethod Resource |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ResourceInfo: Describes a resource associated with this operation. |
| type ResourceInfo struct { |
| // ResourceContainer: The identifier of the parent of this resource |
| // instance. |
| // Must be in one of the following formats: |
| // - “projects/<project-id or project-number>” |
| // - “folders/<folder-id>” |
| // - “organizations/<organization-id>” |
| ResourceContainer string `json:"resourceContainer,omitempty"` |
| |
| // ResourceLocation: The location of the resource. If not empty, the |
| // resource will be checked |
| // against location policy. The value must be a valid zone, region |
| // or |
| // multiregion. For example: "europe-west4" or |
| // "northamerica-northeast1-a" |
| ResourceLocation string `json:"resourceLocation,omitempty"` |
| |
| // ResourceName: Name of the resource. This is used for auditing |
| // purposes. |
| ResourceName string `json:"resourceName,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ResourceContainer") |
| // 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. "ResourceContainer") 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 *ResourceInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ResourceInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ResourceLocation: Location information about a resource. |
| type ResourceLocation struct { |
| // CurrentLocations: The locations of a resource after the execution of |
| // the operation. |
| // Requests to create or delete a location based resource must |
| // populate |
| // the 'current_locations' field and not the 'original_locations' |
| // field. |
| // For example: |
| // |
| // "europe-west1-a" |
| // "us-east1" |
| // "nam3" |
| CurrentLocations []string `json:"currentLocations,omitempty"` |
| |
| // OriginalLocations: The locations of a resource prior to the execution |
| // of the operation. |
| // Requests that mutate the resource's location must populate both |
| // the |
| // 'original_locations' as well as the 'current_locations' fields. |
| // For example: |
| // |
| // "europe-west1-a" |
| // "us-east1" |
| // "nam3" |
| OriginalLocations []string `json:"originalLocations,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CurrentLocations") 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. "CurrentLocations") 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 *ResourceLocation) MarshalJSON() ([]byte, error) { |
| type NoMethod ResourceLocation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ServiceAccountDelegationInfo: Identity delegation history of an |
| // authenticated service account. |
| type ServiceAccountDelegationInfo struct { |
| // FirstPartyPrincipal: First party (Google) identity as the real |
| // authority. |
| FirstPartyPrincipal *FirstPartyPrincipal `json:"firstPartyPrincipal,omitempty"` |
| |
| // ThirdPartyPrincipal: Third party identity as the real authority. |
| ThirdPartyPrincipal *ThirdPartyPrincipal `json:"thirdPartyPrincipal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "FirstPartyPrincipal") |
| // 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. "FirstPartyPrincipal") 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 *ServiceAccountDelegationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ServiceAccountDelegationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SpanContext: The context of a span, attached to |
| // Exemplars |
| // in Distribution values during aggregation. |
| // |
| // It contains the name of a span with format: |
| // |
| // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] |
| type SpanContext struct { |
| // SpanName: The resource name of the span. The format is: |
| // |
| // |
| // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] |
| // |
| // `[T |
| // RACE_ID]` is a unique identifier for a trace within a project; |
| // it is a 32-character hexadecimal encoding of a 16-byte |
| // array. |
| // |
| // `[SPAN_ID]` is a unique identifier for a span within a trace; it |
| // is a 16-character hexadecimal encoding of an 8-byte array. |
| SpanName string `json:"spanName,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "SpanName") 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. "SpanName") 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 *SpanContext) MarshalJSON() ([]byte, error) { |
| type NoMethod SpanContext |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Status: The `Status` type defines a logical error model that is |
| // suitable for |
| // different programming environments, including REST APIs and RPC APIs. |
| // It is |
| // used by [gRPC](https://github.com/grpc). Each `Status` message |
| // contains |
| // three pieces of data: error code, error message, and error |
| // details. |
| // |
| // You can find out more about this error model and how to work with it |
| // in the |
| // [API Design Guide](https://cloud.google.com/apis/design/errors). |
| type Status struct { |
| // Code: The status code, which should be an enum value of |
| // google.rpc.Code. |
| Code int64 `json:"code,omitempty"` |
| |
| // Details: A list of messages that carry the error details. There is a |
| // common set of |
| // message types for APIs to use. |
| Details []googleapi.RawMessage `json:"details,omitempty"` |
| |
| // Message: A developer-facing error message, which should be in |
| // English. Any |
| // user-facing error message should be localized and sent in |
| // the |
| // google.rpc.Status.details field, or localized by the client. |
| Message string `json:"message,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Status) MarshalJSON() ([]byte, error) { |
| type NoMethod Status |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ThirdPartyPrincipal: Third party identity principal. |
| type ThirdPartyPrincipal struct { |
| // ThirdPartyClaims: Metadata about third party identity. |
| ThirdPartyClaims googleapi.RawMessage `json:"thirdPartyClaims,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ThirdPartyClaims") 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. "ThirdPartyClaims") 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 *ThirdPartyPrincipal) MarshalJSON() ([]byte, error) { |
| type NoMethod ThirdPartyPrincipal |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // TraceSpan: A span represents a single operation within a trace. Spans |
| // can be |
| // nested to form a trace tree. Often, a trace contains a root span |
| // that describes the end-to-end latency, and one or more subspans |
| // for |
| // its sub-operations. A trace can also contain multiple root spans, |
| // or none at all. Spans do not need to be contiguous—there may |
| // be |
| // gaps or overlaps between spans in a trace. |
| type TraceSpan struct { |
| // Attributes: A set of attributes on the span. You can have up to 32 |
| // attributes per |
| // span. |
| Attributes *Attributes `json:"attributes,omitempty"` |
| |
| // ChildSpanCount: An optional number of child spans that were generated |
| // while this span |
| // was active. If set, allows implementation to detect missing child |
| // spans. |
| ChildSpanCount int64 `json:"childSpanCount,omitempty"` |
| |
| // DisplayName: A description of the span's operation (up to 128 |
| // bytes). |
| // Stackdriver Trace displays the description in the |
| // Google Cloud Platform Console. |
| // For example, the display name can be a qualified method name or a |
| // file name |
| // and a line number where the operation is called. A best practice is |
| // to use |
| // the same display name within an application and at the same call |
| // point. |
| // This makes it easier to correlate spans in different traces. |
| DisplayName *TruncatableString `json:"displayName,omitempty"` |
| |
| // EndTime: The end time of the span. On the client side, this is the |
| // time kept by |
| // the local machine where the span execution ends. On the server side, |
| // this |
| // is the time when the server application handler stops running. |
| EndTime string `json:"endTime,omitempty"` |
| |
| // Name: The resource name of the span in the following format: |
| // |
| // projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/SPAN_ID is a unique |
| // identifier for a trace within a project; |
| // it is a 32-character hexadecimal encoding of a 16-byte |
| // array. |
| // |
| // [SPAN_ID] is a unique identifier for a span within a trace; it |
| // is a 16-character hexadecimal encoding of an 8-byte array. |
| Name string `json:"name,omitempty"` |
| |
| // ParentSpanId: The [SPAN_ID] of this span's parent span. If this is a |
| // root span, |
| // then this field must be empty. |
| ParentSpanId string `json:"parentSpanId,omitempty"` |
| |
| // SameProcessAsParentSpan: (Optional) Set this parameter to indicate |
| // whether this span is in |
| // the same process as its parent. If you do not set this |
| // parameter, |
| // Stackdriver Trace is unable to take advantage of this |
| // helpful |
| // information. |
| SameProcessAsParentSpan bool `json:"sameProcessAsParentSpan,omitempty"` |
| |
| // SpanId: The [SPAN_ID] portion of the span's resource name. |
| SpanId string `json:"spanId,omitempty"` |
| |
| // SpanKind: Distinguishes between spans generated in a particular |
| // context. For example, |
| // two spans with the same name may be distinguished using `CLIENT` |
| // (caller) |
| // and `SERVER` (callee) to identify an RPC call. |
| // |
| // Possible values: |
| // "SPAN_KIND_UNSPECIFIED" - Unspecified. Do NOT use as |
| // default. |
| // Implementations MAY assume SpanKind.INTERNAL to be default. |
| // "INTERNAL" - Indicates that the span is used internally. Default |
| // value. |
| // "SERVER" - Indicates that the span covers server-side handling of |
| // an RPC or other |
| // remote network request. |
| // "CLIENT" - Indicates that the span covers the client-side wrapper |
| // around an RPC or |
| // other remote request. |
| // "PRODUCER" - Indicates that the span describes producer sending a |
| // message to a broker. |
| // Unlike client and server, there is no direct critical path |
| // latency |
| // relationship between producer and consumer spans (e.g. publishing |
| // a |
| // message to a pubsub service). |
| // "CONSUMER" - Indicates that the span describes consumer receiving a |
| // message from a |
| // broker. Unlike client and server, there is no direct critical |
| // path |
| // latency relationship between producer and consumer spans (e.g. |
| // receiving |
| // a message from a pubsub service subscription). |
| SpanKind string `json:"spanKind,omitempty"` |
| |
| // StartTime: The start time of the span. On the client side, this is |
| // the time kept by |
| // the local machine where the span execution starts. On the server |
| // side, this |
| // is the time when the server's application handler starts running. |
| StartTime string `json:"startTime,omitempty"` |
| |
| // Status: An optional final status for this span. |
| Status *Status `json:"status,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Attributes") 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. "Attributes") 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 *TraceSpan) MarshalJSON() ([]byte, error) { |
| type NoMethod TraceSpan |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // TruncatableString: Represents a string that might be shortened to a |
| // specified length. |
| type TruncatableString struct { |
| // TruncatedByteCount: The number of bytes removed from the original |
| // string. If this |
| // value is 0, then the string was not shortened. |
| TruncatedByteCount int64 `json:"truncatedByteCount,omitempty"` |
| |
| // Value: The shortened string. For example, if the original string is |
| // 500 |
| // bytes long and the limit of the string is 128 bytes, then |
| // `value` contains the first 128 bytes of the 500-byte |
| // string. |
| // |
| // Truncation always happens on a UTF8 character boundary. If there |
| // are multi-byte characters in the string, then the length of |
| // the |
| // shortened string might be less than the size limit. |
| Value string `json:"value,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "TruncatedByteCount") |
| // 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. "TruncatedByteCount") 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 *TruncatableString) MarshalJSON() ([]byte, error) { |
| type NoMethod TruncatableString |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // method id "servicecontrol.services.allocateQuota": |
| |
| type ServicesAllocateQuotaCall struct { |
| s *Service |
| serviceName string |
| allocatequotarequest *AllocateQuotaRequest |
| urlParams_ gensupport.URLParams |
| ctx_ context.Context |
| header_ http.Header |
| } |
| |
| // AllocateQuota: Attempts to allocate quota for the specified consumer. |
| // It should be called |
| // before the operation is executed. |
| // |
| // This method requires the |
| // `servicemanagement.services.quota` |
| // permission on the specified service. For more information, see |
| // [Cloud IAM](https://cloud.google.com/iam). |
| // |
| // **NOTE:** The client **must** fail-open on server errors |
| // `INTERNAL`, |
| // `UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure |
| // system |
| // reliability, the server may inject these errors to prohibit any |
| // hard |
| // dependency on the quota functionality. |
| func (r *ServicesService) AllocateQuota(serviceName string, allocatequotarequest *AllocateQuotaRequest) *ServicesAllocateQuotaCall { |
| c := &ServicesAllocateQuotaCall{s: r.s, urlParams_: make(gensupport.URLParams)} |
| c.serviceName = serviceName |
| c.allocatequotarequest = allocatequotarequest |
| return c |
| } |
| |
| // Fields allows partial responses to be retrieved. See |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse |
| // for more information. |
| func (c *ServicesAllocateQuotaCall) Fields(s ...googleapi.Field) *ServicesAllocateQuotaCall { |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) |
| return c |
| } |
| |
| // Context sets the context to be used in this call's Do method. Any |
| // pending HTTP request will be aborted if the provided context is |
| // canceled. |
| func (c *ServicesAllocateQuotaCall) Context(ctx context.Context) *ServicesAllocateQuotaCall { |
| c.ctx_ = ctx |
| return c |
| } |
| |
| // Header returns an http.Header that can be modified by the caller to |
| // add HTTP headers to the request. |
| func (c *ServicesAllocateQuotaCall) Header() http.Header { |
| if c.header_ == nil { |
| c.header_ = make(http.Header) |
| } |
| return c.header_ |
| } |
| |
| func (c *ServicesAllocateQuotaCall) doRequest(alt string) (*http.Response, error) { |
| reqHeaders := make(http.Header) |
| reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200708") |
| for k, v := range c.header_ { |
| reqHeaders[k] = v |
| } |
| reqHeaders.Set("User-Agent", c.s.userAgent()) |
| var body io.Reader = nil |
| body, err := googleapi.WithoutDataWrapper.JSONReader(c.allocatequotarequest) |
| if err != nil { |
| return nil, err |
| } |
| reqHeaders.Set("Content-Type", "application/json") |
| c.urlParams_.Set("alt", alt) |
| c.urlParams_.Set("prettyPrint", "false") |
| urls := googleapi.ResolveRelative(c.s.BasePath, "v1/services/{serviceName}:allocateQuota") |
| urls += "?" + c.urlParams_.Encode() |
| req, err := http.NewRequest("POST", urls, body) |
| if err != nil { |
| return nil, err |
| } |
| req.Header = reqHeaders |
| googleapi.Expand(req.URL, map[string]string{ |
| "serviceName": c.serviceName, |
| }) |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) |
| } |
| |
| // Do executes the "servicecontrol.services.allocateQuota" call. |
| // Exactly one of *AllocateQuotaResponse or error will be non-nil. Any |
| // non-2xx status code is an error. Response headers are in either |
| // *AllocateQuotaResponse.ServerResponse.Header or (if a response was |
| // returned at all) in error.(*googleapi.Error).Header. Use |
| // googleapi.IsNotModified to check whether the returned error was |
| // because http.StatusNotModified was returned. |
| func (c *ServicesAllocateQuotaCall) Do(opts ...googleapi.CallOption) (*AllocateQuotaResponse, error) { |
| gensupport.SetOptions(c.urlParams_, opts...) |
| res, err := c.doRequest("json") |
| if res != nil && res.StatusCode == http.StatusNotModified { |
| if res.Body != nil { |
| res.Body.Close() |
| } |
| return nil, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &AllocateQuotaResponse{ |
| ServerResponse: googleapi.ServerResponse{ |
| Header: res.Header, |
| HTTPStatusCode: res.StatusCode, |
| }, |
| } |
| target := &ret |
| if err := gensupport.DecodeResponse(target, res); err != nil { |
| return nil, err |
| } |
| return ret, nil |
| // { |
| // "description": "Attempts to allocate quota for the specified consumer. It should be called\nbefore the operation is executed.\n\nThis method requires the `servicemanagement.services.quota`\npermission on the specified service. For more information, see\n[Cloud IAM](https://cloud.google.com/iam).\n\n**NOTE:** The client **must** fail-open on server errors `INTERNAL`,\n`UNKNOWN`, `DEADLINE_EXCEEDED`, and `UNAVAILABLE`. To ensure system\nreliability, the server may inject these errors to prohibit any hard\ndependency on the quota functionality.", |
| // "flatPath": "v1/services/{serviceName}:allocateQuota", |
| // "httpMethod": "POST", |
|