UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

690 lines (689 loc) 38.2 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetworkServicesGrpcRouteConfig 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_grpc_route#description NetworkServicesGrpcRoute#description} */ readonly description?: string; /** * List of gateways this GrpcRoute is attached to, as one of the routing rules to route the requests served by the gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#gateways NetworkServicesGrpcRoute#gateways} */ readonly gateways?: string[]; /** * Required. Service hostnames with an optional port for which this route describes traffic. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#hostnames NetworkServicesGrpcRoute#hostnames} */ readonly hostnames: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#id NetworkServicesGrpcRoute#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; /** * Set of label tags associated with the GrpcRoute resource. * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#labels NetworkServicesGrpcRoute#labels} */ readonly labels?: { [key: string]: string; }; /** * Location (region) of the GRPCRoute resource to be created. Only the value 'global' is currently allowed; defaults to 'global' if omitted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#location NetworkServicesGrpcRoute#location} */ readonly location?: string; /** * List of meshes this GrpcRoute is attached to, as one of the routing rules to route the requests served by the mesh. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#meshes NetworkServicesGrpcRoute#meshes} */ readonly meshes?: string[]; /** * Name of the GrpcRoute resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#name NetworkServicesGrpcRoute#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#project NetworkServicesGrpcRoute#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_grpc_route#rules NetworkServicesGrpcRoute#rules} */ readonly rules: NetworkServicesGrpcRouteRules[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#timeouts NetworkServicesGrpcRoute#timeouts} */ readonly timeouts?: NetworkServicesGrpcRouteTimeouts; } export interface NetworkServicesGrpcRouteRulesActionDestinations { /** * 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_grpc_route#service_name NetworkServicesGrpcRoute#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_grpc_route#weight NetworkServicesGrpcRoute#weight} */ readonly weight?: number; } export declare function networkServicesGrpcRouteRulesActionDestinationsToTerraform(struct?: NetworkServicesGrpcRouteRulesActionDestinations | cdktf.IResolvable): any; export declare function networkServicesGrpcRouteRulesActionDestinationsToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionDestinations | cdktf.IResolvable): any; export declare class NetworkServicesGrpcRouteRulesActionDestinationsOutputReference 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(): NetworkServicesGrpcRouteRulesActionDestinations | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesActionDestinations | 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 NetworkServicesGrpcRouteRulesActionDestinationsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesGrpcRouteRulesActionDestinations[] | 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): NetworkServicesGrpcRouteRulesActionDestinationsOutputReference; } export interface NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort { /** * The HTTP status code used to abort the request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#http_status NetworkServicesGrpcRoute#http_status} */ readonly httpStatus?: number; /** * The percentage of traffic which will be aborted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#percentage NetworkServicesGrpcRoute#percentage} */ readonly percentage?: number; } export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortToTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort): any; export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort): any; export declare class NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortOutputReference 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(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort | undefined); private _httpStatus?; get httpStatus(): number; set httpStatus(value: number); resetHttpStatus(): void; get httpStatusInput(): number | undefined; private _percentage?; get percentage(): number; set percentage(value: number); resetPercentage(): void; get percentageInput(): number | undefined; } export interface NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay { /** * Specify a fixed delay before forwarding the request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#fixed_delay NetworkServicesGrpcRoute#fixed_delay} */ readonly fixedDelay?: string; /** * The percentage of traffic on which delay will be injected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#percentage NetworkServicesGrpcRoute#percentage} */ readonly percentage?: number; } export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayToTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay): any; export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay): any; export declare class NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayOutputReference 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(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay | undefined); private _fixedDelay?; get fixedDelay(): string; set fixedDelay(value: string); resetFixedDelay(): void; get fixedDelayInput(): string | undefined; private _percentage?; get percentage(): number; set percentage(value: number); resetPercentage(): void; get percentageInput(): number | undefined; } export interface NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy { /** * abort block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#abort NetworkServicesGrpcRoute#abort} */ readonly abort?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort; /** * delay block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#delay NetworkServicesGrpcRoute#delay} */ readonly delay?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay; } export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyToTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy): any; export declare function networkServicesGrpcRouteRulesActionFaultInjectionPolicyToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy): any; export declare class NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyOutputReference 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(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy | undefined); private _abort; get abort(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbortOutputReference; putAbort(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort): void; resetAbort(): void; get abortInput(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyAbort | undefined; private _delay; get delay(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelayOutputReference; putDelay(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay): void; resetDelay(): void; get delayInput(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyDelay | undefined; } export interface NetworkServicesGrpcRouteRulesActionRetryPolicy { /** * Specifies the allowed number of retries. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#num_retries NetworkServicesGrpcRoute#num_retries} */ readonly numRetries?: number; /** * Specifies one or more conditions when this retry policy applies. Possible values: ["connect-failure", "refused-stream", "cancelled", "deadline-exceeded", "resource-exhausted", "unavailable"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#retry_conditions NetworkServicesGrpcRoute#retry_conditions} */ readonly retryConditions?: string[]; } export declare function networkServicesGrpcRouteRulesActionRetryPolicyToTerraform(struct?: NetworkServicesGrpcRouteRulesActionRetryPolicyOutputReference | NetworkServicesGrpcRouteRulesActionRetryPolicy): any; export declare function networkServicesGrpcRouteRulesActionRetryPolicyToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionRetryPolicyOutputReference | NetworkServicesGrpcRouteRulesActionRetryPolicy): any; export declare class NetworkServicesGrpcRouteRulesActionRetryPolicyOutputReference 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(): NetworkServicesGrpcRouteRulesActionRetryPolicy | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesActionRetryPolicy | undefined); private _numRetries?; get numRetries(): number; set numRetries(value: number); resetNumRetries(): void; get numRetriesInput(): number | undefined; private _retryConditions?; get retryConditions(): string[]; set retryConditions(value: string[]); resetRetryConditions(): void; get retryConditionsInput(): string[] | undefined; } export interface NetworkServicesGrpcRouteRulesAction { /** * Specifies the timeout for selected route. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#timeout NetworkServicesGrpcRoute#timeout} */ readonly timeout?: string; /** * destinations block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#destinations NetworkServicesGrpcRoute#destinations} */ readonly destinations?: NetworkServicesGrpcRouteRulesActionDestinations[] | cdktf.IResolvable; /** * fault_injection_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#fault_injection_policy NetworkServicesGrpcRoute#fault_injection_policy} */ readonly faultInjectionPolicy?: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy; /** * retry_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#retry_policy NetworkServicesGrpcRoute#retry_policy} */ readonly retryPolicy?: NetworkServicesGrpcRouteRulesActionRetryPolicy; } export declare function networkServicesGrpcRouteRulesActionToTerraform(struct?: NetworkServicesGrpcRouteRulesActionOutputReference | NetworkServicesGrpcRouteRulesAction): any; export declare function networkServicesGrpcRouteRulesActionToHclTerraform(struct?: NetworkServicesGrpcRouteRulesActionOutputReference | NetworkServicesGrpcRouteRulesAction): any; export declare class NetworkServicesGrpcRouteRulesActionOutputReference 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(): NetworkServicesGrpcRouteRulesAction | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesAction | undefined); private _timeout?; get timeout(): string; set timeout(value: string); resetTimeout(): void; get timeoutInput(): string | undefined; private _destinations; get destinations(): NetworkServicesGrpcRouteRulesActionDestinationsList; putDestinations(value: NetworkServicesGrpcRouteRulesActionDestinations[] | cdktf.IResolvable): void; resetDestinations(): void; get destinationsInput(): cdktf.IResolvable | NetworkServicesGrpcRouteRulesActionDestinations[] | undefined; private _faultInjectionPolicy; get faultInjectionPolicy(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicyOutputReference; putFaultInjectionPolicy(value: NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy): void; resetFaultInjectionPolicy(): void; get faultInjectionPolicyInput(): NetworkServicesGrpcRouteRulesActionFaultInjectionPolicy | undefined; private _retryPolicy; get retryPolicy(): NetworkServicesGrpcRouteRulesActionRetryPolicyOutputReference; putRetryPolicy(value: NetworkServicesGrpcRouteRulesActionRetryPolicy): void; resetRetryPolicy(): void; get retryPolicyInput(): NetworkServicesGrpcRouteRulesActionRetryPolicy | undefined; } export interface NetworkServicesGrpcRouteRulesMatchesHeaders { /** * Required. The key of the header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#key NetworkServicesGrpcRoute#key} */ readonly key: string; /** * The type of match. Default value: "EXACT" Possible values: ["TYPE_UNSPECIFIED", "EXACT", "REGULAR_EXPRESSION"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#type NetworkServicesGrpcRoute#type} */ readonly type?: string; /** * Required. The value of the header. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#value NetworkServicesGrpcRoute#value} */ readonly value: string; } export declare function networkServicesGrpcRouteRulesMatchesHeadersToTerraform(struct?: NetworkServicesGrpcRouteRulesMatchesHeaders | cdktf.IResolvable): any; export declare function networkServicesGrpcRouteRulesMatchesHeadersToHclTerraform(struct?: NetworkServicesGrpcRouteRulesMatchesHeaders | cdktf.IResolvable): any; export declare class NetworkServicesGrpcRouteRulesMatchesHeadersOutputReference 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(): NetworkServicesGrpcRouteRulesMatchesHeaders | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesMatchesHeaders | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string | undefined; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; private _value?; get value(): string; set value(value: string); get valueInput(): string | undefined; } export declare class NetworkServicesGrpcRouteRulesMatchesHeadersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesGrpcRouteRulesMatchesHeaders[] | 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): NetworkServicesGrpcRouteRulesMatchesHeadersOutputReference; } export interface NetworkServicesGrpcRouteRulesMatchesMethod { /** * Specifies that matches are case sensitive. The default value is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#case_sensitive NetworkServicesGrpcRoute#case_sensitive} */ readonly caseSensitive?: boolean | cdktf.IResolvable; /** * Required. Name of the method to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#grpc_method NetworkServicesGrpcRoute#grpc_method} */ readonly grpcMethod: string; /** * Required. Name of the service to match against. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#grpc_service NetworkServicesGrpcRoute#grpc_service} */ readonly grpcService: string; } export declare function networkServicesGrpcRouteRulesMatchesMethodToTerraform(struct?: NetworkServicesGrpcRouteRulesMatchesMethodOutputReference | NetworkServicesGrpcRouteRulesMatchesMethod): any; export declare function networkServicesGrpcRouteRulesMatchesMethodToHclTerraform(struct?: NetworkServicesGrpcRouteRulesMatchesMethodOutputReference | NetworkServicesGrpcRouteRulesMatchesMethod): any; export declare class NetworkServicesGrpcRouteRulesMatchesMethodOutputReference 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(): NetworkServicesGrpcRouteRulesMatchesMethod | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesMatchesMethod | undefined); private _caseSensitive?; get caseSensitive(): boolean | cdktf.IResolvable; set caseSensitive(value: boolean | cdktf.IResolvable); resetCaseSensitive(): void; get caseSensitiveInput(): boolean | cdktf.IResolvable | undefined; private _grpcMethod?; get grpcMethod(): string; set grpcMethod(value: string); get grpcMethodInput(): string | undefined; private _grpcService?; get grpcService(): string; set grpcService(value: string); get grpcServiceInput(): string | undefined; } export interface NetworkServicesGrpcRouteRulesMatches { /** * headers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#headers NetworkServicesGrpcRoute#headers} */ readonly headers?: NetworkServicesGrpcRouteRulesMatchesHeaders[] | cdktf.IResolvable; /** * method block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#method NetworkServicesGrpcRoute#method} */ readonly method?: NetworkServicesGrpcRouteRulesMatchesMethod; } export declare function networkServicesGrpcRouteRulesMatchesToTerraform(struct?: NetworkServicesGrpcRouteRulesMatches | cdktf.IResolvable): any; export declare function networkServicesGrpcRouteRulesMatchesToHclTerraform(struct?: NetworkServicesGrpcRouteRulesMatches | cdktf.IResolvable): any; export declare class NetworkServicesGrpcRouteRulesMatchesOutputReference 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(): NetworkServicesGrpcRouteRulesMatches | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesGrpcRouteRulesMatches | cdktf.IResolvable | undefined); private _headers; get headers(): NetworkServicesGrpcRouteRulesMatchesHeadersList; putHeaders(value: NetworkServicesGrpcRouteRulesMatchesHeaders[] | cdktf.IResolvable): void; resetHeaders(): void; get headersInput(): cdktf.IResolvable | NetworkServicesGrpcRouteRulesMatchesHeaders[] | undefined; private _method; get method(): NetworkServicesGrpcRouteRulesMatchesMethodOutputReference; putMethod(value: NetworkServicesGrpcRouteRulesMatchesMethod): void; resetMethod(): void; get methodInput(): NetworkServicesGrpcRouteRulesMatchesMethod | undefined; } export declare class NetworkServicesGrpcRouteRulesMatchesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesGrpcRouteRulesMatches[] | 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): NetworkServicesGrpcRouteRulesMatchesOutputReference; } export interface NetworkServicesGrpcRouteRules { /** * action block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#action NetworkServicesGrpcRoute#action} */ readonly action?: NetworkServicesGrpcRouteRulesAction; /** * matches block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#matches NetworkServicesGrpcRoute#matches} */ readonly matches?: NetworkServicesGrpcRouteRulesMatches[] | cdktf.IResolvable; } export declare function networkServicesGrpcRouteRulesToTerraform(struct?: NetworkServicesGrpcRouteRules | cdktf.IResolvable): any; export declare function networkServicesGrpcRouteRulesToHclTerraform(struct?: NetworkServicesGrpcRouteRules | cdktf.IResolvable): any; export declare class NetworkServicesGrpcRouteRulesOutputReference 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(): NetworkServicesGrpcRouteRules | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesGrpcRouteRules | cdktf.IResolvable | undefined); private _action; get action(): NetworkServicesGrpcRouteRulesActionOutputReference; putAction(value: NetworkServicesGrpcRouteRulesAction): void; resetAction(): void; get actionInput(): NetworkServicesGrpcRouteRulesAction | undefined; private _matches; get matches(): NetworkServicesGrpcRouteRulesMatchesList; putMatches(value: NetworkServicesGrpcRouteRulesMatches[] | cdktf.IResolvable): void; resetMatches(): void; get matchesInput(): cdktf.IResolvable | NetworkServicesGrpcRouteRulesMatches[] | undefined; } export declare class NetworkServicesGrpcRouteRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: NetworkServicesGrpcRouteRules[] | 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): NetworkServicesGrpcRouteRulesOutputReference; } export interface NetworkServicesGrpcRouteTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#create NetworkServicesGrpcRoute#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#delete NetworkServicesGrpcRoute#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#update NetworkServicesGrpcRoute#update} */ readonly update?: string; } export declare function networkServicesGrpcRouteTimeoutsToTerraform(struct?: NetworkServicesGrpcRouteTimeouts | cdktf.IResolvable): any; export declare function networkServicesGrpcRouteTimeoutsToHclTerraform(struct?: NetworkServicesGrpcRouteTimeouts | cdktf.IResolvable): any; export declare class NetworkServicesGrpcRouteTimeoutsOutputReference 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(): NetworkServicesGrpcRouteTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetworkServicesGrpcRouteTimeouts | 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_grpc_route google_network_services_grpc_route} */ export declare class NetworkServicesGrpcRoute extends cdktf.TerraformResource { static readonly tfResourceType = "google_network_services_grpc_route"; /** * Generates CDKTF code for importing a NetworkServicesGrpcRoute 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 NetworkServicesGrpcRoute to import * @param importFromId The id of the existing NetworkServicesGrpcRoute that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/network_services_grpc_route#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkServicesGrpcRoute 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_grpc_route google_network_services_grpc_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 NetworkServicesGrpcRouteConfig */ constructor(scope: Construct, id: string, config: NetworkServicesGrpcRouteConfig); get createTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _gateways?; get gateways(): string[]; set gateways(value: string[]); resetGateways(): void; get gatewaysInput(): string[] | undefined; private _hostnames?; get hostnames(): string[]; set hostnames(value: string[]); get hostnamesInput(): string[] | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _location?; get location(): string; set location(value: string); resetLocation(): void; get locationInput(): 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; private _terraformLabels; get terraformLabels(): cdktf.StringMap; get updateTime(): string; private _rules; get rules(): NetworkServicesGrpcRouteRulesList; putRules(value: NetworkServicesGrpcRouteRules[] | cdktf.IResolvable): void; get rulesInput(): cdktf.IResolvable | NetworkServicesGrpcRouteRules[] | undefined; private _timeouts; get timeouts(): NetworkServicesGrpcRouteTimeoutsOutputReference; putTimeouts(value: NetworkServicesGrpcRouteTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetworkServicesGrpcRouteTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }