@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
863 lines • 76 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface NetworkServicesHttpRouteConfig 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_http_route#description NetworkServicesHttpRoute#description}
*/
readonly description?: string;
/**
* Gateways defines a list of gateways this HttpRoute 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.0/docs/resources/network_services_http_route#gateways NetworkServicesHttpRoute#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[];
/**
* Set of hosts that should match against the HTTP host header to select a HttpRoute to process the request.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#hostnames NetworkServicesHttpRoute#hostnames}
*/
readonly hostnames: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#id NetworkServicesHttpRoute#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 HttpRoute 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_http_route#labels NetworkServicesHttpRoute#labels}
*/
readonly labels?: {
[key: string]: string;
};
/**
* Meshes defines a list of meshes this HttpRoute 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.0/docs/resources/network_services_http_route#meshes NetworkServicesHttpRoute#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 HttpRoute resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#name NetworkServicesHttpRoute#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#project NetworkServicesHttpRoute#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_http_route#rules NetworkServicesHttpRoute#rules}
*/
readonly rules: NetworkServicesHttpRouteRules[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#timeouts NetworkServicesHttpRoute#timeouts}
*/
readonly timeouts?: NetworkServicesHttpRouteTimeouts;
}
export interface NetworkServicesHttpRouteRulesActionCorsPolicy {
/**
* In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#allow_credentials NetworkServicesHttpRoute#allow_credentials}
*/
readonly allowCredentials?: boolean | cdktf.IResolvable;
/**
* Specifies the content for Access-Control-Allow-Headers header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#allow_headers NetworkServicesHttpRoute#allow_headers}
*/
readonly allowHeaders?: string[];
/**
* Specifies the content for Access-Control-Allow-Methods header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#allow_methods NetworkServicesHttpRoute#allow_methods}
*/
readonly allowMethods?: string[];
/**
* Specifies the regular expression patterns that match allowed origins.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#allow_origin_regexes NetworkServicesHttpRoute#allow_origin_regexes}
*/
readonly allowOriginRegexes?: string[];
/**
* Specifies the list of origins that will be allowed to do CORS requests.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#allow_origins NetworkServicesHttpRoute#allow_origins}
*/
readonly allowOrigins?: string[];
/**
* If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#disabled NetworkServicesHttpRoute#disabled}
*/
readonly disabled?: boolean | cdktf.IResolvable;
/**
* Specifies the content for Access-Control-Expose-Headers header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#expose_headers NetworkServicesHttpRoute#expose_headers}
*/
readonly exposeHeaders?: string[];
/**
* Specifies how long result of a preflight request can be cached in seconds.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#max_age NetworkServicesHttpRoute#max_age}
*/
readonly maxAge?: string;
}
export declare function networkServicesHttpRouteRulesActionCorsPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference | NetworkServicesHttpRouteRulesActionCorsPolicy): any;
export declare function networkServicesHttpRouteRulesActionCorsPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference | NetworkServicesHttpRouteRulesActionCorsPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference 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(): NetworkServicesHttpRouteRulesActionCorsPolicy | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionCorsPolicy | undefined);
private _allowCredentials?;
get allowCredentials(): boolean | cdktf.IResolvable;
set allowCredentials(value: boolean | cdktf.IResolvable);
resetAllowCredentials(): void;
get allowCredentialsInput(): boolean | cdktf.IResolvable | undefined;
private _allowHeaders?;
get allowHeaders(): string[];
set allowHeaders(value: string[]);
resetAllowHeaders(): void;
get allowHeadersInput(): string[] | undefined;
private _allowMethods?;
get allowMethods(): string[];
set allowMethods(value: string[]);
resetAllowMethods(): void;
get allowMethodsInput(): string[] | undefined;
private _allowOriginRegexes?;
get allowOriginRegexes(): string[];
set allowOriginRegexes(value: string[]);
resetAllowOriginRegexes(): void;
get allowOriginRegexesInput(): string[] | undefined;
private _allowOrigins?;
get allowOrigins(): string[];
set allowOrigins(value: string[]);
resetAllowOrigins(): void;
get allowOriginsInput(): string[] | undefined;
private _disabled?;
get disabled(): boolean | cdktf.IResolvable;
set disabled(value: boolean | cdktf.IResolvable);
resetDisabled(): void;
get disabledInput(): boolean | cdktf.IResolvable | undefined;
private _exposeHeaders?;
get exposeHeaders(): string[];
set exposeHeaders(value: string[]);
resetExposeHeaders(): void;
get exposeHeadersInput(): string[] | undefined;
private _maxAge?;
get maxAge(): string;
set maxAge(value: string);
resetMaxAge(): void;
get maxAgeInput(): string | undefined;
}
export interface NetworkServicesHttpRouteRulesActionDestinations {
/**
* 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_http_route#service_name NetworkServicesHttpRoute#service_name}
*/
readonly serviceName?: string;
/**
* Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
* If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
* If weights are specified for any one service name, they need to be specified for all of them.
* If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#weight NetworkServicesHttpRoute#weight}
*/
readonly weight?: number;
}
export declare function networkServicesHttpRouteRulesActionDestinationsToTerraform(struct?: NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable): any;
export declare function networkServicesHttpRouteRulesActionDestinationsToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable): any;
export declare class NetworkServicesHttpRouteRulesActionDestinationsOutputReference 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(): NetworkServicesHttpRouteRulesActionDestinations | cdktf.IResolvable | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionDestinations | 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 NetworkServicesHttpRouteRulesActionDestinationsList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: NetworkServicesHttpRouteRulesActionDestinations[] | 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): NetworkServicesHttpRouteRulesActionDestinationsOutputReference;
}
export interface NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort {
/**
* 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_http_route#http_status NetworkServicesHttpRoute#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_http_route#percentage NetworkServicesHttpRoute#percentage}
*/
readonly percentage?: number;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyAbortToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference 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(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | 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 NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay {
/**
* 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_http_route#fixed_delay NetworkServicesHttpRoute#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_http_route#percentage NetworkServicesHttpRoute#percentage}
*/
readonly percentage?: number;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyDelayToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference 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(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | 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 NetworkServicesHttpRouteRulesActionFaultInjectionPolicy {
/**
* abort block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#abort NetworkServicesHttpRoute#abort}
*/
readonly abort?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort;
/**
* delay block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#delay NetworkServicesHttpRoute#delay}
*/
readonly delay?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay;
}
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): any;
export declare function networkServicesHttpRouteRulesActionFaultInjectionPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference | NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference 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(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined);
private _abort;
get abort(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbortOutputReference;
putAbort(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort): void;
resetAbort(): void;
get abortInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyAbort | undefined;
private _delay;
get delay(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelayOutputReference;
putDelay(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay): void;
resetDelay(): void;
get delayInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyDelay | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRedirect {
/**
* The host that will be used in the redirect response instead of the one that was supplied in the request.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#host_redirect NetworkServicesHttpRoute#host_redirect}
*/
readonly hostRedirect?: string;
/**
* If set to true, the URL scheme in the redirected request is set to https.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#https_redirect NetworkServicesHttpRoute#https_redirect}
*/
readonly httpsRedirect?: boolean | cdktf.IResolvable;
/**
* The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#path_redirect NetworkServicesHttpRoute#path_redirect}
*/
readonly pathRedirect?: string;
/**
* The port that will be used in the redirected request instead of the one that was supplied in the request.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#port_redirect NetworkServicesHttpRoute#port_redirect}
*/
readonly portRedirect?: number;
/**
* Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#prefix_rewrite NetworkServicesHttpRoute#prefix_rewrite}
*/
readonly prefixRewrite?: string;
/**
* The HTTP Status code to use for the redirect.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#response_code NetworkServicesHttpRoute#response_code}
*/
readonly responseCode?: string;
/**
* If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#strip_query NetworkServicesHttpRoute#strip_query}
*/
readonly stripQuery?: boolean | cdktf.IResolvable;
}
export declare function networkServicesHttpRouteRulesActionRedirectToTerraform(struct?: NetworkServicesHttpRouteRulesActionRedirectOutputReference | NetworkServicesHttpRouteRulesActionRedirect): any;
export declare function networkServicesHttpRouteRulesActionRedirectToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRedirectOutputReference | NetworkServicesHttpRouteRulesActionRedirect): any;
export declare class NetworkServicesHttpRouteRulesActionRedirectOutputReference 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(): NetworkServicesHttpRouteRulesActionRedirect | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionRedirect | undefined);
private _hostRedirect?;
get hostRedirect(): string;
set hostRedirect(value: string);
resetHostRedirect(): void;
get hostRedirectInput(): string | undefined;
private _httpsRedirect?;
get httpsRedirect(): boolean | cdktf.IResolvable;
set httpsRedirect(value: boolean | cdktf.IResolvable);
resetHttpsRedirect(): void;
get httpsRedirectInput(): boolean | cdktf.IResolvable | undefined;
private _pathRedirect?;
get pathRedirect(): string;
set pathRedirect(value: string);
resetPathRedirect(): void;
get pathRedirectInput(): string | undefined;
private _portRedirect?;
get portRedirect(): number;
set portRedirect(value: number);
resetPortRedirect(): void;
get portRedirectInput(): number | undefined;
private _prefixRewrite?;
get prefixRewrite(): string;
set prefixRewrite(value: string);
resetPrefixRewrite(): void;
get prefixRewriteInput(): string | undefined;
private _responseCode?;
get responseCode(): string;
set responseCode(value: string);
resetResponseCode(): void;
get responseCodeInput(): string | undefined;
private _stripQuery?;
get stripQuery(): boolean | cdktf.IResolvable;
set stripQuery(value: boolean | cdktf.IResolvable);
resetStripQuery(): void;
get stripQueryInput(): boolean | cdktf.IResolvable | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRequestHeaderModifier {
/**
* Add the headers with given map where key is the name of the header, value is the value of the header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#add NetworkServicesHttpRoute#add}
*/
readonly add?: {
[key: string]: string;
};
/**
* Remove headers (matching by header names) specified in the list.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#remove NetworkServicesHttpRoute#remove}
*/
readonly remove?: string[];
/**
* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#set NetworkServicesHttpRoute#set}
*/
readonly set?: {
[key: string]: string;
};
}
export declare function networkServicesHttpRouteRulesActionRequestHeaderModifierToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionRequestHeaderModifier): any;
export declare function networkServicesHttpRouteRulesActionRequestHeaderModifierToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionRequestHeaderModifier): any;
export declare class NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference 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(): NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined);
private _add?;
get add(): {
[key: string]: string;
};
set add(value: {
[key: string]: string;
});
resetAdd(): void;
get addInput(): {
[key: string]: string;
} | undefined;
private _remove?;
get remove(): string[];
set remove(value: string[]);
resetRemove(): void;
get removeInput(): string[] | undefined;
private _set?;
get set(): {
[key: string]: string;
};
set set(value: {
[key: string]: string;
});
resetSet(): void;
get setInput(): {
[key: string]: string;
} | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination {
/**
* 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_http_route#service_name NetworkServicesHttpRoute#service_name}
*/
readonly serviceName?: string;
/**
* Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
* If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
* If weights are specified for any one service name, they need to be specified for all of them.
* If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#weight NetworkServicesHttpRoute#weight}
*/
readonly weight?: number;
}
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): any;
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): any;
export declare class NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference 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(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | 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 interface NetworkServicesHttpRouteRulesActionRequestMirrorPolicy {
/**
* destination block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#destination NetworkServicesHttpRoute#destination}
*/
readonly destination?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination;
}
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): any;
export declare function networkServicesHttpRouteRulesActionRequestMirrorPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference | NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference 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(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined);
private _destination;
get destination(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestinationOutputReference;
putDestination(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination): void;
resetDestination(): void;
get destinationInput(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyDestination | undefined;
}
export interface NetworkServicesHttpRouteRulesActionResponseHeaderModifier {
/**
* Add the headers with given map where key is the name of the header, value is the value of the header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#add NetworkServicesHttpRoute#add}
*/
readonly add?: {
[key: string]: string;
};
/**
* Remove headers (matching by header names) specified in the list.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#remove NetworkServicesHttpRoute#remove}
*/
readonly remove?: string[];
/**
* Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#set NetworkServicesHttpRoute#set}
*/
readonly set?: {
[key: string]: string;
};
}
export declare function networkServicesHttpRouteRulesActionResponseHeaderModifierToTerraform(struct?: NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionResponseHeaderModifier): any;
export declare function networkServicesHttpRouteRulesActionResponseHeaderModifierToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference | NetworkServicesHttpRouteRulesActionResponseHeaderModifier): any;
export declare class NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference 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(): NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined);
private _add?;
get add(): {
[key: string]: string;
};
set add(value: {
[key: string]: string;
});
resetAdd(): void;
get addInput(): {
[key: string]: string;
} | undefined;
private _remove?;
get remove(): string[];
set remove(value: string[]);
resetRemove(): void;
get removeInput(): string[] | undefined;
private _set?;
get set(): {
[key: string]: string;
};
set set(value: {
[key: string]: string;
});
resetSet(): void;
get setInput(): {
[key: string]: string;
} | undefined;
}
export interface NetworkServicesHttpRouteRulesActionRetryPolicy {
/**
* 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_http_route#num_retries NetworkServicesHttpRoute#num_retries}
*/
readonly numRetries?: number;
/**
* Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#per_try_timeout NetworkServicesHttpRoute#per_try_timeout}
*/
readonly perTryTimeout?: string;
/**
* Specifies one or more conditions when this retry policy applies.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#retry_conditions NetworkServicesHttpRoute#retry_conditions}
*/
readonly retryConditions?: string[];
}
export declare function networkServicesHttpRouteRulesActionRetryPolicyToTerraform(struct?: NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference | NetworkServicesHttpRouteRulesActionRetryPolicy): any;
export declare function networkServicesHttpRouteRulesActionRetryPolicyToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference | NetworkServicesHttpRouteRulesActionRetryPolicy): any;
export declare class NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference 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(): NetworkServicesHttpRouteRulesActionRetryPolicy | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionRetryPolicy | undefined);
private _numRetries?;
get numRetries(): number;
set numRetries(value: number);
resetNumRetries(): void;
get numRetriesInput(): number | undefined;
private _perTryTimeout?;
get perTryTimeout(): string;
set perTryTimeout(value: string);
resetPerTryTimeout(): void;
get perTryTimeoutInput(): string | undefined;
private _retryConditions?;
get retryConditions(): string[];
set retryConditions(value: string[]);
resetRetryConditions(): void;
get retryConditionsInput(): string[] | undefined;
}
export interface NetworkServicesHttpRouteRulesActionUrlRewrite {
/**
* Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#host_rewrite NetworkServicesHttpRoute#host_rewrite}
*/
readonly hostRewrite?: string;
/**
* Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#path_prefix_rewrite NetworkServicesHttpRoute#path_prefix_rewrite}
*/
readonly pathPrefixRewrite?: string;
}
export declare function networkServicesHttpRouteRulesActionUrlRewriteToTerraform(struct?: NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference | NetworkServicesHttpRouteRulesActionUrlRewrite): any;
export declare function networkServicesHttpRouteRulesActionUrlRewriteToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference | NetworkServicesHttpRouteRulesActionUrlRewrite): any;
export declare class NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference 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(): NetworkServicesHttpRouteRulesActionUrlRewrite | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesActionUrlRewrite | undefined);
private _hostRewrite?;
get hostRewrite(): string;
set hostRewrite(value: string);
resetHostRewrite(): void;
get hostRewriteInput(): string | undefined;
private _pathPrefixRewrite?;
get pathPrefixRewrite(): string;
set pathPrefixRewrite(value: string);
resetPathPrefixRewrite(): void;
get pathPrefixRewriteInput(): string | undefined;
}
export interface NetworkServicesHttpRouteRulesAction {
/**
* 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_http_route#timeout NetworkServicesHttpRoute#timeout}
*/
readonly timeout?: string;
/**
* cors_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#cors_policy NetworkServicesHttpRoute#cors_policy}
*/
readonly corsPolicy?: NetworkServicesHttpRouteRulesActionCorsPolicy;
/**
* destinations block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#destinations NetworkServicesHttpRoute#destinations}
*/
readonly destinations?: NetworkServicesHttpRouteRulesActionDestinations[] | 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_http_route#fault_injection_policy NetworkServicesHttpRoute#fault_injection_policy}
*/
readonly faultInjectionPolicy?: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy;
/**
* redirect block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#redirect NetworkServicesHttpRoute#redirect}
*/
readonly redirect?: NetworkServicesHttpRouteRulesActionRedirect;
/**
* request_header_modifier block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#request_header_modifier NetworkServicesHttpRoute#request_header_modifier}
*/
readonly requestHeaderModifier?: NetworkServicesHttpRouteRulesActionRequestHeaderModifier;
/**
* request_mirror_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#request_mirror_policy NetworkServicesHttpRoute#request_mirror_policy}
*/
readonly requestMirrorPolicy?: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy;
/**
* response_header_modifier block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#response_header_modifier NetworkServicesHttpRoute#response_header_modifier}
*/
readonly responseHeaderModifier?: NetworkServicesHttpRouteRulesActionResponseHeaderModifier;
/**
* retry_policy block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#retry_policy NetworkServicesHttpRoute#retry_policy}
*/
readonly retryPolicy?: NetworkServicesHttpRouteRulesActionRetryPolicy;
/**
* url_rewrite block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#url_rewrite NetworkServicesHttpRoute#url_rewrite}
*/
readonly urlRewrite?: NetworkServicesHttpRouteRulesActionUrlRewrite;
}
export declare function networkServicesHttpRouteRulesActionToTerraform(struct?: NetworkServicesHttpRouteRulesActionOutputReference | NetworkServicesHttpRouteRulesAction): any;
export declare function networkServicesHttpRouteRulesActionToHclTerraform(struct?: NetworkServicesHttpRouteRulesActionOutputReference | NetworkServicesHttpRouteRulesAction): any;
export declare class NetworkServicesHttpRouteRulesActionOutputReference 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(): NetworkServicesHttpRouteRulesAction | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesAction | undefined);
private _timeout?;
get timeout(): string;
set timeout(value: string);
resetTimeout(): void;
get timeoutInput(): string | undefined;
private _corsPolicy;
get corsPolicy(): NetworkServicesHttpRouteRulesActionCorsPolicyOutputReference;
putCorsPolicy(value: NetworkServicesHttpRouteRulesActionCorsPolicy): void;
resetCorsPolicy(): void;
get corsPolicyInput(): NetworkServicesHttpRouteRulesActionCorsPolicy | undefined;
private _destinations;
get destinations(): NetworkServicesHttpRouteRulesActionDestinationsList;
putDestinations(value: NetworkServicesHttpRouteRulesActionDestinations[] | cdktf.IResolvable): void;
resetDestinations(): void;
get destinationsInput(): cdktf.IResolvable | NetworkServicesHttpRouteRulesActionDestinations[] | undefined;
private _faultInjectionPolicy;
get faultInjectionPolicy(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicyOutputReference;
putFaultInjectionPolicy(value: NetworkServicesHttpRouteRulesActionFaultInjectionPolicy): void;
resetFaultInjectionPolicy(): void;
get faultInjectionPolicyInput(): NetworkServicesHttpRouteRulesActionFaultInjectionPolicy | undefined;
private _redirect;
get redirect(): NetworkServicesHttpRouteRulesActionRedirectOutputReference;
putRedirect(value: NetworkServicesHttpRouteRulesActionRedirect): void;
resetRedirect(): void;
get redirectInput(): NetworkServicesHttpRouteRulesActionRedirect | undefined;
private _requestHeaderModifier;
get requestHeaderModifier(): NetworkServicesHttpRouteRulesActionRequestHeaderModifierOutputReference;
putRequestHeaderModifier(value: NetworkServicesHttpRouteRulesActionRequestHeaderModifier): void;
resetRequestHeaderModifier(): void;
get requestHeaderModifierInput(): NetworkServicesHttpRouteRulesActionRequestHeaderModifier | undefined;
private _requestMirrorPolicy;
get requestMirrorPolicy(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicyOutputReference;
putRequestMirrorPolicy(value: NetworkServicesHttpRouteRulesActionRequestMirrorPolicy): void;
resetRequestMirrorPolicy(): void;
get requestMirrorPolicyInput(): NetworkServicesHttpRouteRulesActionRequestMirrorPolicy | undefined;
private _responseHeaderModifier;
get responseHeaderModifier(): NetworkServicesHttpRouteRulesActionResponseHeaderModifierOutputReference;
putResponseHeaderModifier(value: NetworkServicesHttpRouteRulesActionResponseHeaderModifier): void;
resetResponseHeaderModifier(): void;
get responseHeaderModifierInput(): NetworkServicesHttpRouteRulesActionResponseHeaderModifier | undefined;
private _retryPolicy;
get retryPolicy(): NetworkServicesHttpRouteRulesActionRetryPolicyOutputReference;
putRetryPolicy(value: NetworkServicesHttpRouteRulesActionRetryPolicy): void;
resetRetryPolicy(): void;
get retryPolicyInput(): NetworkServicesHttpRouteRulesActionRetryPolicy | undefined;
private _urlRewrite;
get urlRewrite(): NetworkServicesHttpRouteRulesActionUrlRewriteOutputReference;
putUrlRewrite(value: NetworkServicesHttpRouteRulesActionUrlRewrite): void;
resetUrlRewrite(): void;
get urlRewriteInput(): NetworkServicesHttpRouteRulesActionUrlRewrite | undefined;
}
export interface NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch {
/**
* End of the range (exclusive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#end NetworkServicesHttpRoute#end}
*/
readonly end: number;
/**
* Start of the range (inclusive).
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/network_services_http_route#start NetworkServicesHttpRoute#start}
*/
readonly start: number;
}
export declare function networkServicesHttpRouteRulesMatchesHeadersRangeMatchToTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference | NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch): any;
export declare function networkServicesHttpRouteRulesMatchesHeadersRangeMatchToHclTerraform(struct?: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference | NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch): any;
export declare class NetworkServicesHttpRouteRulesMatchesHeadersRangeMatchOutputReference 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(): NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch | undefined;
set internalValue(value: NetworkServicesHttpRouteRulesMatchesHeadersRangeMatch | undefined);
private _end?;
get end(): number;
set end(v