import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface AlbHttpRouterConfig extends cdktf.TerraformMetaArguments { /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#description AlbHttpRouter#description} */ readonly description?: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#folder_id AlbHttpRouter#folder_id} */ readonly folderId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#id AlbHttpRouter#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#labels AlbHttpRouter#labels} */ readonly labels?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#name AlbHttpRouter#name} */ readonly name?: string; /** * route_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#route_options AlbHttpRouter#route_options} */ readonly routeOptions?: AlbHttpRouterRouteOptions; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#timeouts AlbHttpRouter#timeouts} */ readonly timeouts?: AlbHttpRouterTimeouts; } export interface AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue { /** * Match exactly. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#exact AlbHttpRouter#exact} */ readonly exact?: string; /** * Match prefix. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#prefix AlbHttpRouter#prefix} */ readonly prefix?: string; /** * Match regex. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#regex AlbHttpRouter#regex} */ readonly regex?: string; } export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueToTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueOutputReference | AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue): any; export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueToHclTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueOutputReference | AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue): any; export declare class AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue | undefined; set internalValue(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue | undefined); private _exact?; get exact(): string; set exact(value: string); resetExact(): void; get exactInput(): string; private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _regex?; get regex(): string; set regex(value: string); resetRegex(): void; get regexInput(): string; } export interface AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#name AlbHttpRouter#name} */ readonly name: string; /** * value block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#value AlbHttpRouter#value} */ readonly value?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue; } export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderToTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderOutputReference | AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader): any; export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderToHclTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderOutputReference | AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader): any; export declare class AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader | undefined; set internalValue(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string; private _value; get value(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValueOutputReference; putValue(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue): void; resetValue(): void; get valueInput(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderValue; } export interface AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#any AlbHttpRouter#any} */ readonly any?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#remote_ip AlbHttpRouter#remote_ip} */ readonly remoteIp?: string; /** * header block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#header AlbHttpRouter#header} */ readonly header?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader; } export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsToTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals | cdktf.IResolvable): any; export declare function albHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsToHclTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals | cdktf.IResolvable): any; export declare class AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals | cdktf.IResolvable | undefined; set internalValue(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals | cdktf.IResolvable | undefined); private _any?; get any(): boolean | cdktf.IResolvable; set any(value: boolean | cdktf.IResolvable); resetAny(): void; get anyInput(): any; private _remoteIp?; get remoteIp(): string; set remoteIp(value: string); resetRemoteIp(): void; get remoteIpInput(): string; private _header; get header(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeaderOutputReference; putHeader(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader): void; resetHeader(): void; get headerInput(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsHeader; } export declare class AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsOutputReference; } export interface AlbHttpRouterRouteOptionsRbacPrincipals { /** * and_principals block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#and_principals AlbHttpRouter#and_principals} */ readonly andPrincipals: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals[] | cdktf.IResolvable; } export declare function albHttpRouterRouteOptionsRbacPrincipalsToTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipals | cdktf.IResolvable): any; export declare function albHttpRouterRouteOptionsRbacPrincipalsToHclTerraform(struct?: AlbHttpRouterRouteOptionsRbacPrincipals | cdktf.IResolvable): any; export declare class AlbHttpRouterRouteOptionsRbacPrincipalsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): AlbHttpRouterRouteOptionsRbacPrincipals | cdktf.IResolvable | undefined; set internalValue(value: AlbHttpRouterRouteOptionsRbacPrincipals | cdktf.IResolvable | undefined); private _andPrincipals; get andPrincipals(): AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipalsList; putAndPrincipals(value: AlbHttpRouterRouteOptionsRbacPrincipalsAndPrincipals[] | cdktf.IResolvable): void; get andPrincipalsInput(): any; } export declare class AlbHttpRouterRouteOptionsRbacPrincipalsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: AlbHttpRouterRouteOptionsRbacPrincipals[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): AlbHttpRouterRouteOptionsRbacPrincipalsOutputReference; } export interface AlbHttpRouterRouteOptionsRbac { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#action AlbHttpRouter#action} */ readonly action?: string; /** * principals block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#principals AlbHttpRouter#principals} */ readonly principals: AlbHttpRouterRouteOptionsRbacPrincipals[] | cdktf.IResolvable; } export declare function albHttpRouterRouteOptionsRbacToTerraform(struct?: AlbHttpRouterRouteOptionsRbacOutputReference | AlbHttpRouterRouteOptionsRbac): any; export declare function albHttpRouterRouteOptionsRbacToHclTerraform(struct?: AlbHttpRouterRouteOptionsRbacOutputReference | AlbHttpRouterRouteOptionsRbac): any; export declare class AlbHttpRouterRouteOptionsRbacOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AlbHttpRouterRouteOptionsRbac | undefined; set internalValue(value: AlbHttpRouterRouteOptionsRbac | undefined); private _action?; get action(): string; set action(value: string); resetAction(): void; get actionInput(): string; private _principals; get principals(): AlbHttpRouterRouteOptionsRbacPrincipalsList; putPrincipals(value: AlbHttpRouterRouteOptionsRbacPrincipals[] | cdktf.IResolvable): void; get principalsInput(): any; } export interface AlbHttpRouterRouteOptions { /** * SWS profile ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#security_profile_id AlbHttpRouter#security_profile_id} */ readonly securityProfileId?: string; /** * rbac block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#rbac AlbHttpRouter#rbac} */ readonly rbac?: AlbHttpRouterRouteOptionsRbac; } export declare function albHttpRouterRouteOptionsToTerraform(struct?: AlbHttpRouterRouteOptionsOutputReference | AlbHttpRouterRouteOptions): any; export declare function albHttpRouterRouteOptionsToHclTerraform(struct?: AlbHttpRouterRouteOptionsOutputReference | AlbHttpRouterRouteOptions): any; export declare class AlbHttpRouterRouteOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AlbHttpRouterRouteOptions | undefined; set internalValue(value: AlbHttpRouterRouteOptions | undefined); private _securityProfileId?; get securityProfileId(): string; set securityProfileId(value: string); resetSecurityProfileId(): void; get securityProfileIdInput(): string; private _rbac; get rbac(): AlbHttpRouterRouteOptionsRbacOutputReference; putRbac(value: AlbHttpRouterRouteOptionsRbac): void; resetRbac(): void; get rbacInput(): AlbHttpRouterRouteOptionsRbac; } export interface AlbHttpRouterTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#create AlbHttpRouter#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#delete AlbHttpRouter#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#update AlbHttpRouter#update} */ readonly update?: string; } export declare function albHttpRouterTimeoutsToTerraform(struct?: AlbHttpRouterTimeouts | cdktf.IResolvable): any; export declare function albHttpRouterTimeoutsToHclTerraform(struct?: AlbHttpRouterTimeouts | cdktf.IResolvable): any; export declare class AlbHttpRouterTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): AlbHttpRouterTimeouts | cdktf.IResolvable | undefined; set internalValue(value: AlbHttpRouterTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router yandex_alb_http_router} */ export declare class AlbHttpRouter extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_alb_http_router"; /** * Generates CDKTF code for importing a AlbHttpRouter resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the AlbHttpRouter to import * @param importFromId The id of the existing AlbHttpRouter that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the AlbHttpRouter to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/alb_http_router yandex_alb_http_router} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options AlbHttpRouterConfig = {} */ constructor(scope: Construct, id: string, config?: AlbHttpRouterConfig); get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _routeOptions; get routeOptions(): AlbHttpRouterRouteOptionsOutputReference; putRouteOptions(value: AlbHttpRouterRouteOptions): void; resetRouteOptions(): void; get routeOptionsInput(): AlbHttpRouterRouteOptions; private _timeouts; get timeouts(): AlbHttpRouterTimeoutsOutputReference; putTimeouts(value: AlbHttpRouterTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }