yandex-cloud
Version:
Yandex Cloud SDK
1,215 lines (1,026 loc) • 32.5 kB
TypeScript
// 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;
}