UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

363 lines (362 loc) 20.2 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetworkServicesTlsRouteConfig extends cdktf.TerraformMetaArguments { /** * A free-text description of the resource. Max length 1024 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#description NetworkServicesTlsRoute#description} */ readonly description?: string; /** * Gateways defines a list of gateways this TlsRoute is attached to, as one of the routing rules to route the requests served by the gateway. * Each gateway reference should match the pattern: projects/* /locations/global/gateways/<gateway_name> * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#gateways NetworkServicesTlsRoute#gateways} * * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space. */ readonly gateways?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#id NetworkServicesTlsRoute#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; /** * Meshes defines a list of meshes this TlsRoute is attached to, as one of the routing rules to route the requests served by the mesh. * Each mesh reference should match the pattern: projects/* /locations/global/meshes/<mesh_name> * The attached Mesh should be of a type SIDECAR * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#meshes NetworkServicesTlsRoute#meshes} * * Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space. */ readonly meshes?: string[]; /** * Name of the TlsRoute resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#name NetworkServicesTlsRoute#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#project NetworkServicesTlsRoute#project} */ readonly project?: string; /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#rules NetworkServicesTlsRoute#rules} */ readonly rules: NetworkServicesTlsRouteRules[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#timeouts NetworkServicesTlsRoute#timeouts} */ readonly timeouts?: NetworkServicesTlsRouteTimeouts; } export interface NetworkServicesTlsRouteRulesActionDestinations { /** * The URL of a BackendService to route traffic to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#service_name NetworkServicesTlsRoute#service_name} */ readonly serviceName?: string; /** * Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#weight NetworkServicesTlsRoute#weight} */ readonly weight?: number; } export declare function networkServicesTlsRouteRulesActionDestinationsToTerraform(struct?: NetworkServicesTlsRouteRulesActionDestinations | cdktf.IResolvable): any; export declare function networkServicesTlsRouteRulesActionDestinationsToHclTerraform(struct?: NetworkServicesTlsRouteRulesActionDestinations | cdktf.IResolvable): any; export declare class NetworkServicesTlsRouteRulesActionDestinationsOutputReference 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(): NetworkServicesTlsRouteRulesActionDestinations | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesTlsRouteRulesActionDestinations | cdktf.IResolvable | undefined); private _serviceName?; get serviceName(): string; set serviceName(value: string); resetServiceName(): void; get serviceNameInput(): string | undefined; private _weight?; get weight(): number; set weight(value: number); resetWeight(): void; get weightInput(): number | undefined; } export declare class NetworkServicesTlsRouteRulesActionDestinationsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesTlsRouteRulesActionDestinations[] | 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): NetworkServicesTlsRouteRulesActionDestinationsOutputReference; } export interface NetworkServicesTlsRouteRulesAction { /** * destinations block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#destinations NetworkServicesTlsRoute#destinations} */ readonly destinations?: NetworkServicesTlsRouteRulesActionDestinations[] | cdktf.IResolvable; } export declare function networkServicesTlsRouteRulesActionToTerraform(struct?: NetworkServicesTlsRouteRulesActionOutputReference | NetworkServicesTlsRouteRulesAction): any; export declare function networkServicesTlsRouteRulesActionToHclTerraform(struct?: NetworkServicesTlsRouteRulesActionOutputReference | NetworkServicesTlsRouteRulesAction): any; export declare class NetworkServicesTlsRouteRulesActionOutputReference 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(): NetworkServicesTlsRouteRulesAction | undefined; set internalValue(value: NetworkServicesTlsRouteRulesAction | undefined); private _destinations; get destinations(): NetworkServicesTlsRouteRulesActionDestinationsList; putDestinations(value: NetworkServicesTlsRouteRulesActionDestinations[] | cdktf.IResolvable): void; resetDestinations(): void; get destinationsInput(): cdktf.IResolvable | NetworkServicesTlsRouteRulesActionDestinations[] | undefined; } export interface NetworkServicesTlsRouteRulesMatches { /** * ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#alpn NetworkServicesTlsRoute#alpn} */ readonly alpn?: string[]; /** * SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com. * Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#sni_host NetworkServicesTlsRoute#sni_host} */ readonly sniHost?: string[]; } export declare function networkServicesTlsRouteRulesMatchesToTerraform(struct?: NetworkServicesTlsRouteRulesMatches | cdktf.IResolvable): any; export declare function networkServicesTlsRouteRulesMatchesToHclTerraform(struct?: NetworkServicesTlsRouteRulesMatches | cdktf.IResolvable): any; export declare class NetworkServicesTlsRouteRulesMatchesOutputReference 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(): NetworkServicesTlsRouteRulesMatches | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesTlsRouteRulesMatches | cdktf.IResolvable | undefined); private _alpn?; get alpn(): string[]; set alpn(value: string[]); resetAlpn(): void; get alpnInput(): string[] | undefined; private _sniHost?; get sniHost(): string[]; set sniHost(value: string[]); resetSniHost(): void; get sniHostInput(): string[] | undefined; } export declare class NetworkServicesTlsRouteRulesMatchesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesTlsRouteRulesMatches[] | 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): NetworkServicesTlsRouteRulesMatchesOutputReference; } export interface NetworkServicesTlsRouteRules { /** * action block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#action NetworkServicesTlsRoute#action} */ readonly action: NetworkServicesTlsRouteRulesAction; /** * matches block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#matches NetworkServicesTlsRoute#matches} */ readonly matches: NetworkServicesTlsRouteRulesMatches[] | cdktf.IResolvable; } export declare function networkServicesTlsRouteRulesToTerraform(struct?: NetworkServicesTlsRouteRules | cdktf.IResolvable): any; export declare function networkServicesTlsRouteRulesToHclTerraform(struct?: NetworkServicesTlsRouteRules | cdktf.IResolvable): any; export declare class NetworkServicesTlsRouteRulesOutputReference 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(): NetworkServicesTlsRouteRules | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesTlsRouteRules | cdktf.IResolvable | undefined); private _action; get action(): NetworkServicesTlsRouteRulesActionOutputReference; putAction(value: NetworkServicesTlsRouteRulesAction): void; get actionInput(): NetworkServicesTlsRouteRulesAction | undefined; private _matches; get matches(): NetworkServicesTlsRouteRulesMatchesList; putMatches(value: NetworkServicesTlsRouteRulesMatches[] | cdktf.IResolvable): void; get matchesInput(): cdktf.IResolvable | NetworkServicesTlsRouteRulesMatches[] | undefined; } export declare class NetworkServicesTlsRouteRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesTlsRouteRules[] | 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): NetworkServicesTlsRouteRulesOutputReference; } export interface NetworkServicesTlsRouteTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#create NetworkServicesTlsRoute#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#delete NetworkServicesTlsRoute#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#update NetworkServicesTlsRoute#update} */ readonly update?: string; } export declare function networkServicesTlsRouteTimeoutsToTerraform(struct?: NetworkServicesTlsRouteTimeouts | cdktf.IResolvable): any; export declare function networkServicesTlsRouteTimeoutsToHclTerraform(struct?: NetworkServicesTlsRouteTimeouts | cdktf.IResolvable): any; export declare class NetworkServicesTlsRouteTimeoutsOutputReference 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(): NetworkServicesTlsRouteTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesTlsRouteTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route google_network_services_tls_route} */ export declare class NetworkServicesTlsRoute extends cdktf.TerraformResource { static readonly tfResourceType = "google_network_services_tls_route"; /** * Generates CDKTF code for importing a NetworkServicesTlsRoute resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the NetworkServicesTlsRoute to import * @param importFromId The id of the existing NetworkServicesTlsRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkServicesTlsRoute to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_tls_route google_network_services_tls_route} 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 NetworkServicesTlsRouteConfig */ constructor(scope: Construct, id: string, config: NetworkServicesTlsRouteConfig); get createTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _gateways?; get gateways(): string[]; set gateways(value: string[]); resetGateways(): void; get gatewaysInput(): string[] | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _meshes?; get meshes(): string[]; set meshes(value: string[]); resetMeshes(): void; get meshesInput(): string[] | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get selfLink(): string; get updateTime(): string; private _rules; get rules(): NetworkServicesTlsRouteRulesList; putRules(value: NetworkServicesTlsRouteRules[] | cdktf.IResolvable): void; get rulesInput(): cdktf.IResolvable | NetworkServicesTlsRouteRules[] | undefined; private _timeouts; get timeouts(): NetworkServicesTlsRouteTimeoutsOutputReference; putTimeouts(value: NetworkServicesTlsRouteTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetworkServicesTlsRouteTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }