summaryrefslogtreecommitdiff
path: root/vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go')
-rw-r--r--vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go2026
1 files changed, 0 insertions, 2026 deletions
diff --git a/vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go b/vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go
deleted file mode 100644
index 08d3e35..0000000
--- a/vendor/google.golang.org/api/servicecontrol/v2/servicecontrol-gen.go
+++ /dev/null
@@ -1,2026 +0,0 @@
-// Copyright 2023 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/v2"
-// ...
-// 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/v2"
-
-import (
- "bytes"
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "io"
- "net/http"
- "net/url"
- "strconv"
- "strings"
-
- googleapi "google.golang.org/api/googleapi"
- internal "google.golang.org/api/internal"
- gensupport "google.golang.org/api/internal/gensupport"
- option "google.golang.org/api/option"
- internaloption "google.golang.org/api/option/internaloption"
- htransport "google.golang.org/api/transport/http"
-)
-
-// Always reference these packages, just in case the auto-generated code
-// below doesn't.
-var _ = bytes.NewBuffer
-var _ = strconv.Itoa
-var _ = fmt.Sprintf
-var _ = json.NewDecoder
-var _ = io.Copy
-var _ = url.Parse
-var _ = gensupport.MarshalJSON
-var _ = googleapi.Version
-var _ = errors.New
-var _ = strings.Replace
-var _ = context.Canceled
-var _ = internaloption.WithDefaultEndpoint
-
-const apiId = "servicecontrol:v2"
-const apiName = "servicecontrol"
-const apiVersion = "v2"
-const basePath = "https://servicecontrol.googleapis.com/"
-const mtlsBasePath = "https://servicecontrol.mtls.googleapis.com/"
-
-// OAuth2 scopes used by this API.
-const (
- // See, edit, configure, and delete your Google Cloud data and see the
- // email address for your Google Account.
- CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
-
- // 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 := internaloption.WithDefaultScopes(
- "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
-}
-
-// Api: This message defines attributes associated with API operations,
-// such as a network API request. The terminology is based on the
-// conventions used by Google APIs, Istio, and OpenAPI.
-type Api struct {
- // Operation: The API operation name. For gRPC requests, it is the fully
- // qualified API method name, such as
- // "google.pubsub.v1.Publisher.Publish". For OpenAPI requests, it is the
- // `operationId`, such as "getPet".
- Operation string `json:"operation,omitempty"`
-
- // Protocol: The API protocol used for sending the request, such as
- // "http", "https", "grpc", or "internal".
- Protocol string `json:"protocol,omitempty"`
-
- // Service: The API service name. It is a logical identifier for a
- // networked API, such as "pubsub.googleapis.com". The naming syntax
- // depends on the API management system being used for handling the
- // request.
- Service string `json:"service,omitempty"`
-
- // Version: The API version associated with the API operation above,
- // such as "v1" or "v1alpha1".
- Version string `json:"version,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Operation") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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 *Api) MarshalJSON() ([]byte, error) {
- type NoMethod Api
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// AttributeContext: This message defines the standard attribute
-// vocabulary for Google APIs. An attribute is a piece of metadata that
-// describes an activity on a network service. For example, the size of
-// an HTTP request, or the status code of an HTTP response. Each
-// attribute has a type and a name, which is logically defined as a
-// proto message field in `AttributeContext`. The field type becomes the
-// attribute type, and the field path becomes the attribute name. For
-// example, the attribute `source.ip` maps to field
-// `AttributeContext.source.ip`. This message definition is guaranteed
-// not to have any wire breaking change. So you can use it directly for
-// passing attributes across different systems. NOTE: Different system
-// may generate different subset of attributes. Please verify the system
-// specification before relying on an attribute generated a system.
-type AttributeContext struct {
- // Api: Represents an API operation that is involved to a network
- // activity.
- Api *Api `json:"api,omitempty"`
-
- // Destination: 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.
- Destination *Peer `json:"destination,omitempty"`
-
- // Extensions: Supports extensions for advanced use cases, such as logs
- // and metrics.
- Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
-
- // Origin: The origin of a network activity. In a multi hop network
- // activity, the origin represents the sender of the first hop. For the
- // first hop, the `source` and the `origin` must have the same content.
- Origin *Peer `json:"origin,omitempty"`
-
- // Request: Represents a network request, such as an HTTP request.
- Request *Request `json:"request,omitempty"`
-
- // Resource: Represents a target resource that is involved with a
- // network activity. If multiple resources are involved with an
- // activity, this must be the primary one.
- Resource *Resource `json:"resource,omitempty"`
-
- // Response: Represents a network response, such as an HTTP response.
- Response *Response `json:"response,omitempty"`
-
- // Source: The source of a network activity, such as starting a TCP
- // connection. In a multi hop network activity, the source represents
- // the sender of the last hop.
- Source *Peer `json:"source,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Api") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "Api") 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 *AttributeContext) MarshalJSON() ([]byte, error) {
- type NoMethod AttributeContext
- 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.cloud.bigquery.v2.TableService.InsertTable"
- // "google.logging.v2.ConfigServiceV2.CreateSink"
- 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"`
-
- // PolicyViolationInfo: Indicates the policy violations for this
- // request. If the request is denied by the policy, violation
- // information will be logged here.
- PolicyViolationInfo *PolicyViolationInfo `json:"policyViolationInfo,omitempty"`
-
- // 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:
- // "projects/PROJECT_ID/zones/us-central1-a/instances"
- // "projects/PROJECT_ID/datasets/DATASET_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 the `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, "compute.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 or default 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_n
- // ame}" Example:
- // "//accesscontextmanager.googleapis.com/accessPolicies/MY_POLICY_ID/acc
- // essLevels/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 or default 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 third party identity callers, the `principal_subject`
- // field is populated instead of this field. For privacy reasons, the
- // principal email address is sometimes redacted. For more information,
- // see Caller identities in audit logs
- // (https://cloud.google.com/logging/docs/audit#user-id).
- 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 or default 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 or cloud
- // resource string. For example:
- // bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID or
- // 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 or default 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)
-}
-
-// CheckRequest: Request message for the Check method.
-type CheckRequest struct {
- // Attributes: Describes attributes about the operation being executed
- // by the service.
- Attributes *AttributeContext `json:"attributes,omitempty"`
-
- // Flags: Optional. Contains a comma-separated list of flags.
- Flags string `json:"flags,omitempty"`
-
- // Resources: Describes the resources and the policies applied to each
- // resource.
- Resources []*ResourceInfo `json:"resources,omitempty"`
-
- // ServiceConfigId: Specifies the version of the service configuration
- // that should be used to process the request. Must not be empty. Set
- // this field to 'latest' to specify using the latest configuration.
- ServiceConfigId string `json:"serviceConfigId,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Attributes") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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 *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 {
- // Headers: Returns a set of request contexts generated from the
- // `CheckRequest`.
- Headers map[string]string `json:"headers,omitempty"`
-
- // Status: Operation is allowed when this field is not set. Any non-'OK'
- // status indicates a denial; google.rpc.Status.details would contain
- // additional details about the denial.
- Status *Status `json:"status,omitempty"`
-
- // ServerResponse contains the HTTP response code and headers from the
- // server.
- googleapi.ServerResponse `json:"-"`
-
- // ForceSendFields is a list of field names (e.g. "Headers") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "Headers") 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)
-}
-
-// 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 or default 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)
-}
-
-// OrgPolicyViolationInfo: Represents OrgPolicy Violation information.
-type OrgPolicyViolationInfo struct {
- // Payload: Optional. Resource payload that is currently in scope and is
- // subjected to orgpolicy conditions. This payload may be the subset of
- // the actual Resource that may come in the request. This payload should
- // not contain any core content.
- Payload googleapi.RawMessage `json:"payload,omitempty"`
-
- // ResourceTags: Optional. Tags referenced on the resource at the time
- // of evaluation. These also include the federated tags, if they are
- // supplied in the CheckOrgPolicy or CheckCustomConstraints Requests.
- // Optional field as of now. These tags are the Cloud tags that are
- // available on the resource during the policy evaluation and will be
- // available as part of the OrgPolicy check response for logging
- // purposes.
- ResourceTags map[string]string `json:"resourceTags,omitempty"`
-
- // ResourceType: Optional. Resource type that the orgpolicy is checked
- // against. Example: compute.googleapis.com/Instance,
- // store.googleapis.com/bucket
- ResourceType string `json:"resourceType,omitempty"`
-
- // ViolationInfo: Optional. Policy violations
- ViolationInfo []*ViolationInfo `json:"violationInfo,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Payload") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "Payload") 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 *OrgPolicyViolationInfo) MarshalJSON() ([]byte, error) {
- type NoMethod OrgPolicyViolationInfo
- 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 identity associated with a load balancer
- // that forwarded 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 or default 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)
-}
-
-// PolicyViolationInfo: Information related to policy violations for
-// this request.
-type PolicyViolationInfo struct {
- // OrgPolicyViolationInfo: Indicates the orgpolicy violations for this
- // resource.
- OrgPolicyViolationInfo *OrgPolicyViolationInfo `json:"orgPolicyViolationInfo,omitempty"`
-
- // ForceSendFields is a list of field names (e.g.
- // "OrgPolicyViolationInfo") to unconditionally include in API requests.
- // By default, fields with empty or default 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. "OrgPolicyViolationInfo")
- // 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 *PolicyViolationInfo) MarshalJSON() ([]byte, error) {
- type NoMethod PolicyViolationInfo
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// ReportRequest: Request message for the Report method.
-type ReportRequest struct {
- // Operations: Describes the list of operations to be reported. Each
- // operation is represented as an AttributeContext, and contains all
- // attributes around an API access.
- Operations []*AttributeContext `json:"operations,omitempty"`
-
- // ServiceConfigId: Specifies the version of the service configuration
- // that should be used to process the request. Must not be empty. Set
- // this field to 'latest' to specify using the latest configuration.
- 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 or default 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. If the
-// request contains any invalid data, the server returns an RPC error.
-type ReportResponse struct {
- // ServerResponse contains the HTTP response code and headers from the
- // server.
- googleapi.ServerResponse `json:"-"`
-}
-
-// 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, excluding the query parameters.
- 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-extensiontype-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 last
- // 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 or default 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 a caller from the
- // internet, this will be the public IPv4 or IPv6 address. For calls
- // made from inside Google's internal production network from one GCP
- // service to another, `caller_ip` will be redacted to "private". For a
- // caller from a Compute Engine VM with a external IP address,
- // `caller_ip` will be the VM's external IP address. For a caller from a
- // Compute Engine VM without a 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 `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.
- 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 or default 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 {
- // Annotations: Annotations is an unstructured key-value map stored with
- // a resource that may be set by external tools to store and retrieve
- // arbitrary metadata. They are not queryable and should be preserved
- // when modifying objects. More info:
- // https://kubernetes.io/docs/user-guide/annotations
- Annotations map[string]string `json:"annotations,omitempty"`
-
- // CreateTime: Output only. The timestamp when the resource was created.
- // This may be either the time creation was initiated or when it was
- // completed.
- CreateTime string `json:"createTime,omitempty"`
-
- // DeleteTime: Output only. The timestamp when the resource was deleted.
- // If the resource is not deleted, this must be empty.
- DeleteTime string `json:"deleteTime,omitempty"`
-
- // DisplayName: Mutable. The display name set by clients. Must be <= 63
- // characters.
- DisplayName string `json:"displayName,omitempty"`
-
- // Etag: Output only. An opaque value that uniquely identifies a version
- // or generation of a resource. It can be used to confirm that the
- // client and server agree on the ordering of a resource being written.
- Etag string `json:"etag,omitempty"`
-
- // Labels: The labels or tags on the resource, such as AWS resource tags
- // and Kubernetes resource labels.
- Labels map[string]string `json:"labels,omitempty"`
-
- // Location: Immutable. The location of the resource. The location
- // encoding is specific to the service provider, and new encoding may be
- // introduced as the service evolves. For Google Cloud products, the
- // encoding is what is used by Google Cloud APIs, such as `us-east1`,
- // `aws-us-east-1`, and `azure-eastus2`. The semantics of `location` is
- // identical to the `cloud.googleapis.com/location` label used by some
- // Google Cloud APIs.
- Location string `json:"location,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}", such as
- // "pubsub.googleapis.com/Topic".
- Type string `json:"type,omitempty"`
-
- // Uid: The unique identifier of the resource. UID is unique in the time
- // and space for this resource within the scope of the service. It is
- // typically generated by the server on successful creation of a
- // resource and must not be changed. UID is used to uniquely identify
- // resources with resource name reuses. This should be a UUID4.
- Uid string `json:"uid,omitempty"`
-
- // UpdateTime: Output only. The timestamp when the resource was last
- // updated. Any change to the resource made by users must refresh this
- // value. Changes to a resource made by the service should refresh this
- // value.
- UpdateTime string `json:"updateTime,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Annotations") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "Annotations") 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 referenced in the request.
-type ResourceInfo struct {
- // Container: Optional. The identifier of the container of this
- // resource. For Google Cloud APIs, the resource container must be one
- // of the following formats: - `projects/` - `folders/` -
- // `organizations/` For the policy enforcement on the container level
- // (VPCSC and Location Policy check), this field takes precedence on the
- // container extracted from name when presents.
- Container string `json:"container,omitempty"`
-
- // Location: Optional. The location of the resource. The value must be a
- // valid zone, region or multiregion. For example: "europe-west4" or
- // "northamerica-northeast1-a"
- Location string `json:"location,omitempty"`
-
- // Name: The name of the resource referenced in the request.
- Name string `json:"name,omitempty"`
-
- // Permission: The resource permission needed for this request. The
- // format must be "{service}/{plural}.{verb}".
- Permission string `json:"permission,omitempty"`
-
- // Type: The resource type in the format of "{service}/{kind}".
- Type string `json:"type,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "Container") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "Container") 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 or default 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)
-}
-
-// Response: This message defines attributes for a typical network
-// response. It generally models semantics of an HTTP response.
-type Response struct {
- // BackendLatency: The amount of time it takes the backend service to
- // fully respond to a request. Measured from when the destination
- // service starts to send the request to the backend until when the
- // destination service receives the complete response from the backend.
- BackendLatency string `json:"backendLatency,omitempty"`
-
- // Code: The HTTP response status code, such as `200` and `404`.
- Code int64 `json:"code,omitempty,string"`
-
- // Headers: The HTTP response headers. If multiple headers share the
- // same key, they must be merged according to HTTP spec. All header keys
- // must be lowercased, because HTTP header keys are case-insensitive.
- Headers map[string]string `json:"headers,omitempty"`
-
- // Size: The HTTP response size in bytes. If unknown, it must be -1.
- Size int64 `json:"size,omitempty,string"`
-
- // Time: The timestamp when the `destination` service sends the last
- // byte of the response.
- Time string `json:"time,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "BackendLatency") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "BackendLatency") 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 *Response) MarshalJSON() ([]byte, error) {
- type NoMethod Response
- 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"`
-
- // PrincipalSubject: A string representing the principal_subject
- // associated with the identity. For most identities, the format will be
- // `principal://iam.googleapis.com/{identity pool
- // name}/subject/{subject)` except for some GKE identities
- // (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the
- // legacy format `serviceAccount:{identity pool name}[{subject}]`
- PrincipalSubject string `json:"principalSubject,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 or default 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. This is attached to an Exemplar
-// 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]
- // `[TRACE_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 or default 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 or default 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 or default 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)
-}
-
-// V2HttpRequest: 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 V2HttpRequest 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.html).
- 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 or default 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 *V2HttpRequest) MarshalJSON() ([]byte, error) {
- type NoMethod V2HttpRequest
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// V2LogEntry: An individual log entry.
-type V2LogEntry struct {
- // HttpRequest: Optional. Information about the HTTP request associated
- // with this log entry, if applicable.
- HttpRequest *V2HttpRequest `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"`
-
- // MonitoredResourceLabels: A set of user-defined (key, value) data that
- // provides additional information about the moniotored resource that
- // the log entry belongs to.
- MonitoredResourceLabels map[string]string `json:"monitoredResourceLabels,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 *V2LogEntryOperation `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 *V2LogEntrySourceLocation `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/06796866738c859f2f19b7cfb3214824`
- 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 or default 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 *V2LogEntry) MarshalJSON() ([]byte, error) {
- type NoMethod V2LogEntry
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// V2LogEntryOperation: Additional information about a potentially
-// long-running operation with which a log entry is associated.
-type V2LogEntryOperation 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 or default 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 *V2LogEntryOperation) MarshalJSON() ([]byte, error) {
- type NoMethod V2LogEntryOperation
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// V2LogEntrySourceLocation: Additional information about the source
-// code location that produced the log entry.
-type V2LogEntrySourceLocation 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 or default 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 *V2LogEntrySourceLocation) MarshalJSON() ([]byte, error) {
- type NoMethod V2LogEntrySourceLocation
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// ViolationInfo: Provides information about the Policy violation info
-// for this request.
-type ViolationInfo struct {
- // CheckedValue: Optional. Value that is being checked for the policy.
- // This could be in encrypted form (if pii sensitive). This field will
- // only be emitted in LIST_POLICY types
- CheckedValue string `json:"checkedValue,omitempty"`
-
- // Constraint: Optional. Constraint name
- Constraint string `json:"constraint,omitempty"`
-
- // ErrorMessage: Optional. Error message that policy is indicating.
- ErrorMessage string `json:"errorMessage,omitempty"`
-
- // PolicyType: Optional. Indicates the type of the policy.
- //
- // Possible values:
- // "POLICY_TYPE_UNSPECIFIED" - Default value. This value should not be
- // used.
- // "BOOLEAN_CONSTRAINT" - Indicates boolean policy constraint
- // "LIST_CONSTRAINT" - Indicates list policy constraint
- // "CUSTOM_CONSTRAINT" - Indicates custom policy constraint
- PolicyType string `json:"policyType,omitempty"`
-
- // ForceSendFields is a list of field names (e.g. "CheckedValue") to
- // unconditionally include in API requests. By default, fields with
- // empty or default 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. "CheckedValue") 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 *ViolationInfo) MarshalJSON() ([]byte, error) {
- type NoMethod ViolationInfo
- raw := NoMethod(*s)
- return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
-}
-
-// method id "servicecontrol.services.check":
-
-type ServicesCheckCall struct {
- s *Service
- serviceName string
- checkrequest *CheckRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Check: Private Preview. This feature is only available for approved
-// services. This method provides admission control for services that
-// are integrated with Service Infrastructure
-// (https://cloud.google.com/service-infrastructure). It checks whether
-// an operation should be allowed based on the service configuration and
-// relevant policies. It must be called before the operation is
-// executed. For more information, see Admission Control
-// (https://cloud.google.com/service-infrastructure/docs/admission-control).
-// NOTE: The admission control has an expected policy propagation delay
-// of 60s. The caller **must** not depend on the most recent policy
-// changes. NOTE: The admission control has a hard limit of 1 referenced
-// resources per call. If an operation refers to more than 1 resources,
-// the caller must call the Check method multiple times. This method
-// requires the `servicemanagement.services.check` permission on the
-// specified service. For more information, see Service Control API
-// Access Control
-// (https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
-//
-// - serviceName: The service name as specified in its service
-// configuration. For example, "pubsub.googleapis.com". See
-// google.api.Service
-// (https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
-// for the definition of a service name.
-func (r *ServicesService) Check(serviceName string, checkrequest *CheckRequest) *ServicesCheckCall {
- c := &ServicesCheckCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.serviceName = serviceName
- c.checkrequest = checkrequest
- 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 *ServicesCheckCall) Fields(s ...googleapi.Field) *ServicesCheckCall {
- 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 *ServicesCheckCall) Context(ctx context.Context) *ServicesCheckCall {
- 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 *ServicesCheckCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *ServicesCheckCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
- 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.checkrequest)
- 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, "v2/services/{serviceName}:check")
- 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.check" call.
-// Exactly one of *CheckResponse or error will be non-nil. Any non-2xx
-// status code is an error. Response headers are in either
-// *CheckResponse.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 *ServicesCheckCall) Do(opts ...googleapi.CallOption) (*CheckResponse, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &CheckResponse{
- 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": "Private Preview. This feature is only available for approved services. This method provides admission control for services that are integrated with [Service Infrastructure](https://cloud.google.com/service-infrastructure). It checks whether an operation should be allowed based on the service configuration and relevant policies. It must be called before the operation is executed. For more information, see [Admission Control](https://cloud.google.com/service-infrastructure/docs/admission-control). NOTE: The admission control has an expected policy propagation delay of 60s. The caller **must** not depend on the most recent policy changes. NOTE: The admission control has a hard limit of 1 referenced resources per call. If an operation refers to more than 1 resources, the caller must call the Check method multiple times. This method requires the `servicemanagement.services.check` permission on the specified service. For more information, see [Service Control API Access Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).",
- // "flatPath": "v2/services/{serviceName}:check",
- // "httpMethod": "POST",
- // "id": "servicecontrol.services.check",
- // "parameterOrder": [
- // "serviceName"
- // ],
- // "parameters": {
- // "serviceName": {
- // "description": "The service name as specified in its service configuration. For example, `\"pubsub.googleapis.com\"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name.",
- // "location": "path",
- // "required": true,
- // "type": "string"
- // }
- // },
- // "path": "v2/services/{serviceName}:check",
- // "request": {
- // "$ref": "CheckRequest"
- // },
- // "response": {
- // "$ref": "CheckResponse"
- // },
- // "scopes": [
- // "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/servicecontrol"
- // ]
- // }
-
-}
-
-// method id "servicecontrol.services.report":
-
-type ServicesReportCall struct {
- s *Service
- serviceName string
- reportrequest *ReportRequest
- urlParams_ gensupport.URLParams
- ctx_ context.Context
- header_ http.Header
-}
-
-// Report: Private Preview. This feature is only available for approved
-// services. This method provides telemetry reporting for services that
-// are integrated with Service Infrastructure
-// (https://cloud.google.com/service-infrastructure). It reports a list
-// of operations that have occurred on a service. It must be called
-// after the operations have been executed. For more information, see
-// Telemetry Reporting
-// (https://cloud.google.com/service-infrastructure/docs/telemetry-reporting).
-// NOTE: The telemetry reporting has a hard limit of 1000 operations and
-// 1MB per Report call. It is recommended to have no more than 100
-// operations per call. This method requires the
-// `servicemanagement.services.report` permission on the specified
-// service. For more information, see Service Control API Access Control
-// (https://cloud.google.com/service-infrastructure/docs/service-control/access-control).
-//
-// - serviceName: The service name as specified in its service
-// configuration. For example, "pubsub.googleapis.com". See
-// google.api.Service
-// (https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)
-// for the definition of a service name.
-func (r *ServicesService) Report(serviceName string, reportrequest *ReportRequest) *ServicesReportCall {
- c := &ServicesReportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
- c.serviceName = serviceName
- c.reportrequest = reportrequest
- 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 *ServicesReportCall) Fields(s ...googleapi.Field) *ServicesReportCall {
- 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 *ServicesReportCall) Context(ctx context.Context) *ServicesReportCall {
- 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 *ServicesReportCall) Header() http.Header {
- if c.header_ == nil {
- c.header_ = make(http.Header)
- }
- return c.header_
-}
-
-func (c *ServicesReportCall) doRequest(alt string) (*http.Response, error) {
- reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
- 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.reportrequest)
- 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, "v2/services/{serviceName}:report")
- 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.report" call.
-// Exactly one of *ReportResponse or error will be non-nil. Any non-2xx
-// status code is an error. Response headers are in either
-// *ReportResponse.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 *ServicesReportCall) Do(opts ...googleapi.CallOption) (*ReportResponse, error) {
- gensupport.SetOptions(c.urlParams_, opts...)
- res, err := c.doRequest("json")
- if res != nil && res.StatusCode == http.StatusNotModified {
- if res.Body != nil {
- res.Body.Close()
- }
- return nil, gensupport.WrapError(&googleapi.Error{
- Code: res.StatusCode,
- Header: res.Header,
- })
- }
- if err != nil {
- return nil, err
- }
- defer googleapi.CloseBody(res)
- if err := googleapi.CheckResponse(res); err != nil {
- return nil, gensupport.WrapError(err)
- }
- ret := &ReportResponse{
- 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": "Private Preview. This feature is only available for approved services. This method provides telemetry reporting for services that are integrated with [Service Infrastructure](https://cloud.google.com/service-infrastructure). It reports a list of operations that have occurred on a service. It must be called after the operations have been executed. For more information, see [Telemetry Reporting](https://cloud.google.com/service-infrastructure/docs/telemetry-reporting). NOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB per Report call. It is recommended to have no more than 100 operations per call. This method requires the `servicemanagement.services.report` permission on the specified service. For more information, see [Service Control API Access Control](https://cloud.google.com/service-infrastructure/docs/service-control/access-control).",
- // "flatPath": "v2/services/{serviceName}:report",
- // "httpMethod": "POST",
- // "id": "servicecontrol.services.report",
- // "parameterOrder": [
- // "serviceName"
- // ],
- // "parameters": {
- // "serviceName": {
- // "description": "The service name as specified in its service configuration. For example, `\"pubsub.googleapis.com\"`. See [google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service) for the definition of a service name.",
- // "location": "path",
- // "required": true,
- // "type": "string"
- // }
- // },
- // "path": "v2/services/{serviceName}:report",
- // "request": {
- // "$ref": "ReportRequest"
- // },
- // "response": {
- // "$ref": "ReportResponse"
- // },
- // "scopes": [
- // "https://www.googleapis.com/auth/cloud-platform",
- // "https://www.googleapis.com/auth/servicecontrol"
- // ]
- // }
-
-}