googleapis
Version:
Google APIs Client Library for Node.js
1,139 lines • 249 kB
TypeScript
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosResponseWithHTTP2, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace networkmanagement_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Network Management API
*
* The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.
*
* @example
* ```js
* const {google} = require('googleapis');
* const networkmanagement = google.networkmanagement('v1');
* ```
*/
export class Networkmanagement {
context: APIRequestContext;
organizations: Resource$Organizations;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Details of the final state "abort" and associated resource.
*/
export interface Schema$AbortInfo {
/**
* Causes that the analysis is aborted.
*/
cause?: string | null;
/**
* IP address that caused the abort.
*/
ipAddress?: string | null;
/**
* List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
*/
projectsMissingPermission?: string[] | null;
/**
* URI of the resource that caused the abort.
*/
resourceUri?: string | null;
}
/**
* Wrapper for the App Engine service version attributes.
*/
export interface Schema$AppEngineVersionEndpoint {
/**
* An [App Engine](https://cloud.google.com/appengine) [service version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions) name.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with an App Engine version.
*/
export interface Schema$AppEngineVersionInfo {
/**
* Name of an App Engine version.
*/
displayName?: string | null;
/**
* App Engine execution environment for a version.
*/
environment?: string | null;
/**
* Runtime of the App Engine version.
*/
runtime?: string | null;
/**
* URI of an App Engine version.
*/
uri?: string | null;
}
/**
* Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
*/
export interface Schema$AuditConfig {
/**
* The configuration for logging of each type of permission.
*/
auditLogConfigs?: Schema$AuditLogConfig[];
/**
* Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
*/
service?: string | null;
}
/**
* Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \} ] \} This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
*/
export interface Schema$AuditLogConfig {
/**
* Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
*/
exemptedMembers?: string[] | null;
/**
* The log type that this config enables.
*/
logType?: string | null;
}
/**
* Associates `members`, or principals, with a `role`.
*/
export interface Schema$Binding {
/**
* The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
condition?: Schema$Expr;
/**
* Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain\}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/group/{group_id\}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/x`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/subject/{subject_attribute_value\}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/group/{group_id\}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/attribute.{attribute_name\}/{attribute_value\}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number\}/locations/global/workloadIdentityPools/{pool_id\}/x`: All identities in a workload identity pool. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid\}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id\}/subject/{subject_attribute_value\}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
*/
members?: string[] | null;
/**
* Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
*/
role?: string | null;
}
/**
* The request message for Operations.CancelOperation.
*/
export interface Schema$CancelOperationRequest {
}
/**
* Wrapper for Cloud Function attributes.
*/
export interface Schema$CloudFunctionEndpoint {
/**
* A [Cloud Function](https://cloud.google.com/functions) name.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with a Cloud Function.
*/
export interface Schema$CloudFunctionInfo {
/**
* Name of a Cloud Function.
*/
displayName?: string | null;
/**
* Location in which the Cloud Function is deployed.
*/
location?: string | null;
/**
* URI of a Cloud Function.
*/
uri?: string | null;
/**
* Latest successfully deployed version id of the Cloud Function.
*/
versionId?: string | null;
}
/**
* Wrapper for Cloud Run revision attributes.
*/
export interface Schema$CloudRunRevisionEndpoint {
/**
* Output only. The URI of the Cloud Run service that the revision belongs to. The format is: projects/{project\}/locations/{location\}/services/{service\}
*/
serviceUri?: string | null;
/**
* A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project\}/locations/{location\}/revisions/{revision\}
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with a Cloud Run revision.
*/
export interface Schema$CloudRunRevisionInfo {
/**
* Name of a Cloud Run revision.
*/
displayName?: string | null;
/**
* Location in which this revision is deployed.
*/
location?: string | null;
/**
* URI of Cloud Run service this revision belongs to.
*/
serviceUri?: string | null;
/**
* URI of a Cloud Run revision.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with a Cloud SQL instance.
*/
export interface Schema$CloudSQLInstanceInfo {
/**
* Name of a Cloud SQL instance.
*/
displayName?: string | null;
/**
* External IP address of a Cloud SQL instance.
*/
externalIp?: string | null;
/**
* Internal IP address of a Cloud SQL instance.
*/
internalIp?: string | null;
/**
* URI of a Cloud SQL instance network or empty string if the instance does not have one.
*/
networkUri?: string | null;
/**
* Region in which the Cloud SQL instance is running.
*/
region?: string | null;
/**
* URI of a Cloud SQL instance.
*/
uri?: string | null;
}
/**
* A Connectivity Test for a network reachability analysis.
*/
export interface Schema$ConnectivityTest {
/**
* Whether the analysis should skip firewall checking. Default value is false.
*/
bypassFirewallChecks?: boolean | null;
/**
* Output only. The time the test was created.
*/
createTime?: string | null;
/**
* The user-supplied description of the Connectivity Test. Maximum of 512 characters.
*/
description?: string | null;
/**
* Required. Destination specification of the Connectivity Test. You can use a combination of destination IP address, URI of a supported endpoint, project ID, or VPC network to identify the destination location. Reachability analysis proceeds even if the destination location is ambiguous. However, the test result might include endpoints or use a destination that you don't intend to test.
*/
destination?: Schema$Endpoint;
/**
* Output only. The display name of a Connectivity Test.
*/
displayName?: string | null;
/**
* Resource labels to represent user-provided metadata.
*/
labels?: {
[key: string]: string;
} | null;
/**
* Identifier. Unique name of the resource using the form: `projects/{project_id\}/locations/global/connectivityTests/{test_id\}`
*/
name?: string | null;
/**
* Output only. The probing details of this test from the latest run, present for applicable tests only. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.
*/
probingDetails?: Schema$ProbingDetails;
/**
* IP Protocol of the test. When not provided, "TCP" is assumed.
*/
protocol?: string | null;
/**
* Output only. The reachability details of this test from the latest run. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.
*/
reachabilityDetails?: Schema$ReachabilityDetails;
/**
* Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries.
*/
relatedProjects?: string[] | null;
/**
* Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.
*/
returnReachabilityDetails?: Schema$ReachabilityDetails;
/**
* Whether run analysis for the return path from destination to source. Default value is false.
*/
roundTrip?: boolean | null;
/**
* Required. Source specification of the Connectivity Test. You can use a combination of source IP address, URI of a supported endpoint, project ID, or VPC network to identify the source location. Reachability analysis might proceed even if the source location is ambiguous. However, the test result might include endpoints or use a source that you don't intend to test.
*/
source?: Schema$Endpoint;
/**
* Output only. The time the test's configuration was updated.
*/
updateTime?: string | null;
}
/**
* Details of the final state "deliver" and associated resource.
*/
export interface Schema$DeliverInfo {
/**
* Recognized type of a Google Service the packet is delivered to (if applicable).
*/
googleServiceType?: string | null;
/**
* IP address of the target (if applicable).
*/
ipAddress?: string | null;
/**
* PSC Google API target the packet is delivered to (if applicable).
*/
pscGoogleApiTarget?: string | null;
/**
* URI of the resource that the packet is delivered to.
*/
resourceUri?: string | null;
/**
* Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
*/
storageBucket?: string | null;
/**
* Target type where the packet is delivered to.
*/
target?: string | null;
}
/**
* For display only. Metadata associated with a serverless direct VPC egress connection.
*/
export interface Schema$DirectVpcEgressConnectionInfo {
/**
* URI of direct access network.
*/
networkUri?: string | null;
/**
* Region in which the Direct VPC egress is deployed.
*/
region?: string | null;
/**
* Selected starting IP address, from the selected IP range.
*/
selectedIpAddress?: string | null;
/**
* Selected IP range.
*/
selectedIpRange?: string | null;
/**
* URI of direct access subnetwork.
*/
subnetworkUri?: string | null;
}
/**
* Details of the final state "drop" and associated resource.
*/
export interface Schema$DropInfo {
/**
* Cause that the packet is dropped.
*/
cause?: string | null;
/**
* Geolocation (region code) of the destination IP address (if relevant).
*/
destinationGeolocationCode?: string | null;
/**
* Destination IP address of the dropped packet (if relevant).
*/
destinationIp?: string | null;
/**
* Region of the dropped packet (if relevant).
*/
region?: string | null;
/**
* URI of the resource that caused the drop.
*/
resourceUri?: string | null;
/**
* Geolocation (region code) of the source IP address (if relevant).
*/
sourceGeolocationCode?: string | null;
/**
* Source IP address of the dropped packet (if relevant).
*/
sourceIp?: string | null;
}
/**
* Representation of a network edge location as per https://cloud.google.com/vpc/docs/edge-locations.
*/
export interface Schema$EdgeLocation {
/**
* Name of the metropolitan area.
*/
metropolitanArea?: string | null;
}
/**
* A configuration to generate a response for GetEffectiveVpcFlowLogsConfig request.
*/
export interface Schema$EffectiveVpcFlowLogsConfig {
/**
* The aggregation interval for the logs. Default value is INTERVAL_5_SEC.
*/
aggregationInterval?: string | null;
/**
* Determines whether to include cross project annotations in the logs. This field is available only for organization configurations. If not specified in org configs will be set to CROSS_PROJECT_METADATA_ENABLED.
*/
crossProjectMetadata?: string | null;
/**
* Export filter used to define which VPC Flow Logs should be logged.
*/
filterExpr?: string | null;
/**
* The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0.
*/
flowSampling?: number | null;
/**
* Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id\}/regions/{region\}/interconnectAttachments/{name\}
*/
interconnectAttachment?: string | null;
/**
* Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.
*/
metadata?: string | null;
/**
* Custom metadata fields to include in the reported VPC flow logs. Can only be specified if "metadata" was set to CUSTOM_METADATA.
*/
metadataFields?: string[] | null;
/**
* Unique name of the configuration. The name can have one of the following forms: - For project-level configurations: `projects/{project_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id\}` - For organization-level configurations: `organizations/{organization_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id\}` - For a Compute config, the name will be the path of the subnet: `projects/{project_id\}/regions/{region\}/subnetworks/{subnet_id\}`
*/
name?: string | null;
/**
* Traffic will be logged from VMs, VPN tunnels and Interconnect Attachments within the network. Format: projects/{project_id\}/global/networks/{name\}
*/
network?: string | null;
/**
* Specifies the scope of the config (e.g., SUBNET, NETWORK, ORGANIZATION..).
*/
scope?: string | null;
/**
* The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled. Setting state=DISABLED will pause the log generation for this config.
*/
state?: string | null;
/**
* Traffic will be logged from VMs within the subnetwork. Format: projects/{project_id\}/regions/{region\}/subnetworks/{name\}
*/
subnet?: string | null;
/**
* Traffic will be logged from the VPN Tunnel. Format: projects/{project_id\}/regions/{region\}/vpnTunnels/{name\}
*/
vpnTunnel?: string | null;
}
/**
* A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \}
*/
export interface Schema$Empty {
}
/**
* Source or destination of the Connectivity Test.
*/
export interface Schema$Endpoint {
/**
* An [App Engine](https://cloud.google.com/appengine) [service version](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions). Applicable only to source endpoint.
*/
appEngineVersion?: Schema$AppEngineVersionEndpoint;
/**
* A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint.
*/
cloudFunction?: Schema$CloudFunctionEndpoint;
/**
* A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint.
*/
cloudRunRevision?: Schema$CloudRunRevisionEndpoint;
/**
* A [Cloud SQL](https://cloud.google.com/sql) instance URI.
*/
cloudSqlInstance?: string | null;
/**
* A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project\}/global/forwardingRules/{id\}` or `projects/{project\}/regions/{region\}/forwardingRules/{id\}`
*/
forwardingRule?: string | null;
/**
* Output only. Specifies the type of the target of the forwarding rule.
*/
forwardingRuleTarget?: string | null;
/**
* DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
*/
fqdn?: string | null;
/**
* A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).
*/
gkeMasterCluster?: string | null;
/**
* A [GKE Pod](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) URI.
*/
gkePod?: string | null;
/**
* A Compute Engine instance URI.
*/
instance?: string | null;
/**
* The IP address of the endpoint, which can be an external or internal IP.
*/
ipAddress?: string | null;
/**
* Output only. ID of the load balancer the forwarding rule points to. Empty for forwarding rules not related to load balancers.
*/
loadBalancerId?: string | null;
/**
* Output only. Type of the load balancer the forwarding rule points to.
*/
loadBalancerType?: string | null;
/**
* A VPC network URI. For source endpoints, used according to the `network_type`. For destination endpoints, used only when the source is an external IP address endpoint, and the destination is an internal IP address endpoint.
*/
network?: string | null;
/**
* For source endpoints, type of the network where the endpoint is located. Not relevant for destination endpoints.
*/
networkType?: string | null;
/**
* The IP protocol port of the endpoint. Only applicable when protocol is TCP or UDP.
*/
port?: number | null;
/**
* For source endpoints, endpoint project ID. Used according to the `network_type`. Not relevant for destination endpoints.
*/
projectId?: string | null;
/**
* A [Redis Cluster](https://cloud.google.com/memorystore/docs/cluster) URI. Applicable only to destination endpoint.
*/
redisCluster?: string | null;
/**
* A [Redis Instance](https://cloud.google.com/memorystore/docs/redis) URI. Applicable only to destination endpoint.
*/
redisInstance?: string | null;
}
/**
* For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model.
*/
export interface Schema$EndpointInfo {
/**
* Destination IP address.
*/
destinationIp?: string | null;
/**
* URI of the network where this packet is sent to.
*/
destinationNetworkUri?: string | null;
/**
* Destination port. Only valid when protocol is TCP or UDP.
*/
destinationPort?: number | null;
/**
* IP protocol in string format, for example: "TCP", "UDP", "ICMP".
*/
protocol?: string | null;
/**
* URI of the source telemetry agent this packet originates from.
*/
sourceAgentUri?: string | null;
/**
* Source IP address.
*/
sourceIp?: string | null;
/**
* URI of the network where this packet originates from.
*/
sourceNetworkUri?: string | null;
/**
* Source port. Only valid when protocol is TCP or UDP.
*/
sourcePort?: number | null;
}
/**
* Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
*/
export interface Schema$Expr {
/**
* Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
*/
description?: string | null;
/**
* Textual representation of an expression in Common Expression Language syntax.
*/
expression?: string | null;
/**
* Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
*/
location?: string | null;
/**
* Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
*/
title?: string | null;
}
/**
* For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule.
*/
export interface Schema$FirewallInfo {
/**
* Possible values: ALLOW, DENY, APPLY_SECURITY_PROFILE_GROUP
*/
action?: string | null;
/**
* Possible values: INGRESS, EGRESS
*/
direction?: string | null;
/**
* The display name of the firewall rule. This field might be empty for firewall policy rules.
*/
displayName?: string | null;
/**
* The firewall rule's type.
*/
firewallRuleType?: string | null;
/**
* The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
*/
networkUri?: string | null;
/**
* The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
*/
policy?: string | null;
/**
* The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
*/
policyPriority?: number | null;
/**
* The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
*/
policyUri?: string | null;
/**
* The priority of the firewall rule.
*/
priority?: number | null;
/**
* The target service accounts specified by the firewall rule.
*/
targetServiceAccounts?: string[] | null;
/**
* The target tags defined by the VPC firewall rule. This field is not applicable to firewall policy rules.
*/
targetTags?: string[] | null;
/**
* Target type of the firewall rule.
*/
targetType?: string | null;
/**
* The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
*/
uri?: string | null;
}
/**
* Details of the final state "forward" and associated resource.
*/
export interface Schema$ForwardInfo {
/**
* IP address of the target (if applicable).
*/
ipAddress?: string | null;
/**
* URI of the resource that the packet is forwarded to.
*/
resourceUri?: string | null;
/**
* Target type where this packet is forwarded to.
*/
target?: string | null;
}
/**
* For display only. Metadata associated with a Compute Engine forwarding rule.
*/
export interface Schema$ForwardingRuleInfo {
/**
* Name of the forwarding rule.
*/
displayName?: string | null;
/**
* Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
*/
loadBalancerName?: string | null;
/**
* Port range defined in the forwarding rule that matches the packet.
*/
matchedPortRange?: string | null;
/**
* Protocol defined in the forwarding rule that matches the packet.
*/
matchedProtocol?: string | null;
/**
* Network URI.
*/
networkUri?: string | null;
/**
* PSC Google API target this forwarding rule targets (if applicable).
*/
pscGoogleApiTarget?: string | null;
/**
* URI of the PSC service attachment this forwarding rule targets (if applicable).
*/
pscServiceAttachmentUri?: string | null;
/**
* Region of the forwarding rule. Set only for regional forwarding rules.
*/
region?: string | null;
/**
* Target type of the forwarding rule.
*/
target?: string | null;
/**
* URI of the forwarding rule.
*/
uri?: string | null;
/**
* VIP of the forwarding rule.
*/
vip?: string | null;
}
/**
* For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master.
*/
export interface Schema$GKEMasterInfo {
/**
* URI of a GKE cluster network.
*/
clusterNetworkUri?: string | null;
/**
* URI of a GKE cluster.
*/
clusterUri?: string | null;
/**
* DNS endpoint of a GKE cluster control plane.
*/
dnsEndpoint?: string | null;
/**
* External IP address of a GKE cluster control plane.
*/
externalIp?: string | null;
/**
* Internal IP address of a GKE cluster control plane.
*/
internalIp?: string | null;
}
/**
* For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod.
*/
export interface Schema$GkePodInfo {
/**
* IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
*/
ipAddress?: string | null;
/**
* URI of the network containing the GKE Pod.
*/
networkUri?: string | null;
/**
* URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project\}/locations/{location\}/clusters/{cluster\}/k8s/namespaces/{namespace\}/pods/{pod\}` For Pods in zonal Clusters, the URI format is: `projects/{project\}/zones/{zone\}/clusters/{cluster\}/k8s/namespaces/{namespace\}/pods/{pod\}`
*/
podUri?: string | null;
}
/**
* For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths
*/
export interface Schema$GoogleServiceInfo {
/**
* Recognized type of a Google Service.
*/
googleServiceType?: string | null;
/**
* Source IP address.
*/
sourceIp?: string | null;
}
/**
* For display only. Metadata associated with a hybrid subnet.
*/
export interface Schema$HybridSubnetInfo {
/**
* Name of a hybrid subnet.
*/
displayName?: string | null;
/**
* Name of a Google Cloud region where the hybrid subnet is configured.
*/
region?: string | null;
/**
* URI of a hybrid subnet.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with a Compute Engine instance.
*/
export interface Schema$InstanceInfo {
/**
* Name of a Compute Engine instance.
*/
displayName?: string | null;
/**
* External IP address of the network interface.
*/
externalIp?: string | null;
/**
* Name of the network interface of a Compute Engine instance.
*/
interface?: string | null;
/**
* Internal IP address of the network interface.
*/
internalIp?: string | null;
/**
* Network tags configured on the instance.
*/
networkTags?: string[] | null;
/**
* URI of a Compute Engine network.
*/
networkUri?: string | null;
/**
* URI of the PSC network attachment the NIC is attached to (if relevant).
*/
pscNetworkAttachmentUri?: string | null;
/**
* Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
*/
running?: boolean | null;
/**
* Service account authorized for the instance.
*/
serviceAccount?: string | null;
/**
* The status of the instance.
*/
status?: string | null;
/**
* URI of a Compute Engine instance.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with an Interconnect attachment.
*/
export interface Schema$InterconnectAttachmentInfo {
/**
* URI of the Cloud Router to be used for dynamic routing.
*/
cloudRouterUri?: string | null;
/**
* Name of an Interconnect attachment.
*/
displayName?: string | null;
/**
* URI of the Interconnect where the Interconnect attachment is configured.
*/
interconnectUri?: string | null;
/**
* Appliance IP address that was matched for L2_DEDICATED attachments.
*/
l2AttachmentMatchedIpAddress?: string | null;
/**
* Name of a Google Cloud region where the Interconnect attachment is configured.
*/
region?: string | null;
/**
* The type of interconnect attachment this is.
*/
type?: string | null;
/**
* URI of an Interconnect attachment.
*/
uri?: string | null;
}
/**
* For display only. Contains information about why IP masquerading was skipped for the packet.
*/
export interface Schema$IpMasqueradingSkippedInfo {
/**
* The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
*/
nonMasqueradeRange?: string | null;
/**
* Reason why IP masquerading was not applied.
*/
reason?: string | null;
}
/**
* Describes measured latency distribution.
*/
export interface Schema$LatencyDistribution {
/**
* Representative latency percentiles.
*/
latencyPercentiles?: Schema$LatencyPercentile[];
}
/**
* Latency percentile rank and value.
*/
export interface Schema$LatencyPercentile {
/**
* percent-th percentile of latency observed, in microseconds. Fraction of percent/100 of samples have latency lower or equal to the value of this field.
*/
latencyMicros?: string | null;
/**
* Percentage of samples this data point applies to.
*/
percent?: number | null;
}
/**
* Response for the `ListConnectivityTests` method.
*/
export interface Schema$ListConnectivityTestsResponse {
/**
* Page token to fetch the next set of Connectivity Tests.
*/
nextPageToken?: string | null;
/**
* List of Connectivity Tests.
*/
resources?: Schema$ConnectivityTest[];
/**
* Locations that could not be reached (when querying all locations with `-`).
*/
unreachable?: string[] | null;
}
/**
* The response message for Locations.ListLocations.
*/
export interface Schema$ListLocationsResponse {
/**
* A list of locations that matches the specified filter in the request.
*/
locations?: Schema$Location[];
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
}
/**
* The response message for Operations.ListOperations.
*/
export interface Schema$ListOperationsResponse {
/**
* The standard List next-page token.
*/
nextPageToken?: string | null;
/**
* A list of operations that matches the specified filter in the request.
*/
operations?: Schema$Operation[];
/**
* Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
*/
unreachable?: string[] | null;
}
/**
* Response for the `ListVpcFlowLogsConfigs` method.
*/
export interface Schema$ListVpcFlowLogsConfigsResponse {
/**
* Page token to fetch the next set of configurations.
*/
nextPageToken?: string | null;
/**
* Locations that could not be reached (when querying all locations with `-`).
*/
unreachable?: string[] | null;
/**
* List of VPC Flow Log configurations.
*/
vpcFlowLogsConfigs?: Schema$VpcFlowLogsConfig[];
}
/**
* For display only. Metadata associated with a specific load balancer backend.
*/
export interface Schema$LoadBalancerBackend {
/**
* Name of a Compute Engine instance or network endpoint.
*/
displayName?: string | null;
/**
* A list of firewall rule URIs allowing probes from health check IP ranges.
*/
healthCheckAllowingFirewallRules?: string[] | null;
/**
* A list of firewall rule URIs blocking probes from health check IP ranges.
*/
healthCheckBlockingFirewallRules?: string[] | null;
/**
* State of the health check firewall configuration.
*/
healthCheckFirewallState?: string | null;
/**
* URI of a Compute Engine instance or network endpoint.
*/
uri?: string | null;
}
/**
* For display only. Metadata associated with the load balancer backend.
*/
export interface Schema$LoadBalancerBackendInfo {
/**
* URI of the backend bucket this backend targets (if applicable).
*/
backendBucketUri?: string | null;
/**
* URI of the backend service this backend belongs to (if applicable).
*/
backendServiceUri?: string | null;
/**
* Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
*/
healthCheckFirewallsConfigState?: string | null;
/**
* URI of the health check attached to this backend (if applicable).
*/
healthCheckUri?: string | null;
/**
* URI of the instance group this backend belongs to (if applicable).
*/
instanceGroupUri?: string | null;
/**
* URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
*/
instanceUri?: string | null;
/**
* Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
*/
name?: string | null;
/**
* URI of the network endpoint group this backend belongs to (if applicable).
*/
networkEndpointGroupUri?: string | null;
/**
* PSC Google API target this PSC NEG backend targets (if applicable).
*/
pscGoogleApiTarget?: string | null;
/**
* URI of the PSC service attachment this PSC NEG backend targets (if applicable).
*/
pscServiceAttachmentUri?: string | null;
}
/**
* For display only. Metadata associated with a load balancer.
*/
export interface Schema$LoadBalancerInfo {
/**
* Information for the loadbalancer backends.
*/
backends?: Schema$LoadBalancerBackend[];
/**
* Type of load balancer's backend configuration.
*/
backendType?: string | null;
/**
* Backend configuration URI.
*/
backendUri?: string | null;
/**
* URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
*/
healthCheckUri?: string | null;
/**
* Type of the load balancer.
*/
loadBalancerType?: string | null;
}
/**
* A resource that represents a Google Cloud location.
*/
export interface Schema$Location {
/**
* The friendly name for this location, typically a nearby city name. For example, "Tokyo".
*/
displayName?: string | null;
/**
* Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\}
*/
labels?: {
[key: string]: string;
} | null;
/**
* The canonical id for this location. For example: `"us-east1"`.
*/
locationId?: string | null;
/**
* Service-specific metadata. For example the available capacity at the given location.
*/
metadata?: {
[key: string]: any;
} | null;
/**
* Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"`
*/
name?: string | null;
}
/**
* For display only. Metadata associated with NAT.
*/
export interface Schema$NatInfo {
/**
* Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
*/
cloudNatGatewayType?: string | null;
/**
* The name of Cloud NAT Gateway. Only valid