@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
690 lines (689 loc) • 38.2 kB
TypeScript
/**
* 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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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;
};
}