@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
1,015 lines • 369 kB
TypeScript
/// <reference types="node" />
import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js";
import _m0 from "protobufjs/minimal";
import { FieldMask } from "../../../../google/protobuf/field_mask";
import { RouteOptions, VirtualHost } from "../../../../yandex/cloud/apploadbalancer/v1/virtual_host";
import { HttpRouter } from "../../../../yandex/cloud/apploadbalancer/v1/http_router";
import { Operation } from "../../../../yandex/cloud/operation/operation";
export declare const protobufPackage = "yandex.cloud.apploadbalancer.v1";
export interface GetHttpRouterRequest {
$type: "yandex.cloud.apploadbalancer.v1.GetHttpRouterRequest";
/**
* ID of the HTTP router to return.
*
* To get the HTTP router ID, make a [HttpRouterService.List] request.
*/
httpRouterId: string;
}
export interface ListHttpRoutersRequest {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRoutersRequest";
/**
* ID of the folder to list HTTP routers in.
*
* To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.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 [ListHttpRoutersResponse.next_page_token]
* that can be used to get the next page of results in subsequent list requests.
* Default value: 100.
*/
pageSize: number;
/**
* Page token. To get the next page of results, set `page_token` to the
* [ListHttpRoutersResponse.next_page_token] returned by a previous list request.
*/
pageToken: string;
/**
* A filter expression that filters HTTP routers listed in the response.
*
* The expression must specify:
* 1. The field name. Currently you can use filtering only on [HttpRouter.name] field.
* 2. An `=` operator.
* 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`.
* Example of a filter: `name=my-http-router`.
*/
filter: string;
}
export interface ListHttpRoutersResponse {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRoutersResponse";
/** List of HTTP routers in the specified folder. */
httpRouters: HttpRouter[];
/**
* Token for getting the next page of the list. If the number of results is greater than
* the specified [ListHttpRoutersRequest.page_size], use `next_page_token` as the value
* for the [ListHttpRoutersRequest.page_token] parameter in the next list request.
*
* Each subsequent page will have its own `next_page_token` to continue paging through the results.
*/
nextPageToken: string;
}
export interface DeleteHttpRouterRequest {
$type: "yandex.cloud.apploadbalancer.v1.DeleteHttpRouterRequest";
/**
* ID of the HTTP router to delete.
*
* To get the HTTP router ID, make a [HttpRouterService.List] request.
*/
httpRouterId: string;
}
export interface DeleteHttpRouterMetadata {
$type: "yandex.cloud.apploadbalancer.v1.DeleteHttpRouterMetadata";
/** ID of the HTTP router that is being deleted. */
httpRouterId: string;
}
export interface UpdateHttpRouterRequest {
$type: "yandex.cloud.apploadbalancer.v1.UpdateHttpRouterRequest";
/**
* ID of the HTTP router to update.
*
* To get the HTTP router ID, make a [HttpRouterService.List] request.
*/
httpRouterId: string;
/** Field mask that specifies which attributes of the HTTP router should be updated. */
updateMask?: FieldMask;
/**
* New name for the HTTP router.
* The name must be unique within the folder.
*/
name: string;
/** New description of the HTTP router. */
description: string;
/**
* HTTP router labels as `key:value` pairs.
* For details about the concept, see [documentation](/docs/overview/concepts/services#labels).
*
* Existing set of labels is completely replaced by the provided set, so if you just want
* to add or remove a label:
* 1. Get the current set of labels with a [HttpRouterService.Get] request.
* 2. Add or remove a label in this set.
* 3. Send the new set in this field.
*/
labels: {
[key: string]: string;
};
/**
* New virtual hosts that combine routes inside the router.
* For details about the concept, see [documentation](/docs/application-load-balancer/concepts/http-router#virtual-host).
*
* Only one virtual host with no authority (default match) can be specified.
*
* Existing list of virtual hosts is completely replaced by the specified list, so if you just want to add or remove
* a virtual host, make a [VirtualHostService.Create] request or a [VirtualHostService.Delete] request.
*/
virtualHosts: VirtualHost[];
/** New route options for the HTTP router. */
routeOptions?: RouteOptions;
}
export interface UpdateHttpRouterRequest_LabelsEntry {
$type: "yandex.cloud.apploadbalancer.v1.UpdateHttpRouterRequest.LabelsEntry";
key: string;
value: string;
}
export interface UpdateHttpRouterMetadata {
$type: "yandex.cloud.apploadbalancer.v1.UpdateHttpRouterMetadata";
/** ID of the HTTP router that is being updated. */
httpRouterId: string;
}
export interface CreateHttpRouterRequest {
$type: "yandex.cloud.apploadbalancer.v1.CreateHttpRouterRequest";
/**
* ID of the folder to create an HTTP router in.
*
* To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request.
*/
folderId: string;
/**
* Name of the HTTP router.
* The name must be unique within the folder.
*/
name: string;
/** Description of the HTTP router. */
description: string;
/**
* HTTP router labels as `key:value` pairs.
* For details about the concept, see [documentation](/docs/overview/concepts/services#labels).
*/
labels: {
[key: string]: string;
};
/**
* Virtual hosts that combine routes inside the router.
* For details about the concept, see [documentation](/docs/application-load-balancer/concepts/http-router#virtual-host).
*
* Only one virtual host with no authority (default match) can be specified.
*/
virtualHosts: VirtualHost[];
/** Route options for the HTTP router. */
routeOptions?: RouteOptions;
}
export interface CreateHttpRouterRequest_LabelsEntry {
$type: "yandex.cloud.apploadbalancer.v1.CreateHttpRouterRequest.LabelsEntry";
key: string;
value: string;
}
export interface CreateHttpRouterMetadata {
$type: "yandex.cloud.apploadbalancer.v1.CreateHttpRouterMetadata";
/** ID of the HTTP router that is being created. */
httpRouterId: string;
}
export interface ListHttpRouterOperationsRequest {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRouterOperationsRequest";
/**
* ID of the HTTP router to get operations for.
*
* To get the HTTP router ID, use a [HttpRouterService.List] request.
*/
httpRouterId: 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 [ListHttpRouterOperationsResponse.next_page_token]
* that can be used to get the next page of results in subsequent list requests.
* Default value: 100.
*/
pageSize: number;
/**
* Page token. To get the next page of results, set [page_token] to the
* [ListHttpRouterOperationsResponse.next_page_token] returned by a previous list request.
*/
pageToken: string;
}
export interface ListHttpRouterOperationsResponse {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRouterOperationsResponse";
/** List of operations for the specified HTTP router. */
operations: Operation[];
/**
* Token for getting the next page of the list. If the number of results is greater than
* the specified [ListHttpRouterOperationsRequest.page_size], use `next_page_token` as the value
* for the [ListHttpRouterOperationsRequest.page_token] parameter in the next list request.
*
* Each subsequent page will have its own `next_page_token` to continue paging through the results.
*/
nextPageToken: string;
}
export declare const GetHttpRouterRequest: {
$type: "yandex.cloud.apploadbalancer.v1.GetHttpRouterRequest";
encode(message: GetHttpRouterRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetHttpRouterRequest;
fromJSON(object: any): GetHttpRouterRequest;
toJSON(message: GetHttpRouterRequest): unknown;
fromPartial<I extends {
httpRouterId?: string | undefined;
} & {
httpRouterId?: string | undefined;
} & Record<Exclude<keyof I, "$type" | "httpRouterId">, never>>(object: I): GetHttpRouterRequest;
};
export declare const ListHttpRoutersRequest: {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRoutersRequest";
encode(message: ListHttpRoutersRequest, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListHttpRoutersRequest;
fromJSON(object: any): ListHttpRoutersRequest;
toJSON(message: ListHttpRoutersRequest): unknown;
fromPartial<I extends {
pageSize?: number | undefined;
pageToken?: string | undefined;
filter?: string | undefined;
folderId?: string | undefined;
} & {
pageSize?: number | undefined;
pageToken?: string | undefined;
filter?: string | undefined;
folderId?: string | undefined;
} & Record<Exclude<keyof I, "$type" | "pageSize" | "pageToken" | "filter" | "folderId">, never>>(object: I): ListHttpRoutersRequest;
};
export declare const ListHttpRoutersResponse: {
$type: "yandex.cloud.apploadbalancer.v1.ListHttpRoutersResponse";
encode(message: ListHttpRoutersResponse, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListHttpRoutersResponse;
fromJSON(object: any): ListHttpRoutersResponse;
toJSON(message: ListHttpRoutersResponse): unknown;
fromPartial<I extends {
nextPageToken?: string | undefined;
httpRouters?: {
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
virtualHosts?: {
name?: string | undefined;
authority?: string[] | undefined;
routes?: {
name?: string | undefined;
http?: {
match?: {
path?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
httpMethod?: string[] | undefined;
} | undefined;
route?: {
timeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
prefixRewrite?: string | undefined;
upgradeTypes?: string[] | undefined;
} | undefined;
redirect?: {
replaceScheme?: string | undefined;
replaceHost?: string | undefined;
replacePort?: number | undefined;
replacePath?: string | undefined;
replacePrefix?: string | undefined;
removeQuery?: boolean | undefined;
responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined;
} | undefined;
directResponse?: {
status?: number | undefined;
body?: {
text?: string | undefined;
} | undefined;
} | undefined;
} | undefined;
grpc?: {
match?: {
fqmn?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
route?: {
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
maxTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
} | undefined;
statusResponse?: {
status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined;
} | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
}[] | undefined;
} & {
nextPageToken?: string | undefined;
httpRouters?: ({
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
virtualHosts?: {
name?: string | undefined;
authority?: string[] | undefined;
routes?: {
name?: string | undefined;
http?: {
match?: {
path?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
httpMethod?: string[] | undefined;
} | undefined;
route?: {
timeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
prefixRewrite?: string | undefined;
upgradeTypes?: string[] | undefined;
} | undefined;
redirect?: {
replaceScheme?: string | undefined;
replaceHost?: string | undefined;
replacePort?: number | undefined;
replacePath?: string | undefined;
replacePrefix?: string | undefined;
removeQuery?: boolean | undefined;
responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined;
} | undefined;
directResponse?: {
status?: number | undefined;
body?: {
text?: string | undefined;
} | undefined;
} | undefined;
} | undefined;
grpc?: {
match?: {
fqmn?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
route?: {
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
maxTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
} | undefined;
statusResponse?: {
status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined;
} | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
}[] & ({
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
folderId?: string | undefined;
labels?: {
[x: string]: string | undefined;
[x: number]: string | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
virtualHosts?: {
name?: string | undefined;
authority?: string[] | undefined;
routes?: {
name?: string | undefined;
http?: {
match?: {
path?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
httpMethod?: string[] | undefined;
} | undefined;
route?: {
timeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
prefixRewrite?: string | undefined;
upgradeTypes?: string[] | undefined;
} | undefined;
redirect?: {
replaceScheme?: string | undefined;
replaceHost?: string | undefined;
replacePort?: number | undefined;
replacePath?: string | undefined;
replacePrefix?: string | undefined;
removeQuery?: boolean | undefined;
responseCode?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RedirectAction_RedirectResponseCode | undefined;
} | undefined;
directResponse?: {
status?: number | undefined;
body?: {
text?: string | undefined;
} | undefined;
} | undefined;
} | undefined;
grpc?: {
match?: {
fqmn?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
route?: {
backendGroupId?: string | undefined;
idleTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
hostRewrite?: string | undefined;
autoHostRewrite?: boolean | undefined;
maxTimeout?: {
seconds?: number | undefined;
nanos?: number | undefined;
} | undefined;
} | undefined;
statusResponse?: {
status?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").GrpcStatusResponseAction_Status | undefined;
} | undefined;
} | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
routeOptions?: {
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} | undefined;
}[] | undefined;
} & {
description?: string | undefined;
id?: string | undefined;
name?: string | undefined;
createdAt?: Date | undefined;
folderId?: string | undefined;
labels?: ({
[x: string]: string | undefined;
[x: number]: string | undefined;
} & {
[x: string]: string | undefined;
[x: number]: string | undefined;
} & Record<Exclude<keyof I["httpRouters"][number]["labels"], string | number>, never>) | undefined;
routeOptions?: ({
modifyRequestHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
modifyResponseHeaders?: {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] | undefined;
rbac?: {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} | undefined;
securityProfileId?: string | undefined;
} & {
modifyRequestHeaders?: ({
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] & ({
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
} & {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
} & Record<Exclude<keyof I["httpRouters"][number]["routeOptions"]["modifyRequestHeaders"][number], "$type" | "replace" | "name" | "append" | "remove" | "rename">, never>)[] & Record<Exclude<keyof I["httpRouters"][number]["routeOptions"]["modifyRequestHeaders"], "$type" | keyof {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[]>, never>) | undefined;
modifyResponseHeaders?: ({
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[] & ({
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
} & {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
} & Record<Exclude<keyof I["httpRouters"][number]["routeOptions"]["modifyResponseHeaders"][number], "$type" | "replace" | "name" | "append" | "remove" | "rename">, never>)[] & Record<Exclude<keyof I["httpRouters"][number]["routeOptions"]["modifyResponseHeaders"], "$type" | keyof {
replace?: string | undefined;
name?: string | undefined;
append?: string | undefined;
remove?: boolean | undefined;
rename?: string | undefined;
}[]>, never>) | undefined;
rbac?: ({
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: {
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] | undefined;
} & {
action?: import("../../../../yandex/cloud/apploadbalancer/v1/virtual_host").RBAC_Action | undefined;
principals?: ({
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
}[] & ({
andPrincipals?: {
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] | undefined;
} & {
andPrincipals?: ({
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
}[] & ({
header?: {
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} | undefined;
remoteIp?: string | undefined;
any?: boolean | undefined;
} & {
header?: ({
name?: string | undefined;
value?: {
exactMatch?: string | undefined;
prefixMatch?: string | undefined;
regexMatch?: string | undefined;
} | undefined;
} & {
name?: string | undefined;
value?: ({
exactMatch?: string |