import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NatControlRulesConfig extends cdktf.TerraformMetaArguments { /** * If set to true, the default rule is applied * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#default_rule NatControlRules#default_rule} */ readonly defaultRule?: boolean | cdktf.IResolvable; /** * Additional information about the rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#description NatControlRules#description} */ readonly description?: string; /** * Destination addresses. Supports IPv4, FQDNs, or wildcard FQDNs * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#dest_addresses NatControlRules#dest_addresses} */ readonly destAddresses?: string[]; /** * Destination countries for which the rule is applicable. If not set, the rule is not restricted to specific destination countries. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#dest_countries NatControlRules#dest_countries} */ readonly destCountries?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#dest_ip_categories NatControlRules#dest_ip_categories} */ readonly destIpCategories?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#enable_full_logging NatControlRules#enable_full_logging} */ readonly enableFullLogging?: boolean | cdktf.IResolvable; /** * Name of the nat control policy rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#name NatControlRules#name} */ readonly name: string; /** * Rule order number. If omitted, the rule will be added to the end of the rule set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#order NatControlRules#order} */ readonly order: number; /** * If set to true, a predefined rule is applied * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#predefined NatControlRules#predefined} */ readonly predefined?: boolean | cdktf.IResolvable; /** * Admin rank of the nat control policy rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#rank NatControlRules#rank} */ readonly rank?: number; /** * The action the nat control policy rule takes when packets match the rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#redirect_fqdn NatControlRules#redirect_fqdn} */ readonly redirectFqdn?: string; /** * The action the nat control policy rule takes when packets match the rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#redirect_ip NatControlRules#redirect_ip} */ readonly redirectIp?: string; /** * The action the nat control policy rule takes when packets match the rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#redirect_port NatControlRules#redirect_port} */ readonly redirectPort?: number; /** * List of destination domain categories to which the rule applies * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#res_categories NatControlRules#res_categories} */ readonly resCategories?: string[]; /** * User-defined source IP addresses for which the rule is applicable. If not set, the rule is not restricted to a specific source IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#src_ips NatControlRules#src_ips} */ readonly srcIps?: string[]; /** * Determines whether the nat control policy rule is enabled or disabled * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#state NatControlRules#state} */ readonly state?: string; /** * departments block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#departments NatControlRules#departments} */ readonly departments?: NatControlRulesDepartments; /** * dest_ip_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#dest_ip_groups NatControlRules#dest_ip_groups} */ readonly destIpGroups?: NatControlRulesDestIpGroups; /** * dest_ipv6_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#dest_ipv6_groups NatControlRules#dest_ipv6_groups} */ readonly destIpv6Groups?: NatControlRulesDestIpv6Groups; /** * device_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#device_groups NatControlRules#device_groups} */ readonly deviceGroups?: NatControlRulesDeviceGroups; /** * devices block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#devices NatControlRules#devices} */ readonly devices?: NatControlRulesDevices; /** * groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#groups NatControlRules#groups} */ readonly groups?: NatControlRulesGroups; /** * labels block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#labels NatControlRules#labels} */ readonly labels?: NatControlRulesLabels; /** * location_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#location_groups NatControlRules#location_groups} */ readonly locationGroups?: NatControlRulesLocationGroups; /** * locations block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#locations NatControlRules#locations} */ readonly locations?: NatControlRulesLocations; /** * nw_service_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#nw_service_groups NatControlRules#nw_service_groups} */ readonly nwServiceGroups?: NatControlRulesNwServiceGroups; /** * nw_services block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#nw_services NatControlRules#nw_services} */ readonly nwServices?: NatControlRulesNwServices; /** * src_ip_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#src_ip_groups NatControlRules#src_ip_groups} */ readonly srcIpGroups?: NatControlRulesSrcIpGroups; /** * src_ipv6_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#src_ipv6_groups NatControlRules#src_ipv6_groups} */ readonly srcIpv6Groups?: NatControlRulesSrcIpv6Groups; /** * time_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#time_windows NatControlRules#time_windows} */ readonly timeWindows?: NatControlRulesTimeWindows; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#timeouts NatControlRules#timeouts} */ readonly timeouts?: NatControlRulesTimeouts; /** * users block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#users NatControlRules#users} */ readonly users?: NatControlRulesUsers; } export interface NatControlRulesDepartments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesDepartmentsToTerraform(struct?: NatControlRulesDepartmentsOutputReference | NatControlRulesDepartments): any; export declare function natControlRulesDepartmentsToHclTerraform(struct?: NatControlRulesDepartmentsOutputReference | NatControlRulesDepartments): any; export declare class NatControlRulesDepartmentsOutputReference 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(): NatControlRulesDepartments | undefined; set internalValue(value: NatControlRulesDepartments | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesDestIpGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesDestIpGroupsToTerraform(struct?: NatControlRulesDestIpGroupsOutputReference | NatControlRulesDestIpGroups): any; export declare function natControlRulesDestIpGroupsToHclTerraform(struct?: NatControlRulesDestIpGroupsOutputReference | NatControlRulesDestIpGroups): any; export declare class NatControlRulesDestIpGroupsOutputReference 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(): NatControlRulesDestIpGroups | undefined; set internalValue(value: NatControlRulesDestIpGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesDestIpv6Groups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesDestIpv6GroupsToTerraform(struct?: NatControlRulesDestIpv6GroupsOutputReference | NatControlRulesDestIpv6Groups): any; export declare function natControlRulesDestIpv6GroupsToHclTerraform(struct?: NatControlRulesDestIpv6GroupsOutputReference | NatControlRulesDestIpv6Groups): any; export declare class NatControlRulesDestIpv6GroupsOutputReference 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(): NatControlRulesDestIpv6Groups | undefined; set internalValue(value: NatControlRulesDestIpv6Groups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesDeviceGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesDeviceGroupsToTerraform(struct?: NatControlRulesDeviceGroupsOutputReference | NatControlRulesDeviceGroups): any; export declare function natControlRulesDeviceGroupsToHclTerraform(struct?: NatControlRulesDeviceGroupsOutputReference | NatControlRulesDeviceGroups): any; export declare class NatControlRulesDeviceGroupsOutputReference 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(): NatControlRulesDeviceGroups | undefined; set internalValue(value: NatControlRulesDeviceGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesDevices { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesDevicesToTerraform(struct?: NatControlRulesDevicesOutputReference | NatControlRulesDevices): any; export declare function natControlRulesDevicesToHclTerraform(struct?: NatControlRulesDevicesOutputReference | NatControlRulesDevices): any; export declare class NatControlRulesDevicesOutputReference 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(): NatControlRulesDevices | undefined; set internalValue(value: NatControlRulesDevices | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesGroupsToTerraform(struct?: NatControlRulesGroupsOutputReference | NatControlRulesGroups): any; export declare function natControlRulesGroupsToHclTerraform(struct?: NatControlRulesGroupsOutputReference | NatControlRulesGroups): any; export declare class NatControlRulesGroupsOutputReference 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(): NatControlRulesGroups | undefined; set internalValue(value: NatControlRulesGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesLabels { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesLabelsToTerraform(struct?: NatControlRulesLabelsOutputReference | NatControlRulesLabels): any; export declare function natControlRulesLabelsToHclTerraform(struct?: NatControlRulesLabelsOutputReference | NatControlRulesLabels): any; export declare class NatControlRulesLabelsOutputReference 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(): NatControlRulesLabels | undefined; set internalValue(value: NatControlRulesLabels | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesLocationGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesLocationGroupsToTerraform(struct?: NatControlRulesLocationGroupsOutputReference | NatControlRulesLocationGroups): any; export declare function natControlRulesLocationGroupsToHclTerraform(struct?: NatControlRulesLocationGroupsOutputReference | NatControlRulesLocationGroups): any; export declare class NatControlRulesLocationGroupsOutputReference 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(): NatControlRulesLocationGroups | undefined; set internalValue(value: NatControlRulesLocationGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesLocations { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesLocationsToTerraform(struct?: NatControlRulesLocationsOutputReference | NatControlRulesLocations): any; export declare function natControlRulesLocationsToHclTerraform(struct?: NatControlRulesLocationsOutputReference | NatControlRulesLocations): any; export declare class NatControlRulesLocationsOutputReference 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(): NatControlRulesLocations | undefined; set internalValue(value: NatControlRulesLocations | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesNwServiceGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesNwServiceGroupsToTerraform(struct?: NatControlRulesNwServiceGroupsOutputReference | NatControlRulesNwServiceGroups): any; export declare function natControlRulesNwServiceGroupsToHclTerraform(struct?: NatControlRulesNwServiceGroupsOutputReference | NatControlRulesNwServiceGroups): any; export declare class NatControlRulesNwServiceGroupsOutputReference 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(): NatControlRulesNwServiceGroups | undefined; set internalValue(value: NatControlRulesNwServiceGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesNwServices { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesNwServicesToTerraform(struct?: NatControlRulesNwServicesOutputReference | NatControlRulesNwServices): any; export declare function natControlRulesNwServicesToHclTerraform(struct?: NatControlRulesNwServicesOutputReference | NatControlRulesNwServices): any; export declare class NatControlRulesNwServicesOutputReference 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(): NatControlRulesNwServices | undefined; set internalValue(value: NatControlRulesNwServices | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesSrcIpGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesSrcIpGroupsToTerraform(struct?: NatControlRulesSrcIpGroupsOutputReference | NatControlRulesSrcIpGroups): any; export declare function natControlRulesSrcIpGroupsToHclTerraform(struct?: NatControlRulesSrcIpGroupsOutputReference | NatControlRulesSrcIpGroups): any; export declare class NatControlRulesSrcIpGroupsOutputReference 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(): NatControlRulesSrcIpGroups | undefined; set internalValue(value: NatControlRulesSrcIpGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesSrcIpv6Groups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesSrcIpv6GroupsToTerraform(struct?: NatControlRulesSrcIpv6GroupsOutputReference | NatControlRulesSrcIpv6Groups): any; export declare function natControlRulesSrcIpv6GroupsToHclTerraform(struct?: NatControlRulesSrcIpv6GroupsOutputReference | NatControlRulesSrcIpv6Groups): any; export declare class NatControlRulesSrcIpv6GroupsOutputReference 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(): NatControlRulesSrcIpv6Groups | undefined; set internalValue(value: NatControlRulesSrcIpv6Groups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesTimeWindows { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesTimeWindowsToTerraform(struct?: NatControlRulesTimeWindowsOutputReference | NatControlRulesTimeWindows): any; export declare function natControlRulesTimeWindowsToHclTerraform(struct?: NatControlRulesTimeWindowsOutputReference | NatControlRulesTimeWindows): any; export declare class NatControlRulesTimeWindowsOutputReference 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(): NatControlRulesTimeWindows | undefined; set internalValue(value: NatControlRulesTimeWindows | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface NatControlRulesTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#create NatControlRules#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#update NatControlRules#update} */ readonly update?: string; } export declare function natControlRulesTimeoutsToTerraform(struct?: NatControlRulesTimeouts | cdktf.IResolvable): any; export declare function natControlRulesTimeoutsToHclTerraform(struct?: NatControlRulesTimeouts | cdktf.IResolvable): any; export declare class NatControlRulesTimeoutsOutputReference 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(): NatControlRulesTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NatControlRulesTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface NatControlRulesUsers { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#id NatControlRules#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?: number[]; } export declare function natControlRulesUsersToTerraform(struct?: NatControlRulesUsersOutputReference | NatControlRulesUsers): any; export declare function natControlRulesUsersToHclTerraform(struct?: NatControlRulesUsersOutputReference | NatControlRulesUsers): any; export declare class NatControlRulesUsersOutputReference 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(): NatControlRulesUsers | undefined; set internalValue(value: NatControlRulesUsers | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } /** * Represents a {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules zia_nat_control_rules} */ export declare class NatControlRules extends cdktf.TerraformResource { static readonly tfResourceType = "zia_nat_control_rules"; /** * Generates CDKTF code for importing a NatControlRules resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the NatControlRules to import * @param importFromId The id of the existing NatControlRules that should be imported. Refer to the {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NatControlRules to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/nat_control_rules zia_nat_control_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 NatControlRulesConfig */ constructor(scope: Construct, id: string, config: NatControlRulesConfig); private _defaultRule?; get defaultRule(): boolean | cdktf.IResolvable; set defaultRule(value: boolean | cdktf.IResolvable); resetDefaultRule(): void; get defaultRuleInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _destAddresses?; get destAddresses(): string[]; set destAddresses(value: string[]); resetDestAddresses(): void; get destAddressesInput(): string[]; private _destCountries?; get destCountries(): string[]; set destCountries(value: string[]); resetDestCountries(): void; get destCountriesInput(): string[]; private _destIpCategories?; get destIpCategories(): string[]; set destIpCategories(value: string[]); resetDestIpCategories(): void; get destIpCategoriesInput(): string[]; private _enableFullLogging?; get enableFullLogging(): boolean | cdktf.IResolvable; set enableFullLogging(value: boolean | cdktf.IResolvable); resetEnableFullLogging(): void; get enableFullLoggingInput(): any; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _order?; get order(): number; set order(value: number); get orderInput(): number; private _predefined?; get predefined(): boolean | cdktf.IResolvable; set predefined(value: boolean | cdktf.IResolvable); resetPredefined(): void; get predefinedInput(): any; private _rank?; get rank(): number; set rank(value: number); resetRank(): void; get rankInput(): number; private _redirectFqdn?; get redirectFqdn(): string; set redirectFqdn(value: string); resetRedirectFqdn(): void; get redirectFqdnInput(): string; private _redirectIp?; get redirectIp(): string; set redirectIp(value: string); resetRedirectIp(): void; get redirectIpInput(): string; private _redirectPort?; get redirectPort(): number; set redirectPort(value: number); resetRedirectPort(): void; get redirectPortInput(): number; private _resCategories?; get resCategories(): string[]; set resCategories(value: string[]); resetResCategories(): void; get resCategoriesInput(): string[]; get ruleId(): any; private _srcIps?; get srcIps(): string[]; set srcIps(value: string[]); resetSrcIps(): void; get srcIpsInput(): string[]; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): string; private _departments; get departments(): NatControlRulesDepartmentsOutputReference; putDepartments(value: NatControlRulesDepartments): void; resetDepartments(): void; get departmentsInput(): NatControlRulesDepartments; private _destIpGroups; get destIpGroups(): NatControlRulesDestIpGroupsOutputReference; putDestIpGroups(value: NatControlRulesDestIpGroups): void; resetDestIpGroups(): void; get destIpGroupsInput(): NatControlRulesDestIpGroups; private _destIpv6Groups; get destIpv6Groups(): NatControlRulesDestIpv6GroupsOutputReference; putDestIpv6Groups(value: NatControlRulesDestIpv6Groups): void; resetDestIpv6Groups(): void; get destIpv6GroupsInput(): NatControlRulesDestIpv6Groups; private _deviceGroups; get deviceGroups(): NatControlRulesDeviceGroupsOutputReference; putDeviceGroups(value: NatControlRulesDeviceGroups): void; resetDeviceGroups(): void; get deviceGroupsInput(): NatControlRulesDeviceGroups; private _devices; get devices(): NatControlRulesDevicesOutputReference; putDevices(value: NatControlRulesDevices): void; resetDevices(): void; get devicesInput(): NatControlRulesDevices; private _groups; get groups(): NatControlRulesGroupsOutputReference; putGroups(value: NatControlRulesGroups): void; resetGroups(): void; get groupsInput(): NatControlRulesGroups; private _labels; get labels(): NatControlRulesLabelsOutputReference; putLabels(value: NatControlRulesLabels): void; resetLabels(): void; get labelsInput(): NatControlRulesLabels; private _locationGroups; get locationGroups(): NatControlRulesLocationGroupsOutputReference; putLocationGroups(value: NatControlRulesLocationGroups): void; resetLocationGroups(): void; get locationGroupsInput(): NatControlRulesLocationGroups; private _locations; get locations(): NatControlRulesLocationsOutputReference; putLocations(value: NatControlRulesLocations): void; resetLocations(): void; get locationsInput(): NatControlRulesLocations; private _nwServiceGroups; get nwServiceGroups(): NatControlRulesNwServiceGroupsOutputReference; putNwServiceGroups(value: NatControlRulesNwServiceGroups): void; resetNwServiceGroups(): void; get nwServiceGroupsInput(): NatControlRulesNwServiceGroups; private _nwServices; get nwServices(): NatControlRulesNwServicesOutputReference; putNwServices(value: NatControlRulesNwServices): void; resetNwServices(): void; get nwServicesInput(): NatControlRulesNwServices; private _srcIpGroups; get srcIpGroups(): NatControlRulesSrcIpGroupsOutputReference; putSrcIpGroups(value: NatControlRulesSrcIpGroups): void; resetSrcIpGroups(): void; get srcIpGroupsInput(): NatControlRulesSrcIpGroups; private _srcIpv6Groups; get srcIpv6Groups(): NatControlRulesSrcIpv6GroupsOutputReference; putSrcIpv6Groups(value: NatControlRulesSrcIpv6Groups): void; resetSrcIpv6Groups(): void; get srcIpv6GroupsInput(): NatControlRulesSrcIpv6Groups; private _timeWindows; get timeWindows(): NatControlRulesTimeWindowsOutputReference; putTimeWindows(value: NatControlRulesTimeWindows): void; resetTimeWindows(): void; get timeWindowsInput(): NatControlRulesTimeWindows; private _timeouts; get timeouts(): NatControlRulesTimeoutsOutputReference; putTimeouts(value: NatControlRulesTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _users; get users(): NatControlRulesUsersOutputReference; putUsers(value: NatControlRulesUsers): void; resetUsers(): void; get usersInput(): NatControlRulesUsers; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }