| // Copyright 2020 Google LLC. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Code generated file. DO NOT EDIT. |
| |
| // Package servicecontrol provides access to the Service Control API. |
| // |
| // For product documentation, see: https://cloud.google.com/service-control/ |
| // |
| // Creating a client |
| // |
| // Usage example: |
| // |
| // import "google.golang.org/api/servicecontrol/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" |
| 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 ( |
| // View and manage your data across Google Cloud Platform services |
| CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" |
| |
| // Manage your Google Service Control data |
| ServicecontrolScope = "https://www.googleapis.com/auth/servicecontrol" |
| ) |
| |
| // NewService creates a new Service. |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { |
| scopesOption := option.WithScopes( |
| "https://www.googleapis.com/auth/cloud-platform", |
| "https://www.googleapis.com/auth/servicecontrol", |
| ) |
| // NOTE: prepend, so we don't override user-specified scopes. |
| opts = append([]option.ClientOption{scopesOption}, opts...) |
| opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) |
| opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) |
| client, endpoint, err := htransport.NewClient(ctx, opts...) |
| if err != nil { |
| return nil, err |
| } |
| s, err := New(client) |
| if err != nil { |
| return nil, err |
| } |
| if endpoint != "" { |
| s.BasePath = endpoint |
| } |
| return s, nil |
| } |
| |
| // New creates a new Service. It uses the provided http.Client for requests. |
| // |
| // Deprecated: please use NewService instead. |
| // To provide a custom HTTP client, use option.WithHTTPClient. |
| // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. |
| func New(client *http.Client) (*Service, error) { |
| if client == nil { |
| return nil, errors.New("client is nil") |
| } |
| s := &Service{client: client, BasePath: basePath} |
| s.Services = NewServicesService(s) |
| return s, nil |
| } |
| |
| type Service struct { |
| client *http.Client |
| BasePath string // API endpoint base URL |
| UserAgent string // optional additional User-Agent fragment |
| |
| Services *ServicesService |
| } |
| |
| func (s *Service) userAgent() string { |
| if s.UserAgent == "" { |
| return googleapi.UserAgent |
| } |
| return googleapi.UserAgent + " " + s.UserAgent |
| } |
| |
| func NewServicesService(s *Service) *ServicesService { |
| rs := &ServicesService{s: s} |
| return rs |
| } |
| |
| type ServicesService struct { |
| s *Service |
| } |
| |
| // 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 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 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"` |
| |
| // 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 values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "AuthenticationInfo") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *AuditLog) MarshalJSON() ([]byte, error) { |
| type NoMethod AuditLog |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Auth: This message defines request authentication attributes. |
| // Terminology is |
| // based on the JSON Web Token (JWT) standard, but the terms |
| // also |
| // correlate to concepts in other standards. |
| type Auth struct { |
| // AccessLevels: A list of access level resource names that allow |
| // resources to be |
| // accessed by authenticated requester. It is part of Secure GCP |
| // processing |
| // for the incoming request. An access level string has the |
| // format: |
| // "//{api_service_name}/accessPolicies/{policy_id}/accessLevels/ |
| // {short_name}" |
| // |
| // Example: |
| // "//accesscontextmanager.googleapis.com/accessP |
| // olicies/MY_POLICY_ID/accessLevels/MY_LEVEL" |
| AccessLevels []string `json:"accessLevels,omitempty"` |
| |
| // Audiences: The intended audience(s) for this authentication |
| // information. Reflects |
| // the audience (`aud`) claim within a JWT. The audience |
| // value(s) depends on the `issuer`, but typically include one or more |
| // of |
| // the following pieces of information: |
| // |
| // * The services intended to receive the credential. For example, |
| // ["https://pubsub.googleapis.com/", |
| // "https://storage.googleapis.com/"]. |
| // * A set of service-based scopes. For example, |
| // ["https://www.googleapis.com/auth/cloud-platform"]. |
| // * The client id of an app, such as the Firebase project id for JWTs |
| // from Firebase Auth. |
| // |
| // Consult the documentation for the credential issuer to determine |
| // the |
| // information provided. |
| Audiences []string `json:"audiences,omitempty"` |
| |
| // Claims: Structured claims presented with the credential. JWTs |
| // include |
| // `{key: value}` pairs for standard and private claims. The |
| // following |
| // is a subset of the standard required and optional claims that |
| // would |
| // typically be presented for a Google-based JWT: |
| // |
| // {'iss': 'accounts.google.com', |
| // 'sub': '113289723416554971153', |
| // 'aud': ['123456789012', 'pubsub.googleapis.com'], |
| // 'azp': '123456789012.apps.googleusercontent.com', |
| // 'email': 'jsmith@example.com', |
| // 'iat': 1353601026, |
| // 'exp': 1353604926} |
| // |
| // SAML assertions are similarly specified, but with an identity |
| // provider |
| // dependent structure. |
| Claims googleapi.RawMessage `json:"claims,omitempty"` |
| |
| // Presenter: The authorized presenter of the credential. Reflects the |
| // optional |
| // Authorized Presenter (`azp`) claim within a JWT or the |
| // OAuth client id. For example, a Google Cloud Platform client id |
| // looks |
| // as follows: "123456789012.apps.googleusercontent.com". |
| Presenter string `json:"presenter,omitempty"` |
| |
| // Principal: The authenticated principal. Reflects the issuer (`iss`) |
| // and subject |
| // (`sub`) claims within a JWT. The issuer and subject should be |
| // `/` |
| // delimited, with `/` percent-encoded within the subject fragment. |
| // For |
| // Google accounts, the principal format |
| // is: |
| // "https://accounts.google.com/{id}" |
| Principal string `json:"principal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AccessLevels") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "AccessLevels") to include |
| // in API requests with the JSON null value. By default, fields with |
| // empty values are omitted from API requests. However, any field with |
| // an empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Auth) MarshalJSON() ([]byte, error) { |
| type NoMethod Auth |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthenticationInfo: Authentication information for the operation. |
| type AuthenticationInfo struct { |
| // AuthoritySelector: The authority selector specified by the requestor, |
| // if any. |
| // It is not guaranteed that the principal was allowed to use this |
| // authority. |
| AuthoritySelector string `json:"authoritySelector,omitempty"` |
| |
| // PrincipalEmail: The email address of the authenticated user (or |
| // service account on behalf |
| // of third party principal) making the request. For privacy reasons, |
| // the |
| // principal email address is redacted for all read-only operations that |
| // fail |
| // with a "permission denied" error. |
| PrincipalEmail string `json:"principalEmail,omitempty"` |
| |
| // PrincipalSubject: String representation of identity of requesting |
| // party. |
| // Populated for both first and third party identities. |
| PrincipalSubject string `json:"principalSubject,omitempty"` |
| |
| // ServiceAccountDelegationInfo: Identity delegation history of an |
| // authenticated service account that makes |
| // the request. It contains information on the real authorities that try |
| // to |
| // access GCP resources by delegating on a service account. When |
| // multiple |
| // authorities present, they are guaranteed to be sorted based on the |
| // original |
| // ordering of the identity delegation events. |
| ServiceAccountDelegationInfo []*ServiceAccountDelegationInfo `json:"serviceAccountDelegationInfo,omitempty"` |
| |
| // ServiceAccountKeyName: The name of the service account key used to |
| // create or exchange |
| // credentials for authenticating the service account making the |
| // request. |
| // This is a scheme-less URI full resource name. For |
| // example: |
| // |
| // "//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/ |
| // {ACCOUNT}/keys/{key}" |
| ServiceAccountKeyName string `json:"serviceAccountKeyName,omitempty"` |
| |
| // ThirdPartyPrincipal: The third party identification (if any) of the |
| // authenticated user making |
| // the request. |
| // When the JSON object represented here has a proto equivalent, the |
| // proto |
| // name will be indicated in the `@type` property. |
| ThirdPartyPrincipal googleapi.RawMessage `json:"thirdPartyPrincipal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "AuthoritySelector") |
| // to unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "AuthoritySelector") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *AuthenticationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthenticationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // AuthorizationInfo: Authorization information for the operation. |
| type AuthorizationInfo struct { |
| // Granted: Whether or not authorization for `resource` and |
| // `permission` |
| // was granted. |
| Granted bool `json:"granted,omitempty"` |
| |
| // Permission: The required IAM permission. |
| Permission string `json:"permission,omitempty"` |
| |
| // Resource: The resource being accessed, as a REST-style string. For |
| // example: |
| // |
| // bigquery.googleapis.com/projects/PROJECTID/datasets/DATASETID |
| Resource string `json:"resource,omitempty"` |
| |
| // ResourceAttributes: Resource attributes used in IAM condition |
| // evaluation. This field contains |
| // resource attributes like resource type and resource name. |
| // |
| // To get the whole view of the attributes used in IAM |
| // condition evaluation, the user must also look |
| // into |
| // `AuditLog.request_metadata.request_attributes`. |
| ResourceAttributes *Resource `json:"resourceAttributes,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Granted") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Granted") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *AuthorizationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod AuthorizationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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"` |
| |
| // 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 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: An 'OK' status allows the operation. Any other 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 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 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) |
| } |
| |
| // Peer: This message defines attributes for a node that handles a |
| // network request. |
| // The node can be either a service or an application that sends, |
| // forwards, |
| // or receives the request. Service peers should fill in |
| // `principal` and `labels` as appropriate. |
| type Peer struct { |
| // Ip: The IP address of the peer. |
| Ip string `json:"ip,omitempty"` |
| |
| // Labels: The labels associated with the peer. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // Port: The network port of the peer. |
| Port int64 `json:"port,omitempty,string"` |
| |
| // Principal: The identity of this peer. Similar to |
| // `Request.auth.principal`, but |
| // relative to the peer instead of the request. For example, the |
| // idenity associated with a load balancer that forwared the request. |
| Principal string `json:"principal,omitempty"` |
| |
| // RegionCode: The CLDR country/region code associated with the above IP |
| // address. |
| // If the IP address is private, the `region_code` should reflect |
| // the |
| // physical location where this peer is running. |
| RegionCode string `json:"regionCode,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Ip") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Ip") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Peer) MarshalJSON() ([]byte, error) { |
| type NoMethod Peer |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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 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. |
| Path string `json:"path,omitempty"` |
| |
| // Protocol: The network protocol used with the request, such as |
| // "http/1.1", |
| // "spdy/3", "h2", "h2c", "webrtc", "tcp", "udp", "quic". |
| // See |
| // https://www.iana.org/assignments/tls-extensiontype-values/tls-exte |
| // nsiontype-values.xhtml#alpn-protocol-ids |
| // for details. |
| Protocol string `json:"protocol,omitempty"` |
| |
| // Query: The HTTP URL query in the format of |
| // `name1=value1&name2=value2`, as it |
| // appears in the first line of the HTTP request. No decoding is |
| // performed. |
| Query string `json:"query,omitempty"` |
| |
| // Reason: A special parameter for request reason. It is used by |
| // security systems |
| // to associate auditing information with a request. |
| Reason string `json:"reason,omitempty"` |
| |
| // Scheme: The HTTP URL scheme, such as `http` and `https`. |
| Scheme string `json:"scheme,omitempty"` |
| |
| // Size: The HTTP request size in bytes. If unknown, it must be -1. |
| Size int64 `json:"size,omitempty,string"` |
| |
| // Time: The timestamp when the `destination` service receives the first |
| // byte of |
| // the request. |
| Time string `json:"time,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Auth") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Auth") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Request) MarshalJSON() ([]byte, error) { |
| type NoMethod Request |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // RequestMetadata: Metadata about the request. |
| type RequestMetadata struct { |
| // CallerIp: The IP address of the caller. |
| // For caller from internet, this will be public IPv4 or IPv6 |
| // address. |
| // For caller from a Compute Engine VM with external IP address, |
| // this |
| // will be the VM's external IP address. For caller from a |
| // Compute |
| // Engine VM without external IP address, if the VM is in the |
| // same |
| // organization (or project) as the accessed resource, `caller_ip` |
| // will |
| // be the VM's internal IPv4 address, otherwise the `caller_ip` will |
| // be |
| // redacted to "gce-internal-ip". |
| // See https://cloud.google.com/compute/docs/vpc/ for more information. |
| CallerIp string `json:"callerIp,omitempty"` |
| |
| // CallerNetwork: The network of the caller. |
| // Set only if the network host project is part of the same GCP |
| // organization |
| // (or project) as the accessed resource. |
| // See https://cloud.google.com/compute/docs/vpc/ for more |
| // information. |
| // This is a scheme-less URI full resource name. For example: |
| // |
| // |
| // "//compute.googleapis.com/projects/PROJECT_ID/global/networks/NETWORK_ |
| // ID" |
| CallerNetwork string `json:"callerNetwork,omitempty"` |
| |
| // CallerSuppliedUserAgent: The user agent of the caller. |
| // This information is not authenticated and should be treated |
| // accordingly. |
| // For example: |
| // |
| // + `google-api-python-client/1.4.0`: |
| // The request was made by the Google API client for Python. |
| // + `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`: |
| // The request was made by the Google Cloud SDK CLI (gcloud). |
| // + `AppEngine-Google; (+http://code.google.com/appengine; |
| // appid: |
| // s~my-project`: |
| // The request was made from the `my-project` App Engine app. |
| // NOLINT |
| CallerSuppliedUserAgent string `json:"callerSuppliedUserAgent,omitempty"` |
| |
| // DestinationAttributes: The destination of a network activity, such as |
| // accepting a TCP connection. |
| // In a multi hop network activity, the destination represents the |
| // receiver of |
| // the last hop. Only two fields are used in this message, Peer.port |
| // and |
| // Peer.ip. These fields are optionally populated by those services |
| // utilizing |
| // the IAM condition feature. |
| DestinationAttributes *Peer `json:"destinationAttributes,omitempty"` |
| |
| // RequestAttributes: Request attributes used in IAM condition |
| // evaluation. This field contains |
| // request attributes like request time and access levels associated |
| // with |
| // the request. |
| // |
| // |
| // To get the whole view of the attributes used in IAM |
| // condition evaluation, the user must also look |
| // into |
| // `AuditLog.authentication_info.resource_attributes`. |
| RequestAttributes *Request `json:"requestAttributes,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CallerIp") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "CallerIp") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *RequestMetadata) MarshalJSON() ([]byte, error) { |
| type NoMethod RequestMetadata |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Resource: This message defines core attributes for a resource. A |
| // resource is an |
| // addressable (named) entity provided by the destination service. |
| // For |
| // example, a file stored on a network storage service. |
| type Resource struct { |
| // Labels: The labels or tags on the resource, such as AWS resource tags |
| // and |
| // Kubernetes resource labels. |
| Labels map[string]string `json:"labels,omitempty"` |
| |
| // Name: The stable identifier (name) of a resource on the `service`. A |
| // resource |
| // can be logically identified as |
| // "//{resource.service}/{resource.name}". |
| // The differences between a resource name and a URI are: |
| // |
| // * Resource name is a logical identifier, independent of network |
| // protocol and API version. For example, |
| // `//pubsub.googleapis.com/projects/123/topics/news-feed`. |
| // * URI often includes protocol and version information, so it can |
| // be used directly by applications. For example, |
| // |
| // `https://pubsub.googleapis.com/v1/projects/123/topics/news-feed`. |
| // |
| // See |
| // https://cloud.google.com/apis/design/resource_names for details. |
| Name string `json:"name,omitempty"` |
| |
| // Service: The name of the service that this resource belongs to, such |
| // as |
| // `pubsub.googleapis.com`. The service may be different from the |
| // DNS |
| // hostname that actually serves the request. |
| Service string `json:"service,omitempty"` |
| |
| // Type: The type of the resource. The syntax is platform-specific |
| // because |
| // different platforms define their resources differently. |
| // |
| // For Google APIs, the type format must be "{service}/{kind}". |
| Type string `json:"type,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Labels") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Labels") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Resource) MarshalJSON() ([]byte, error) { |
| type NoMethod Resource |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ResourceInfo: Describes a resource referenced in the request. |
| type ResourceInfo struct { |
| // 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. "Name") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Name") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *ResourceInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ResourceInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ResourceLocation: Location information about a resource. |
| type ResourceLocation struct { |
| // CurrentLocations: The locations of a resource after the execution of |
| // the operation. |
| // Requests to create or delete a location based resource must |
| // populate |
| // the 'current_locations' field and not the 'original_locations' |
| // field. |
| // For example: |
| // |
| // "europe-west1-a" |
| // "us-east1" |
| // "nam3" |
| CurrentLocations []string `json:"currentLocations,omitempty"` |
| |
| // OriginalLocations: The locations of a resource prior to the execution |
| // of the operation. |
| // Requests that mutate the resource's location must populate both |
| // the |
| // 'original_locations' as well as the 'current_locations' fields. |
| // For example: |
| // |
| // "europe-west1-a" |
| // "us-east1" |
| // "nam3" |
| OriginalLocations []string `json:"originalLocations,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "CurrentLocations") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "CurrentLocations") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *ResourceLocation) MarshalJSON() ([]byte, error) { |
| type NoMethod ResourceLocation |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Response: This message defines attributes for a typical network |
| // response. It |
| // generally models semantics of an HTTP response. |
| type Response struct { |
| // 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 generates the |
| // first byte of |
| // the response. |
| Time string `json:"time,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *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"` |
| |
| // ThirdPartyPrincipal: Third party identity as the real authority. |
| ThirdPartyPrincipal *ThirdPartyPrincipal `json:"thirdPartyPrincipal,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "FirstPartyPrincipal") |
| // to unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "FirstPartyPrincipal") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *ServiceAccountDelegationInfo) MarshalJSON() ([]byte, error) { |
| type NoMethod ServiceAccountDelegationInfo |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // SpanContext: The context of a span, attached to |
| // Exemplars |
| // in Distribution values during aggregation. |
| // |
| // It contains the name of a span with format: |
| // |
| // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] |
| type SpanContext struct { |
| // SpanName: The resource name of the span. The format is: |
| // |
| // |
| // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID] |
| // |
| // `[T |
| // RACE_ID]` is a unique identifier for a trace within a project; |
| // it is a 32-character hexadecimal encoding of a 16-byte |
| // array. |
| // |
| // `[SPAN_ID]` is a unique identifier for a span within a trace; it |
| // is a 16-character hexadecimal encoding of an 8-byte array. |
| SpanName string `json:"spanName,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "SpanName") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "SpanName") to include in |
| // API requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *SpanContext) MarshalJSON() ([]byte, error) { |
| type NoMethod SpanContext |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // Status: The `Status` type defines a logical error model that is |
| // suitable for |
| // different programming environments, including REST APIs and RPC APIs. |
| // It is |
| // used by [gRPC](https://github.com/grpc). Each `Status` message |
| // contains |
| // three pieces of data: error code, error message, and error |
| // details. |
| // |
| // You can find out more about this error model and how to work with it |
| // in the |
| // [API Design Guide](https://cloud.google.com/apis/design/errors). |
| type Status struct { |
| // Code: The status code, which should be an enum value of |
| // google.rpc.Code. |
| Code int64 `json:"code,omitempty"` |
| |
| // Details: A list of messages that carry the error details. There is a |
| // common set of |
| // message types for APIs to use. |
| Details []googleapi.RawMessage `json:"details,omitempty"` |
| |
| // Message: A developer-facing error message, which should be in |
| // English. Any |
| // user-facing error message should be localized and sent in |
| // the |
| // google.rpc.Status.details field, or localized by the client. |
| Message string `json:"message,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "Code") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "Code") to include in API |
| // requests with the JSON null value. By default, fields with empty |
| // values are omitted from API requests. However, any field with an |
| // empty value appearing in NullFields will be sent to the server as |
| // null. It is an error if a field in this list has a non-empty value. |
| // This may be used to include null fields in Patch requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *Status) MarshalJSON() ([]byte, error) { |
| type NoMethod Status |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // ThirdPartyPrincipal: Third party identity principal. |
| type ThirdPartyPrincipal struct { |
| // ThirdPartyClaims: Metadata about third party identity. |
| ThirdPartyClaims googleapi.RawMessage `json:"thirdPartyClaims,omitempty"` |
| |
| // ForceSendFields is a list of field names (e.g. "ThirdPartyClaims") to |
| // unconditionally include in API requests. By default, fields with |
| // empty values are omitted from API requests. However, any non-pointer, |
| // non-interface field appearing in ForceSendFields will be sent to the |
| // server regardless of whether the field is empty or not. This may be |
| // used to include empty fields in Patch requests. |
| ForceSendFields []string `json:"-"` |
| |
| // NullFields is a list of field names (e.g. "ThirdPartyClaims") to |
| // include in API requests with the JSON null value. By default, fields |
| // with empty values are omitted from API requests. However, any field |
| // with an empty value appearing in NullFields will be sent to the |
| // server as null. It is an error if a field in this list has a |
| // non-empty value. This may be used to include null fields in Patch |
| // requests. |
| NullFields []string `json:"-"` |
| } |
| |
| func (s *ThirdPartyPrincipal) MarshalJSON() ([]byte, error) { |
| type NoMethod ThirdPartyPrincipal |
| raw := NoMethod(*s) |
| return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) |
| } |
| |
| // 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](/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](/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/s |
| // ervice-control/access-control). |
| 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/20200728") |
| 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, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &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.\n\nThis method provides admission control for services that are integrated\nwith [Service Infrastructure](/service-infrastructure). It checks whether\nan operation should be allowed based on the service configuration and\nrelevant policies. It must be called before the operation is executed.\nFor more information, see\n[Admission Control](/service-infrastructure/docs/admission-control).\n\nNOTE: The admission control has an expected policy propagation delay of\n60s. The caller **must** not depend on the most recent policy changes.\n\nNOTE: The admission control has a hard limit of 1 referenced resources\nper call. If an operation refers to more than 1 resources, the caller\nmust call the Check method multiple times.\n\nThis method requires the `servicemanagement.services.check` permission\non the specified service. For more information, see\n[Service Control API Access\nControl](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,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor 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](/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](/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/s |
| // ervice-control/access-control). |
| 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/20200728") |
| 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, &googleapi.Error{ |
| Code: res.StatusCode, |
| Header: res.Header, |
| } |
| } |
| if err != nil { |
| return nil, err |
| } |
| defer googleapi.CloseBody(res) |
| if err := googleapi.CheckResponse(res); err != nil { |
| return nil, err |
| } |
| ret := &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.\n\nThis method provides telemetry reporting for services that are integrated\nwith [Service Infrastructure](/service-infrastructure). It reports a list\nof operations that have occurred on a service. It must be called after the\noperations have been executed. For more information, see\n[Telemetry Reporting](/service-infrastructure/docs/telemetry-reporting).\n\nNOTE: The telemetry reporting has a hard limit of 1000 operations and 1MB\nper Report call. It is recommended to have no more than 100 operations per\ncall.\n\nThis method requires the `servicemanagement.services.report` permission\non the specified service. For more information, see\n[Service Control API Access\nControl](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,\n`\"pubsub.googleapis.com\"`.\n\nSee\n[google.api.Service](https://cloud.google.com/service-management/reference/rpc/google.api#google.api.Service)\nfor 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" |
| // ] |
| // } |
| |
| } |