UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

219 lines (218 loc) 12.1 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetworkSecurityGatewaySecurityPolicyRuleConfig extends cdktf.TerraformMetaArguments { /** * CEL expression for matching on L7/application level criteria. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#application_matcher NetworkSecurityGatewaySecurityPolicyRule#application_matcher} */ readonly applicationMatcher?: string; /** * Profile which tells what the primitive action should be. Possible values are: * ALLOW * DENY. Possible values: ["BASIC_PROFILE_UNSPECIFIED", "ALLOW", "DENY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#basic_profile NetworkSecurityGatewaySecurityPolicyRule#basic_profile} */ readonly basicProfile: string; /** * Free-text description of the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#description NetworkSecurityGatewaySecurityPolicyRule#description} */ readonly description?: string; /** * Whether the rule is enforced. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#enabled NetworkSecurityGatewaySecurityPolicyRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * The name of the gatewat security policy this rule belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#gateway_security_policy NetworkSecurityGatewaySecurityPolicyRule#gateway_security_policy} */ readonly gatewaySecurityPolicy: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#id NetworkSecurityGatewaySecurityPolicyRule#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; /** * The location of the gateway security policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#location NetworkSecurityGatewaySecurityPolicyRule#location} */ readonly location: string; /** * Name of the resource. ame is the full resource name so projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} * rule should match the pattern: (^a-z?$). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#name NetworkSecurityGatewaySecurityPolicyRule#name} */ readonly name: string; /** * Priority of the rule. Lower number corresponds to higher precedence. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#priority NetworkSecurityGatewaySecurityPolicyRule#priority} */ readonly priority: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#project NetworkSecurityGatewaySecurityPolicyRule#project} */ readonly project?: string; /** * CEL expression for matching on session criteria. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#session_matcher NetworkSecurityGatewaySecurityPolicyRule#session_matcher} */ readonly sessionMatcher: string; /** * Flag to enable TLS inspection of traffic matching on. Can only be true if the * parent GatewaySecurityPolicy references a TLSInspectionConfig. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#tls_inspection_enabled NetworkSecurityGatewaySecurityPolicyRule#tls_inspection_enabled} */ readonly tlsInspectionEnabled?: boolean | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#timeouts NetworkSecurityGatewaySecurityPolicyRule#timeouts} */ readonly timeouts?: NetworkSecurityGatewaySecurityPolicyRuleTimeouts; } export interface NetworkSecurityGatewaySecurityPolicyRuleTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#create NetworkSecurityGatewaySecurityPolicyRule#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#delete NetworkSecurityGatewaySecurityPolicyRule#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#update NetworkSecurityGatewaySecurityPolicyRule#update} */ readonly update?: string; } export declare function networkSecurityGatewaySecurityPolicyRuleTimeoutsToTerraform(struct?: NetworkSecurityGatewaySecurityPolicyRuleTimeouts | cdktf.IResolvable): any; export declare function networkSecurityGatewaySecurityPolicyRuleTimeoutsToHclTerraform(struct?: NetworkSecurityGatewaySecurityPolicyRuleTimeouts | cdktf.IResolvable): any; export declare class NetworkSecurityGatewaySecurityPolicyRuleTimeoutsOutputReference 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(): NetworkSecurityGatewaySecurityPolicyRuleTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetworkSecurityGatewaySecurityPolicyRuleTimeouts | 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.13.0/docs/resources/network_security_gateway_security_policy_rule google_network_security_gateway_security_policy_rule} */ export declare class NetworkSecurityGatewaySecurityPolicyRule extends cdktf.TerraformResource { static readonly tfResourceType = "google_network_security_gateway_security_policy_rule"; /** * Generates CDKTF code for importing a NetworkSecurityGatewaySecurityPolicyRule 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 NetworkSecurityGatewaySecurityPolicyRule to import * @param importFromId The id of the existing NetworkSecurityGatewaySecurityPolicyRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_security_gateway_security_policy_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetworkSecurityGatewaySecurityPolicyRule 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.13.0/docs/resources/network_security_gateway_security_policy_rule google_network_security_gateway_security_policy_rule} 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 NetworkSecurityGatewaySecurityPolicyRuleConfig */ constructor(scope: Construct, id: string, config: NetworkSecurityGatewaySecurityPolicyRuleConfig); private _applicationMatcher?; get applicationMatcher(): string; set applicationMatcher(value: string); resetApplicationMatcher(): void; get applicationMatcherInput(): string | undefined; private _basicProfile?; get basicProfile(): string; set basicProfile(value: string); get basicProfileInput(): string | undefined; get createTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): boolean | cdktf.IResolvable | undefined; private _gatewaySecurityPolicy?; get gatewaySecurityPolicy(): string; set gatewaySecurityPolicy(value: string); get gatewaySecurityPolicyInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get selfLink(): string; private _sessionMatcher?; get sessionMatcher(): string; set sessionMatcher(value: string); get sessionMatcherInput(): string | undefined; private _tlsInspectionEnabled?; get tlsInspectionEnabled(): boolean | cdktf.IResolvable; set tlsInspectionEnabled(value: boolean | cdktf.IResolvable); resetTlsInspectionEnabled(): void; get tlsInspectionEnabledInput(): boolean | cdktf.IResolvable | undefined; get updateTime(): string; private _timeouts; get timeouts(): NetworkSecurityGatewaySecurityPolicyRuleTimeoutsOutputReference; putTimeouts(value: NetworkSecurityGatewaySecurityPolicyRuleTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetworkSecurityGatewaySecurityPolicyRuleTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }