UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

662 lines (661 loc) 36.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeFirewallPolicyWithRulesConfig extends cdktf.TerraformMetaArguments { /** * An optional description of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#description ComputeFirewallPolicyWithRules#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#id ComputeFirewallPolicyWithRules#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 parent of this FirewallPolicy in the Cloud Resource Hierarchy. * Format: organizations/{organization_id} or folders/{folder_id} * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#parent ComputeFirewallPolicyWithRules#parent} */ readonly parent: string; /** * A textual name of the security policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#short_name ComputeFirewallPolicyWithRules#short_name} */ readonly shortName: string; /** * rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#rule ComputeFirewallPolicyWithRules#rule} */ readonly rule: ComputeFirewallPolicyWithRulesRule[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#timeouts ComputeFirewallPolicyWithRules#timeouts} */ readonly timeouts?: ComputeFirewallPolicyWithRulesTimeouts; } export interface ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4Config { } export declare function computeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigToTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4Config): any; export declare function computeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigToHclTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4Config): any; export declare class ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4Config | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4Config | undefined); get ipProtocol(): string; get ports(): string[]; } export declare class ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigOutputReference; } export interface ComputeFirewallPolicyWithRulesPredefinedRulesMatch { } export declare function computeFirewallPolicyWithRulesPredefinedRulesMatchToTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRulesMatch): any; export declare function computeFirewallPolicyWithRulesPredefinedRulesMatchToHclTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRulesMatch): any; export declare class ComputeFirewallPolicyWithRulesPredefinedRulesMatchOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): ComputeFirewallPolicyWithRulesPredefinedRulesMatch | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesPredefinedRulesMatch | undefined); get destAddressGroups(): string[]; get destFqdns(): string[]; get destIpRanges(): string[]; get destRegionCodes(): string[]; get destThreatIntelligences(): string[]; private _layer4Config; get layer4Config(): ComputeFirewallPolicyWithRulesPredefinedRulesMatchLayer4ConfigList; get srcAddressGroups(): string[]; get srcFqdns(): string[]; get srcIpRanges(): string[]; get srcRegionCodes(): string[]; get srcThreatIntelligences(): string[]; } export declare class ComputeFirewallPolicyWithRulesPredefinedRulesMatchList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): ComputeFirewallPolicyWithRulesPredefinedRulesMatchOutputReference; } export interface ComputeFirewallPolicyWithRulesPredefinedRules { } export declare function computeFirewallPolicyWithRulesPredefinedRulesToTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRules): any; export declare function computeFirewallPolicyWithRulesPredefinedRulesToHclTerraform(struct?: ComputeFirewallPolicyWithRulesPredefinedRules): any; export declare class ComputeFirewallPolicyWithRulesPredefinedRulesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): ComputeFirewallPolicyWithRulesPredefinedRules | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesPredefinedRules | undefined); get action(): string; get description(): string; get direction(): string; get disabled(): cdktf.IResolvable; get enableLogging(): cdktf.IResolvable; private _match; get match(): ComputeFirewallPolicyWithRulesPredefinedRulesMatchList; get priority(): number; get ruleName(): string; get securityProfileGroup(): string; get targetResources(): string[]; get targetServiceAccounts(): string[]; get tlsInspect(): cdktf.IResolvable; } export declare class ComputeFirewallPolicyWithRulesPredefinedRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): ComputeFirewallPolicyWithRulesPredefinedRulesOutputReference; } export interface ComputeFirewallPolicyWithRulesRuleMatchLayer4Config { /** * The IP protocol to which this rule applies. The protocol * type is required when creating a firewall rule. * This value can either be one of the following well * known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), * or the IP protocol number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#ip_protocol ComputeFirewallPolicyWithRules#ip_protocol} */ readonly ipProtocol: string; /** * An optional list of ports to which this rule applies. This field * is only applicable for UDP or TCP protocol. Each entry must be * either an integer or a range. If not specified, this rule * applies to connections through any port. * Example inputs include: ["22"], ["80","443"], and * ["12345-12349"]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#ports ComputeFirewallPolicyWithRules#ports} */ readonly ports?: string[]; } export declare function computeFirewallPolicyWithRulesRuleMatchLayer4ConfigToTerraform(struct?: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config | cdktf.IResolvable): any; export declare function computeFirewallPolicyWithRulesRuleMatchLayer4ConfigToHclTerraform(struct?: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config | cdktf.IResolvable): any; export declare class ComputeFirewallPolicyWithRulesRuleMatchLayer4ConfigOutputReference 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(): ComputeFirewallPolicyWithRulesRuleMatchLayer4Config | cdktf.IResolvable | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config | cdktf.IResolvable | undefined); private _ipProtocol?; get ipProtocol(): string; set ipProtocol(value: string); get ipProtocolInput(): string | undefined; private _ports?; get ports(): string[]; set ports(value: string[]); resetPorts(): void; get portsInput(): string[] | undefined; } export declare class ComputeFirewallPolicyWithRulesRuleMatchLayer4ConfigList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config[] | 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): ComputeFirewallPolicyWithRulesRuleMatchLayer4ConfigOutputReference; } export interface ComputeFirewallPolicyWithRulesRuleMatch { /** * Address groups which should be matched against the traffic destination. * Maximum number of destination address groups is 10. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#dest_address_groups ComputeFirewallPolicyWithRules#dest_address_groups} */ readonly destAddressGroups?: string[]; /** * Fully Qualified Domain Name (FQDN) which should be matched against * traffic destination. Maximum number of destination fqdn allowed is 100. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#dest_fqdns ComputeFirewallPolicyWithRules#dest_fqdns} */ readonly destFqdns?: string[]; /** * Destination IP address range in CIDR format. Required for * EGRESS rules. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#dest_ip_ranges ComputeFirewallPolicyWithRules#dest_ip_ranges} */ readonly destIpRanges?: string[]; /** * Region codes whose IP addresses will be used to match for destination * of traffic. Should be specified as 2 letter country code defined as per * ISO 3166 alpha-2 country codes. ex."US" * Maximum number of destination region codes allowed is 5000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#dest_region_codes ComputeFirewallPolicyWithRules#dest_region_codes} */ readonly destRegionCodes?: string[]; /** * Names of Network Threat Intelligence lists. * The IPs in these lists will be matched against traffic destination. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#dest_threat_intelligences ComputeFirewallPolicyWithRules#dest_threat_intelligences} */ readonly destThreatIntelligences?: string[]; /** * Address groups which should be matched against the traffic source. * Maximum number of source address groups is 10. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#src_address_groups ComputeFirewallPolicyWithRules#src_address_groups} */ readonly srcAddressGroups?: string[]; /** * Fully Qualified Domain Name (FQDN) which should be matched against * traffic source. Maximum number of source fqdn allowed is 100. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#src_fqdns ComputeFirewallPolicyWithRules#src_fqdns} */ readonly srcFqdns?: string[]; /** * Source IP address range in CIDR format. Required for * INGRESS rules. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#src_ip_ranges ComputeFirewallPolicyWithRules#src_ip_ranges} */ readonly srcIpRanges?: string[]; /** * Region codes whose IP addresses will be used to match for source * of traffic. Should be specified as 2 letter country code defined as per * ISO 3166 alpha-2 country codes. ex."US" * Maximum number of source region codes allowed is 5000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#src_region_codes ComputeFirewallPolicyWithRules#src_region_codes} */ readonly srcRegionCodes?: string[]; /** * Names of Network Threat Intelligence lists. * The IPs in these lists will be matched against traffic source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#src_threat_intelligences ComputeFirewallPolicyWithRules#src_threat_intelligences} */ readonly srcThreatIntelligences?: string[]; /** * layer4_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#layer4_config ComputeFirewallPolicyWithRules#layer4_config} */ readonly layer4Config: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config[] | cdktf.IResolvable; } export declare function computeFirewallPolicyWithRulesRuleMatchToTerraform(struct?: ComputeFirewallPolicyWithRulesRuleMatchOutputReference | ComputeFirewallPolicyWithRulesRuleMatch): any; export declare function computeFirewallPolicyWithRulesRuleMatchToHclTerraform(struct?: ComputeFirewallPolicyWithRulesRuleMatchOutputReference | ComputeFirewallPolicyWithRulesRuleMatch): any; export declare class ComputeFirewallPolicyWithRulesRuleMatchOutputReference 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(): ComputeFirewallPolicyWithRulesRuleMatch | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesRuleMatch | undefined); private _destAddressGroups?; get destAddressGroups(): string[]; set destAddressGroups(value: string[]); resetDestAddressGroups(): void; get destAddressGroupsInput(): string[] | undefined; private _destFqdns?; get destFqdns(): string[]; set destFqdns(value: string[]); resetDestFqdns(): void; get destFqdnsInput(): string[] | undefined; private _destIpRanges?; get destIpRanges(): string[]; set destIpRanges(value: string[]); resetDestIpRanges(): void; get destIpRangesInput(): string[] | undefined; private _destRegionCodes?; get destRegionCodes(): string[]; set destRegionCodes(value: string[]); resetDestRegionCodes(): void; get destRegionCodesInput(): string[] | undefined; private _destThreatIntelligences?; get destThreatIntelligences(): string[]; set destThreatIntelligences(value: string[]); resetDestThreatIntelligences(): void; get destThreatIntelligencesInput(): string[] | undefined; private _srcAddressGroups?; get srcAddressGroups(): string[]; set srcAddressGroups(value: string[]); resetSrcAddressGroups(): void; get srcAddressGroupsInput(): string[] | undefined; private _srcFqdns?; get srcFqdns(): string[]; set srcFqdns(value: string[]); resetSrcFqdns(): void; get srcFqdnsInput(): string[] | undefined; private _srcIpRanges?; get srcIpRanges(): string[]; set srcIpRanges(value: string[]); resetSrcIpRanges(): void; get srcIpRangesInput(): string[] | undefined; private _srcRegionCodes?; get srcRegionCodes(): string[]; set srcRegionCodes(value: string[]); resetSrcRegionCodes(): void; get srcRegionCodesInput(): string[] | undefined; private _srcThreatIntelligences?; get srcThreatIntelligences(): string[]; set srcThreatIntelligences(value: string[]); resetSrcThreatIntelligences(): void; get srcThreatIntelligencesInput(): string[] | undefined; private _layer4Config; get layer4Config(): ComputeFirewallPolicyWithRulesRuleMatchLayer4ConfigList; putLayer4Config(value: ComputeFirewallPolicyWithRulesRuleMatchLayer4Config[] | cdktf.IResolvable): void; get layer4ConfigInput(): cdktf.IResolvable | ComputeFirewallPolicyWithRulesRuleMatchLayer4Config[] | undefined; } export interface ComputeFirewallPolicyWithRulesRule { /** * The Action to perform when the client connection triggers the rule. Can currently be either * "allow", "deny", "apply_security_profile_group" or "goto_next". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#action ComputeFirewallPolicyWithRules#action} */ readonly action: string; /** * A description of the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#description ComputeFirewallPolicyWithRules#description} */ readonly description?: string; /** * The direction in which this rule applies. If unspecified an INGRESS rule is created. Possible values: ["INGRESS", "EGRESS"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#direction ComputeFirewallPolicyWithRules#direction} */ readonly direction?: string; /** * Denotes whether the firewall policy rule is disabled. When set to true, * the firewall policy rule is not enforced and traffic behaves as if it did * not exist. If this is unspecified, the firewall policy rule will be * enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#disabled ComputeFirewallPolicyWithRules#disabled} */ readonly disabled?: boolean | cdktf.IResolvable; /** * Denotes whether to enable logging for a particular rule. * If logging is enabled, logs will be exported to the * configured export destination in Stackdriver. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#enable_logging ComputeFirewallPolicyWithRules#enable_logging} */ readonly enableLogging?: boolean | cdktf.IResolvable; /** * An integer indicating the priority of a rule in the list. The priority must be a value * between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the * highest priority and 2147483647 is the lowest priority. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#priority ComputeFirewallPolicyWithRules#priority} */ readonly priority: number; /** * An optional name for the rule. This field is not a unique identifier * and can be updated. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#rule_name ComputeFirewallPolicyWithRules#rule_name} */ readonly ruleName?: string; /** * A fully-qualified URL of a SecurityProfile resource instance. * Example: * https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group * Must be specified if action is 'apply_security_profile_group'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#security_profile_group ComputeFirewallPolicyWithRules#security_profile_group} */ readonly securityProfileGroup?: string; /** * A list of network resource URLs to which this rule applies. * This field allows you to control which network's VMs get * this rule. If this field is left blank, all VMs * within the organization will receive the rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#target_resources ComputeFirewallPolicyWithRules#target_resources} */ readonly targetResources?: string[]; /** * A list of service accounts indicating the sets of * instances that are applied with this rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#target_service_accounts ComputeFirewallPolicyWithRules#target_service_accounts} */ readonly targetServiceAccounts?: string[]; /** * Boolean flag indicating if the traffic should be TLS decrypted. * It can be set only if action = 'apply_security_profile_group' and cannot be set for other actions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#tls_inspect ComputeFirewallPolicyWithRules#tls_inspect} */ readonly tlsInspect?: boolean | cdktf.IResolvable; /** * match block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#match ComputeFirewallPolicyWithRules#match} */ readonly match: ComputeFirewallPolicyWithRulesRuleMatch; } export declare function computeFirewallPolicyWithRulesRuleToTerraform(struct?: ComputeFirewallPolicyWithRulesRule | cdktf.IResolvable): any; export declare function computeFirewallPolicyWithRulesRuleToHclTerraform(struct?: ComputeFirewallPolicyWithRulesRule | cdktf.IResolvable): any; export declare class ComputeFirewallPolicyWithRulesRuleOutputReference 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(): ComputeFirewallPolicyWithRulesRule | cdktf.IResolvable | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesRule | cdktf.IResolvable | undefined); private _action?; get action(): string; set action(value: string); get actionInput(): string | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _direction?; get direction(): string; set direction(value: string); resetDirection(): void; get directionInput(): string | undefined; private _disabled?; get disabled(): boolean | cdktf.IResolvable; set disabled(value: boolean | cdktf.IResolvable); resetDisabled(): void; get disabledInput(): boolean | cdktf.IResolvable | undefined; private _enableLogging?; get enableLogging(): boolean | cdktf.IResolvable; set enableLogging(value: boolean | cdktf.IResolvable); resetEnableLogging(): void; get enableLoggingInput(): boolean | cdktf.IResolvable | undefined; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number | undefined; private _ruleName?; get ruleName(): string; set ruleName(value: string); resetRuleName(): void; get ruleNameInput(): string | undefined; private _securityProfileGroup?; get securityProfileGroup(): string; set securityProfileGroup(value: string); resetSecurityProfileGroup(): void; get securityProfileGroupInput(): string | undefined; private _targetResources?; get targetResources(): string[]; set targetResources(value: string[]); resetTargetResources(): void; get targetResourcesInput(): string[] | undefined; private _targetServiceAccounts?; get targetServiceAccounts(): string[]; set targetServiceAccounts(value: string[]); resetTargetServiceAccounts(): void; get targetServiceAccountsInput(): string[] | undefined; private _tlsInspect?; get tlsInspect(): boolean | cdktf.IResolvable; set tlsInspect(value: boolean | cdktf.IResolvable); resetTlsInspect(): void; get tlsInspectInput(): boolean | cdktf.IResolvable | undefined; private _match; get match(): ComputeFirewallPolicyWithRulesRuleMatchOutputReference; putMatch(value: ComputeFirewallPolicyWithRulesRuleMatch): void; get matchInput(): ComputeFirewallPolicyWithRulesRuleMatch | undefined; } export declare class ComputeFirewallPolicyWithRulesRuleList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeFirewallPolicyWithRulesRule[] | 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): ComputeFirewallPolicyWithRulesRuleOutputReference; } export interface ComputeFirewallPolicyWithRulesTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#create ComputeFirewallPolicyWithRules#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#delete ComputeFirewallPolicyWithRules#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#update ComputeFirewallPolicyWithRules#update} */ readonly update?: string; } export declare function computeFirewallPolicyWithRulesTimeoutsToTerraform(struct?: ComputeFirewallPolicyWithRulesTimeouts | cdktf.IResolvable): any; export declare function computeFirewallPolicyWithRulesTimeoutsToHclTerraform(struct?: ComputeFirewallPolicyWithRulesTimeouts | cdktf.IResolvable): any; export declare class ComputeFirewallPolicyWithRulesTimeoutsOutputReference 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(): ComputeFirewallPolicyWithRulesTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ComputeFirewallPolicyWithRulesTimeouts | 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.41.0/docs/resources/compute_firewall_policy_with_rules google_compute_firewall_policy_with_rules} */ export declare class ComputeFirewallPolicyWithRules extends cdktf.TerraformResource { static readonly tfResourceType = "google_compute_firewall_policy_with_rules"; /** * Generates CDKTF code for importing a ComputeFirewallPolicyWithRules 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 ComputeFirewallPolicyWithRules to import * @param importFromId The id of the existing ComputeFirewallPolicyWithRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/compute_firewall_policy_with_rules#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ComputeFirewallPolicyWithRules 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.41.0/docs/resources/compute_firewall_policy_with_rules google_compute_firewall_policy_with_rules} 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 ComputeFirewallPolicyWithRulesConfig */ constructor(scope: Construct, id: string, config: ComputeFirewallPolicyWithRulesConfig); get creationTimestamp(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; get fingerprint(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _parent?; get parent(): string; set parent(value: string); get parentInput(): string | undefined; get policyId(): string; private _predefinedRules; get predefinedRules(): ComputeFirewallPolicyWithRulesPredefinedRulesList; get ruleTupleCount(): number; get selfLink(): string; get selfLinkWithId(): string; private _shortName?; get shortName(): string; set shortName(value: string); get shortNameInput(): string | undefined; private _rule; get rule(): ComputeFirewallPolicyWithRulesRuleList; putRule(value: ComputeFirewallPolicyWithRulesRule[] | cdktf.IResolvable): void; get ruleInput(): cdktf.IResolvable | ComputeFirewallPolicyWithRulesRule[] | undefined; private _timeouts; get timeouts(): ComputeFirewallPolicyWithRulesTimeoutsOutputReference; putTimeouts(value: ComputeFirewallPolicyWithRulesTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ComputeFirewallPolicyWithRulesTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }