import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * Creates a virtual host that belongs to specified HTTP router and adds the specified routes to it. For more information, * see [the official documentation](https://cloud.yandex.com/en/docs/application-load-balancer/concepts/http-router). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as yandex from "@pulumi/yandex"; * * const my_virtual_host = new yandex.AlbVirtualHost("my-virtual-host", { * httpRouterId: yandex_alb_http_router["my-router"].id, * routes: [{ * name: "my-route", * httpRoute: { * httpRouteAction: { * backendGroupId: yandex_alb_backend_group["my-bg"].id, * timeout: "3s", * }, * }, * }], * }); * ``` * * ## Import * * A virtual host can be imported using the `id` of the resource, e.g. * * ```sh * $ pulumi import yandex:index/albVirtualHost:AlbVirtualHost default virtual_host_id * ``` */ export declare class AlbVirtualHost extends pulumi.CustomResource { /** * Get an existing AlbVirtualHost resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: AlbVirtualHostState, opts?: pulumi.CustomResourceOptions): AlbVirtualHost; /** * Returns true if the given object is an instance of AlbVirtualHost. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is AlbVirtualHost; /** * A list of domains (host/authority header) that will be matched to this virtual host. Wildcard * hosts are supported in the form of '*.foo.com' or '*-bar.foo.com'. If not specified, all domains will be matched. */ readonly authorities: pulumi.Output; readonly httpRouterId: pulumi.Output; /** * Apply the following modifications to the request * headers. The structure is documented below. */ readonly modifyRequestHeaders: pulumi.Output; /** * Apply the following modifications to the response * headers. The structure is documented below. */ readonly modifyResponseHeaders: pulumi.Output; /** * name of the route. */ readonly name: pulumi.Output; /** * A Route resource. Routes are matched *in-order*. Be careful when adding them to the end. For instance, having * http '/' match first makes all other routes unused. The structure is documented below. */ readonly routes: pulumi.Output; /** * Create a AlbVirtualHost resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: AlbVirtualHostArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering AlbVirtualHost resources. */ export interface AlbVirtualHostState { /** * A list of domains (host/authority header) that will be matched to this virtual host. Wildcard * hosts are supported in the form of '*.foo.com' or '*-bar.foo.com'. If not specified, all domains will be matched. */ authorities?: pulumi.Input[]>; httpRouterId?: pulumi.Input; /** * Apply the following modifications to the request * headers. The structure is documented below. */ modifyRequestHeaders?: pulumi.Input[]>; /** * Apply the following modifications to the response * headers. The structure is documented below. */ modifyResponseHeaders?: pulumi.Input[]>; /** * name of the route. */ name?: pulumi.Input; /** * A Route resource. Routes are matched *in-order*. Be careful when adding them to the end. For instance, having * http '/' match first makes all other routes unused. The structure is documented below. */ routes?: pulumi.Input[]>; } /** * The set of arguments for constructing a AlbVirtualHost resource. */ export interface AlbVirtualHostArgs { /** * A list of domains (host/authority header) that will be matched to this virtual host. Wildcard * hosts are supported in the form of '*.foo.com' or '*-bar.foo.com'. If not specified, all domains will be matched. */ authorities?: pulumi.Input[]>; httpRouterId: pulumi.Input; /** * Apply the following modifications to the request * headers. The structure is documented below. */ modifyRequestHeaders?: pulumi.Input[]>; /** * Apply the following modifications to the response * headers. The structure is documented below. */ modifyResponseHeaders?: pulumi.Input[]>; /** * name of the route. */ name?: pulumi.Input; /** * A Route resource. Routes are matched *in-order*. Be careful when adding them to the end. For instance, having * http '/' match first makes all other routes unused. The structure is documented below. */ routes?: pulumi.Input[]>; }