UNPKG

yandex-cloud

Version:
1,215 lines (1,026 loc) 32.5 kB
// autogenerated file import * as grpc from 'grpc'; import { util } from 'protobufjs'; import Long = util.Long; import * as events from 'events'; import { Session } from '../../../index.js'; import * as protobuf from '../../../contrib/google/protobuf'; import * as operation from '../../../api/operation'; import * as NetworkLoadBalancer from '../../../NetworkLoadBalancer'; import * as Listener from '../../../Listener'; /** * A HealthCheck resource. For more information, see [Health check](/docs/load-balancer/concepts/health-check). */ export interface HealthCheck { /** * Name of the health check. The name must be unique for each target group that attached to a single load balancer. 3-63 characters long. */ name: string; /** * The interval between health checks. The default is 2 seconds. */ interval?: protobuf.Duration; /** * Timeout for a target to return a response for the health check. The default is 1 second. */ timeout?: protobuf.Duration; /** * Number of failed health checks before changing the status to `` UNHEALTHY ``. The default is 2. */ unhealthyThreshold?: Long; /** * Number of successful health checks required in order to set the `` HEALTHY `` status for the target. The default is 2. */ healthyThreshold?: Long; /** * Options for TCP health check. */ tcpOptions?: HealthCheck.TcpOptions; /** * Options for HTTP health check. */ httpOptions?: HealthCheck.HttpOptions; } export namespace HealthCheck { /** * Configuration option for a TCP health check. */ export interface TcpOptions { /** * Port to use for TCP health checks. */ port?: Long; } /** * Configuration option for an HTTP health check. */ export interface HttpOptions { /** * Port to use for HTTP health checks. */ port?: Long; /** * URL path to set for health checking requests for every target in the target group. * For example `` /ping ``. The default path is `` / ``. */ path?: string; } } /** * IP version of the addresses that the load balancer works with. * Only IPv4 is currently available. */ export enum IpVersion { IP_VERSION_UNSPECIFIED = 0, /** * IPv4 */ IPV4 = 1, /** * IPv6 */ IPV6 = 2, } /** * A NetworkLoadBalancer resource. For more information, see [Network Load Balancer](/docs/load-balancer/concepts). */ export interface NetworkLoadBalancer { /** * ID of the network load balancer. */ id?: string; /** * ID of the folder that the network load balancer belongs to. */ folderId?: string; /** * Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: protobuf.Timestamp; /** * Name of the network load balancer. The name is unique within the folder. 3-63 characters long. */ name?: string; /** * Optional description of the network load balancer. 0-256 characters long. */ description?: string; /** * Resource labels as `` key:value `` pairs. Мaximum of 64 per resource. */ labels?: { [s: string]: string }; /** * ID of the region that the network load balancer belongs to. */ regionId?: string; /** * Status of the network load balancer. */ status?: NetworkLoadBalancer.Status; /** * Type of the network load balancer. Only external network load balancers are available now. */ type?: NetworkLoadBalancer.Type; /** * Type of the session affinity. Only 5-tuple affinity is available now. */ sessionAffinity?: NetworkLoadBalancer.SessionAffinity; /** * List of listeners for the network load balancer. */ listeners?: Listener[]; /** * List of target groups attached to the network load balancer. */ attachedTargetGroups?: AttachedTargetGroup[]; } export namespace NetworkLoadBalancer { export enum Status { STATUS_UNSPECIFIED = 0, /** * Network load balancer is being created. */ CREATING = 1, /** * Network load balancer is being started. */ STARTING = 2, /** * Network load balancer is active and sends traffic to the targets. */ ACTIVE = 3, /** * Network load balancer is being stopped. */ STOPPING = 4, /** * Network load balancer is stopped and doesn't send traffic to the targets. */ STOPPED = 5, /** * Network load balancer is being deleted. */ DELETING = 6, /** * The load balancer doesn't have any listeners or target groups, or * attached target groups are empty. The load balancer doesn't perform any health checks or * send traffic in this state. */ INACTIVE = 7, } /** * Type of the load balancer. Only external load balancers are currently available. */ export enum Type { TYPE_UNSPECIFIED = 0, /** * External network load balancer. */ EXTERNAL = 1, /** * Internal network load balancer. */ INTERNAL = 2, } /** * Type of session affinity. Only 5-tuple affinity is currently available. * For more information, see [Load Balancer concepts](/load-balancer/concepts/). */ export enum SessionAffinity { SESSION_AFFINITY_UNSPECIFIED = 0, /** * 5-tuple affinity. */ CLIENT_IP_PORT_PROTO = 1, } } /** * An AttachedTargetGroup resource. For more information, see [Targets and groups](/docs/load-balancer/concepts/target-resources). */ export interface AttachedTargetGroup { /** * ID of the target group. */ targetGroupId: string; /** * A health check to perform on the target group. * For now we accept only one health check per AttachedTargetGroup. */ healthChecks?: HealthCheck[]; } /** * A Listener resource. For more information, see [Listener](/docs/load-balancer/concepts/listener) */ export interface Listener { /** * Name of the listener. The name must be unique for each listener on a single load balancer. 3-63 characters long. */ name?: string; /** * IP address for the listener. */ address?: string; /** * Port. */ port?: Long; /** * Network protocol for incoming traffic. */ protocol?: Listener.Protocol; /** * Port of a target. */ targetPort?: Long; /** * ID of the subnet. */ subnetId?: string; } export namespace Listener { /** * Network protocol to use. */ export enum Protocol { PROTOCOL_UNSPECIFIED = 0, TCP = 1, UDP = 2, } } /** * State of the target that was returned after the last health check. */ export interface TargetState { /** * ID of the subnet that the target is connected to. */ subnetId?: string; /** * IP address of the target. */ address?: string; /** * Status of the target. */ status?: TargetState.Status; } export namespace TargetState { /** * Status of the target. */ export enum Status { STATUS_UNSPECIFIED = 0, /** * The network load balancer is setting up health checks for this target. */ INITIAL = 1, /** * Health check passed and the target is ready to receive traffic. */ HEALTHY = 2, /** * Health check failed and the target is not receiving traffic. */ UNHEALTHY = 3, /** * Target is being deleted and the network load balancer is no longer sending traffic to this target. */ DRAINING = 4, /** * The network load balancer is stopped and not performing health checks on this target. */ INACTIVE = 5, } } /** * A set of methods for managing NetworkLoadBalancer resources. */ export class NetworkLoadBalancerService { constructor(session?: Session); /** * Returns the specified NetworkLoadBalancer resource. * * Get the list of available NetworkLoadBalancer resources by making a [List] request. */ get(request: GetNetworkLoadBalancerRequest): Promise<NetworkLoadBalancer>; /** * Retrieves the list of NetworkLoadBalancer resources in the specified folder. */ list( request: ListNetworkLoadBalancersRequest ): Promise<ListNetworkLoadBalancersResponse>; /** * Creates a network load balancer in the specified folder using the data specified in the request. */ create( request: CreateNetworkLoadBalancerRequest ): Promise<operation.Operation>; /** * Updates the specified network load balancer. */ update( request: UpdateNetworkLoadBalancerRequest ): Promise<operation.Operation>; /** * Deletes the specified network load balancer. */ delete( request: DeleteNetworkLoadBalancerRequest ): Promise<operation.Operation>; /** * Starts load balancing and health checking with the specified network load balancer with specified settings. * Changes network load balancer status to `` ACTIVE ``. */ start( request: StartNetworkLoadBalancerRequest ): Promise<operation.Operation>; /** * Stops load balancing and health checking with the specified network load balancer. * Changes load balancer status to `` STOPPED ``. */ stop(request: StopNetworkLoadBalancerRequest): Promise<operation.Operation>; /** * Attaches a target group to the specified network load balancer. */ attachTargetGroup( request: AttachNetworkLoadBalancerTargetGroupRequest ): Promise<operation.Operation>; /** * Detaches the target group from the specified network load balancer. */ detachTargetGroup( request: DetachNetworkLoadBalancerTargetGroupRequest ): Promise<operation.Operation>; /** * Gets states of target resources in the attached target group. */ getTargetStates( request: GetTargetStatesRequest ): Promise<GetTargetStatesResponse>; /** * Adds a listener to the specified network load balancer. */ addListener( request: AddNetworkLoadBalancerListenerRequest ): Promise<operation.Operation>; /** * Removes the listener from the specified network load balancer. */ removeListener( request: RemoveNetworkLoadBalancerListenerRequest ): Promise<operation.Operation>; /** * Lists operations for the specified network load balancer. */ listOperations( request: ListNetworkLoadBalancerOperationsRequest ): Promise<ListNetworkLoadBalancerOperationsResponse>; } export interface GetNetworkLoadBalancerRequest { /** * ID of the NetworkLoadBalancer resource to return. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId?: string; } export interface ListNetworkLoadBalancersRequest { /** * ID of the folder that the network load balancer belongs to. * To get the folder ID, use a [NetworkLoadBalancerService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [<ResponseMessage>.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize?: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListNetworkLoadBalancersResponse.next_page_token] returned by a previous list request. */ pageToken?: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently you can only filter by the [NetworkLoadBalancer.name] field. * 2. An operator. Can be either `=` or `!=` for single values, or `IN` or `NOT IN` for lists of values. * 3. The value. Must be 3-63 characters long and match the regular expression `^[a-z][-a-z0-9]{1,61}[a-z0-9]$`. */ filter?: string; } export interface ListNetworkLoadBalancersResponse { /** * List of NetworkLoadBalancer resources. */ networkLoadBalancers?: NetworkLoadBalancer[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNetworkLoadBalancersRequest.page_size], use * the [next_page_token] as the value * for the [ListNetworkLoadBalancersRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. */ nextPageToken?: string; } export interface CreateNetworkLoadBalancerRequest { /** * ID of the folder to create a network load balancer in. * To get the folder ID, use a [NetworkLoadBalancerService.List] request. */ folderId: string; /** * Name of the network load balancer. * The name must be unique within the folder. */ name?: string; /** * Description of the network load balancer. */ description?: string; /** * Resource labels as `` key:value `` pairs. */ labels?: { [s: string]: string }; /** * ID of the region where the network load balancer resides. */ regionId: string; /** * Type of the network load balancer. Only external network load balancers are currently available. */ type: NetworkLoadBalancer.Type; /** * List of listeners and their specs for the network load balancer. */ listenerSpecs?: ListenerSpec[]; /** * List of attached target groups for the network load balancer. */ attachedTargetGroups?: AttachedTargetGroup[]; } export interface CreateNetworkLoadBalancerMetadata { /** * ID of the network load balancer that is being created. */ networkLoadBalancerId?: string; } export interface UpdateNetworkLoadBalancerRequest { /** * ID of the network load balancer to update. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * Field mask that specifies which fields of the NetworkLoadBalancer resource are going to be updated. */ updateMask?: protobuf.FieldMask; /** * Name of the network load balancer. * The name must be unique within the folder. */ name?: string; /** * Description of the network load balancer. */ description?: string; /** * Resource labels as `` key:value `` pairs. * * The existing set of `` labels `` is completely replaced with the provided set. */ labels?: { [s: string]: string }; /** * A list of listeners and their specs for the network load balancer. */ listenerSpecs?: ListenerSpec[]; /** * A list of attached target groups for the network load balancer. */ attachedTargetGroups?: AttachedTargetGroup[]; } export interface UpdateNetworkLoadBalancerMetadata { /** * ID of the NetworkLoadBalancer resource that is being updated. */ networkLoadBalancerId?: string; } export interface DeleteNetworkLoadBalancerRequest { /** * ID of the network load balancer to delete. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface DeleteNetworkLoadBalancerMetadata { /** * ID of the NetworkLoadBalancer resource that is being deleted. */ networkLoadBalancerId?: string; } export interface StartNetworkLoadBalancerRequest { /** * ID of the network load balancer to start. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface StartNetworkLoadBalancerMetadata { /** * ID of the NetworkLoadBalancer resource that is being started. */ networkLoadBalancerId?: string; } export interface StopNetworkLoadBalancerRequest { /** * ID of the network load balancer to stop. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; } export interface StopNetworkLoadBalancerMetadata { /** * ID of the NetworkLoadBalancer resource that is being stopped. */ networkLoadBalancerId?: string; } export interface AttachNetworkLoadBalancerTargetGroupRequest { /** * ID of the network load balancer to attach the target group to. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * ID of the attached target group to attach to the network load balancer. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ attachedTargetGroup: AttachedTargetGroup; } export interface AttachNetworkLoadBalancerTargetGroupMetadata { /** * ID of the network load balancer that the target group is being attached to. */ networkLoadBalancerId?: string; /** * ID of the target group. */ targetGroupId?: string; } export interface DetachNetworkLoadBalancerTargetGroupRequest { /** * ID of the network load balancer to detach the target group from. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * ID of the target group. */ targetGroupId: string; } export interface DetachNetworkLoadBalancerTargetGroupMetadata { /** * ID of the network load balancer that the target group is being detached from. */ networkLoadBalancerId?: string; /** * ID of the target group. */ targetGroupId?: string; } export interface AddNetworkLoadBalancerListenerRequest { /** * ID of the network load balancer to add a listener to. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * Listener spec. */ listenerSpec: ListenerSpec; } export interface AddNetworkLoadBalancerListenerMetadata { /** * ID of the network load balancer that the listener is being added to. */ networkLoadBalancerId?: string; } export interface RemoveNetworkLoadBalancerListenerRequest { /** * ID of the network load balancer to remove the listener from. * To get the network load balancer ID, use a [NetworkLoadBalancerService.List] request. */ networkLoadBalancerId: string; /** * Name of the listener to delete. */ listenerName: string; } export interface RemoveNetworkLoadBalancerListenerMetadata { /** * ID of the network load balancer that the listener is being removed from. */ networkLoadBalancerId?: string; } export interface ListNetworkLoadBalancerOperationsRequest { /** * ID of the NetworkLoadBalancer resource to list operations for. */ networkLoadBalancerId: string; /** * The maximum number of results per page that should be returned. If the number of available * results is larger than [page_size], the service returns a [ListNetworkLoadBalancerOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize?: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListNetworkLoadBalancerOperationsResponse.next_page_token] returned by a previous list request. */ pageToken?: string; } export interface ListNetworkLoadBalancerOperationsResponse { /** * List of operations for the specified network load balancer. */ operations?: operation.Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNetworkLoadBalancerOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListNetworkLoadBalancerOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken?: string; } export interface GetTargetStatesRequest { /** * ID of the NetworkLoadBalancer resource with an attached target group. */ networkLoadBalancerId?: string; /** * ID of the target group to get states of resources from. */ targetGroupId?: string; } export interface GetTargetStatesResponse { /** * List of states of targets within the target group that is specified in the [GetTargetStatesRequest] message. */ targetStates?: TargetState[]; } /** * External address specification that is used by [ListenerSpec]. */ export interface ExternalAddressSpec { /** * Public IP address for a listener. * If you provide a static public IP address for the [NetworkLoadBalancerService.Update] * method, it will replace the existing listener address. */ address?: string; /** * IP version. */ ipVersion?: IpVersion; } /** * Internal address specification that is used by [ListenerSpec]. */ export interface InternalAddressSpec { /** * Internal IP address for a listener. */ address?: string; /** * ID of the subnet. */ subnetId?: string; /** * IP version. */ ipVersion?: IpVersion; } /** * Listener specification that will be used by a network load balancer. */ export interface ListenerSpec { /** * Name of the listener. The name must be unique for each listener on a single load balancer. 3-63 characters long. */ name: string; /** * Port for incoming traffic. */ port?: Long; /** * Protocol for incoming traffic. */ protocol: Listener.Protocol; /** * External IP address specification. */ externalAddressSpec?: ExternalAddressSpec; /** * Internal IP address specification. */ internalAddressSpec?: InternalAddressSpec; /** * Port of a target. * Acceptable values are 1 to 65535, inclusive. */ targetPort?: Long; } /** * A TargetGroup resource. For more information, see [Target groups and resources](/docs/load-balancer/target-resources). */ export interface TargetGroup { /** * Output only. ID of the target group. */ id?: string; /** * ID of the folder that the target group belongs to. */ folderId?: string; /** * Output only. Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. */ createdAt?: protobuf.Timestamp; /** * Name of the target group. * The name is unique within the folder. 3-63 characters long. */ name?: string; /** * Description of the target group. 0-256 characters long. */ description?: string; /** * Resource labels as `` key:value `` pairs. Мaximum of 64 per resource. */ labels?: { [s: string]: string }; /** * ID of the region where the target group resides. */ regionId?: string; /** * A list of targets in the target group. */ targets?: Target[]; } /** * A Target resource. For more information, see [Target groups and resources](/docs/load-balancer/concepts/target-resources). */ export interface Target { /** * ID of the subnet that targets are connected to. * All targets in the target group must be connected to the same subnet within a single availability zone. */ subnetId?: string; /** * IP address of the target. */ address?: string; } /** * A set of methods for managing TargetGroup resources. */ export class TargetGroupService { constructor(session?: Session); /** * Returns the specified TargetGroup resource. */ get(request: GetTargetGroupRequest): Promise<TargetGroup>; /** * Retrieves the list of TargetGroup resources in the specified folder. */ list(request: ListTargetGroupsRequest): Promise<ListTargetGroupsResponse>; /** * Creates a target group in the specified folder and adds the specified targets to it. */ create(request: CreateTargetGroupRequest): Promise<operation.Operation>; /** * Updates the specified target group. */ update(request: UpdateTargetGroupRequest): Promise<operation.Operation>; /** * Deletes the specified target group. */ delete(request: DeleteTargetGroupRequest): Promise<operation.Operation>; /** * Adds targets to the target group. */ addTargets(request: AddTargetsRequest): Promise<operation.Operation>; /** * Removes targets from the target group. */ removeTargets(request: RemoveTargetsRequest): Promise<operation.Operation>; /** * Lists operations for the specified target group. */ listOperations( request: ListTargetGroupOperationsRequest ): Promise<ListTargetGroupOperationsResponse>; } export interface GetTargetGroupRequest { /** * ID of the TargetGroup resource to return. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; } export interface ListTargetGroupsRequest { /** * ID of the folder to list target groups in. * To get the folder ID, use a [TargetGroupService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListTargetGroupsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize?: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListTargetGroupsResponse.next_page_token] returned by a previous list request. */ pageToken?: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently you can only filter by the [TargetGroup.name] field. * 2. An operator. Can be either `=` or `!=` for single values, or `IN` or `NOT IN` for lists of values. * 3. The value. Must be 3-63 characters long and match the regular expression `^[a-z][-a-z0-9]{1,61}[a-z0-9]$`. */ filter?: string; } export interface ListTargetGroupsResponse { /** * List of TargetGroup resources. */ targetGroups?: TargetGroup[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListTargetGroupsRequest.page_size], use * the [next_page_token] as the value * for the [ListTargetGroupsRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. */ nextPageToken?: string; } export interface CreateTargetGroupRequest { /** * ID of the folder to list target groups in. * To get the folder ID, use a [TargetGroupService.List] request. */ folderId: string; /** * Name of the target group. * The name must be unique within the folder. */ name?: string; /** * Description of the target group. */ description?: string; /** * Resource labels as `` key:value `` pairs. */ labels?: { [s: string]: string }; /** * ID of the availability zone where the target group resides. */ regionId: string; /** * List of targets within the target group. */ targets?: Target[]; } export interface CreateTargetGroupMetadata { /** * ID of the target group that is being created. */ targetGroupId?: string; } export interface UpdateTargetGroupRequest { /** * ID of the TargetGroup resource to update. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; /** * Field mask that specifies which fields of the TargetGroup resource are going to be updated. */ updateMask?: protobuf.FieldMask; /** * Name of the target group. * The name must be unique within the folder. */ name?: string; /** * Description of the target group. */ description?: string; /** * Resource labels as `` key:value `` pairs. * * The existing set of `` labels `` is completely replaced with the provided set. */ labels?: { [s: string]: string }; /** * A new list of targets for this target group. */ targets?: Target[]; } export interface UpdateTargetGroupMetadata { /** * ID of the target group that is being updated. */ targetGroupId?: string; } export interface DeleteTargetGroupRequest { /** * ID of the target group to delete. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; } export interface DeleteTargetGroupMetadata { /** * ID of the target group that is being deleted. */ targetGroupId?: string; } export interface AddTargetsRequest { /** * ID of the TargetGroup resource to add targets to. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; /** * List of targets to add to the target group. */ targets?: Target[]; } export interface AddTargetsMetadata { /** * ID of the target group that targets are being added to. */ targetGroupId?: string; } export interface RemoveTargetsRequest { /** * ID of the target group to remove targets from. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; /** * List of targets to remove from the target group. */ targets?: Target[]; } export interface RemoveTargetsMetadata { /** * ID of the target group that targets are being removed from. */ targetGroupId?: string; } export interface ListTargetGroupOperationsRequest { /** * ID of the TargetGroup resource to update. * To get the target group ID, use a [TargetGroupService.List] request. */ targetGroupId: string; /** * The maximum number of results per page that should be returned. If the number of available * results is larger than [page_size], the service returns a [ListTargetGroupOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize?: Long; /** * Page token. To get the next page of results, set [page_token] to the * [ListTargetGroupOperationsResponse.next_page_token] returned by a previous list request. */ pageToken?: string; } export interface ListTargetGroupOperationsResponse { /** * List of operations for the specified target group. */ operations?: operation.Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListTargetGroupOperationsRequest.page_size], use the [next_page_token] as the value * for the [ListTargetGroupOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own [next_page_token] to continue paging through the results. */ nextPageToken?: string; }