googleapis
Version:
Google APIs Client Library for Node.js
1,030 lines (1,029 loc) • 351 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. Format: * `projects/{project_id\}/global/networks/{network_id\}` (VPC network) * `projects/{project_id\}/zones/{zone\}/instances/{instance_id\}` (VM instance)
*/
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 the App Engine version. Format: `apps/{app_id\}/services/{service_id\}/versions/{version_id\}`
*/
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 the Cloud Function. Format: `projects/{project_id\}/locations/{location\}/functions/{function_id\}`
*/
uri?: string | null;
/**
* Latest successfully deployed version id of the Cloud Function.
*/
versionId?: string | null;
}
/**
* For display only. Metadata associated with a Cloud Run job.
*/
export interface Schema$CloudRunJobInfo {
/**
* Name of a Cloud Run job.
*/
displayName?: string | null;
/**
* Location in which this job is deployed.
*/
location?: string | null;
/**
* URI of the Cloud Run job. Format: `projects/{project_id\}/locations/{location\}/jobs/{job_id\}`
*/
uri?: 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. Format: `projects/{project_id\}/locations/{location\}/services/{service_id\}`
*/
serviceUri?: string | null;
/**
* URI of the Cloud Run revision. Format: `projects/{project_id\}/locations/{location\}/revisions/{revision_id\}`
*/
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. In format "projects/{project\}/global/networks/{network\}".
*/
networkUri?: string | null;
/**
* Region in which the Cloud SQL instance is running.
*/
region?: string | null;
/**
* URI of a Cloud SQL instance in format "projects/{project\}/instances/{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. For example: * `"projects/{project\}/zones/{zone\}/instances/{instance\}"` * `"projects/{project\}/regions/{region\}/networkEndpointGroups/{network_endpoint_group\}"`
*/
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 the VPC network for direct egress. Format: `projects/{project_id\}/global/networks/{network_id\}`
*/
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 the subnetwork for direct egress. Format: `projects/{project_id\}/regions/{region\}/subnetworks/{subnetwork_id\}`
*/
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. Format: * `projects/{project_id\}/global/firewalls/{firewall_id\}` (firewall rule) * `projects/{project_id\}/global/routes/{route_id\}` (route)
*/
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) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project\}/locations/{location\}/jobs/{job\}
*/
cloudRunJob?: string | null;
/**
* 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 [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project\}/locations/{location\}/privateConnections/{privateConnection\}.
*/
dmsPrivateConnection?: 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. Format: `projects/{project_id\}/global/networks/{network_id\}`
*/
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. Format: `projects/{project_id\}/global/networks/{network_id\}`
*/
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 in format "projects/{project\}/global/networks/{network\}". 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. Format: * `locations/global/firewallPolicies/{policy_id\}` (hierarchical policy) * `projects/{project_id\}/global/firewallPolicies/{policy_id\}` (global network firewall policy) * `projects/{project_id\}/regions/{region\}/firewallPolicies/{policy_id\}` (regional network firewall policy)
*/
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 in format "projects/{project\}/global/firewalls/{firewall\}". 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. Format: * `projects/{project_id\}/global/networks/{network_id\}` (VPC peering network) * `projects/{project_id\}/regions/{region\}/vpnGateways/{vpn_gateway_id\}` (VPN gateway)
*/
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;
/**
* Output only. State of the firewalls allowing health check traffic to the load balancer frontend (Envoy proxies). This is the result of the firewall configuration analysis verifying that health check traffic from required IP ranges to the the Envoy-based load balancer frontend is allowed by firewall rules with the load balancer target.
*/
envoyHealthCheckFirewallsConfigState?: 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;
/**
* URI of a VPC network where the forwarding rule is located in format "projects/{project\}/global/networks/{network\}".
*/
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) in format "projects/{project\}/regions/{region\}/serviceAttachments/{service_attachment\}".
*/
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 in format "projects/{project\}/global/forwardingRules/{forwarding_rule\}" (global) or "projects/{project\}/regions/{region\}/forwardingRules/{forwarding_rule\}" (regional).
*/
uri?: string | null;
/**
* VIP of the forwarding rule.
*/
vip?: string | null;
}
/**
* Message for response for getting Monitoring Point configuration of a NetworkMonitoringProvider resource.
*/
export interface Schema$GenerateMonitoringPointConfigResponse {
/**
* The Monitoring Point configuration of the provider in JSON format.
*/
config?: {
[key: string]: any;
} | null;
}
/**
* Message for response for generating an access token for a NetworkMonitoringProvider resource.
*/
export interface Schema$GenerateProviderAccessTokenResponse {
/**
* Provider access token for the NetworkMonitoringProvider resource.
*/
providerAccessToken?: string | null;
}
/**
* The geographical location of the MonitoringPoint.
*/
export interface Schema$GeoLocation {
/**
* Formatted address.
*/
formattedAddress?: string | null;
/**
* Unicode CLDR region code.
*/
regionCode?: string | null;
}
/**
* For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master.
*/
export interface Schema$GKEMasterInfo {
/**
* URI of the GKE cluster network. Format: `projects/{project_id\}/global/networks/{network_id\}`
*/
clusterNetworkUri?: string | null;
/**
* URI of the GKE cluster. Format: * `projects/{project_id\}/locations/{location\}/clusters/{cluster_id\}` (regional cluster) * `projects/{project_id\}/zones/{zone\}/clusters/{cluster_id\}` (zonal 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 GKE Network Policy.
*/
export interface Schema$GkeNetworkPolicyInfo {
/**
* Possible values: ALLOW, DENY
*/
action?: string | null;
/**
* Possible values: INGRESS, EGRESS
*/
direction?: string | null;
/**
* The name of the Network Policy.
*/
displayName?: string | null;
/**
* The URI of the Network Policy. Format for a Network Policy in a zonal cluster: `projects//zones//clusters//k8s/namespaces//networking.k8s.io/networkpolicies/` Format for a Network Policy in a regional cluster: `projects//locations//clusters//k8s/namespaces//networking.k8s.io/networkpolicies/`
*/
uri?: string | null;
}
/**
* For display only. Contains information about why GKE Network Policy evaluation was skipped.
*/
export interface Schema$GkeNetworkPolicySkippedInfo {
/**
* Reason why Network Policy evaluation was skipped.
*/
reason?: 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. Format: `projects/{project_id\}/global/networks/{network_id\}`
*/
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;
}
/**
* Message describing information about the host.
*/
export interface Schema$Host {
/**
* Output only. The cloud instance id of the host.
*/
cloudInstanceId?: string | null;
/**
* Output only. The cloud project id of the host.
*/
cloudProjectId?: string | null;
/**
* Output only. The cloud provider of the host.
*/
cloudProvider?: string | null;
/**
* Output only. The cloud region of the host.
*/
cloudRegion?: string | null;
/**
* Output only. The ids of cloud virtual networks of the host.
*/
cloudVirtualNetworkIds?: string[] | null;
/**
* Output only. The cloud zone of the host.
*/
cloudZone?: string | null;
/**
* Output only. The operating system of the host.
*/
os?: string | null;
}
/**
* Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; \} service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); \} Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); \} Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.
*/
export interface Schema$HttpBody {
/**
* The HTTP Content-Type header value specifying the content type of the body.
*/
contentType?: string | null;
/**
* The HTTP request/response body as raw binary.
*/
data?: string | null;
/**
* Application specific response metadata. Must be set in the first response for streaming APIs.
*/
extensions?: Array<{
[key: string]: any;
}> | 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 the hybrid subnet. Format: `projects/{project_id\}/regions/{region\}/subnetworks/{subnetwork_id\}`
*/
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 in format "projects/{project\}/global/networks/{network\}"
*/
networkUri?: string | null;
/**
* URI of the PSC network attachment the NIC is attached to (if relevant) in format "projects/{project\}/regions/{region\}/networkAttachments/{network_attachment\}"
*/
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 in format "projects/{project\}/zones/{zone\}/instances/{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. Format: `projects/{project_id\}/regions/{region\}/routers/{router_id\}`
*/
cloudRouterUri?: string | null;
/**
* Name of an Interconnect attachment.
*/
displayName?: string | null;