@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
683 lines (682 loc) • 31.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure shaping policies.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname = new fortios.firewall.Shapingpolicy("trname", {
* classId: 0,
* diffservForward: "disable",
* diffservReverse: "disable",
* diffservcodeForward: "000000",
* diffservcodeRev: "000000",
* dstaddrs: [{
* name: "all",
* }],
* dstintfs: [{
* name: "port4",
* }],
* fosid: 1,
* internetService: "disable",
* internetServiceSrc: "disable",
* ipVersion: "4",
* services: [{
* name: "ALL",
* }],
* srcaddrs: [{
* name: "all",
* }],
* status: "enable",
* tos: "0x00",
* tosMask: "0x00",
* tosNegate: "disable",
* });
* ```
*
* ## Import
*
* Firewall ShapingPolicy can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:firewall/shapingpolicy:Shapingpolicy labelname {{fosid}}
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:firewall/shapingpolicy:Shapingpolicy labelname {{fosid}}
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Shapingpolicy extends pulumi.CustomResource {
/**
* Get an existing Shapingpolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ShapingpolicyState, opts?: pulumi.CustomResourceOptions): Shapingpolicy;
/**
* Returns true if the given object is an instance of Shapingpolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Shapingpolicy;
/**
* IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `appCategory` block is documented below.
*/
readonly appCategories: pulumi.Output<outputs.firewall.ShapingpolicyAppCategory[] | undefined>;
/**
* One or more application group names. The structure of `appGroup` block is documented below.
*/
readonly appGroups: pulumi.Output<outputs.firewall.ShapingpolicyAppGroup[] | undefined>;
/**
* IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.
*/
readonly applications: pulumi.Output<outputs.firewall.ShapingpolicyApplication[] | undefined>;
/**
* Traffic class ID.
*/
readonly classId: pulumi.Output<number>;
/**
* Comments.
*/
readonly comment: pulumi.Output<string | undefined>;
/**
* VLAN CoS bit pattern.
*/
readonly cos: pulumi.Output<string>;
/**
* VLAN CoS evaluated bits.
*/
readonly cosMask: pulumi.Output<string>;
/**
* Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.
*/
readonly diffservForward: pulumi.Output<string>;
/**
* Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.
*/
readonly diffservReverse: pulumi.Output<string>;
/**
* Change packet's DiffServ to this value.
*/
readonly diffservcodeForward: pulumi.Output<string>;
/**
* Change packet's reverse (reply) DiffServ to this value.
*/
readonly diffservcodeRev: pulumi.Output<string>;
/**
* IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.
*/
readonly dstaddr6s: pulumi.Output<outputs.firewall.ShapingpolicyDstaddr6[] | undefined>;
/**
* IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.
*/
readonly dstaddrs: pulumi.Output<outputs.firewall.ShapingpolicyDstaddr[] | undefined>;
/**
* One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.
*/
readonly dstintfs: pulumi.Output<outputs.firewall.ShapingpolicyDstintf[]>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
readonly dynamicSortSubtable: pulumi.Output<string | undefined>;
/**
* Shaping policy ID.
*/
readonly fosid: pulumi.Output<number>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
readonly getAllTables: pulumi.Output<string | undefined>;
/**
* Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.
*/
readonly groups: pulumi.Output<outputs.firewall.ShapingpolicyGroup[] | undefined>;
/**
* Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.
*/
readonly internetService: pulumi.Output<string>;
/**
* Custom Internet Service group name. The structure of `internetServiceCustomGroup` block is documented below.
*/
readonly internetServiceCustomGroups: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceCustomGroup[] | undefined>;
/**
* Custom Internet Service name. The structure of `internetServiceCustom` block is documented below.
*/
readonly internetServiceCustoms: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceCustom[] | undefined>;
/**
* Internet Service group name. The structure of `internetServiceGroup` block is documented below.
*/
readonly internetServiceGroups: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceGroup[] | undefined>;
/**
* Internet Service ID. The structure of `internetServiceId` block is documented below.
*/
readonly internetServiceIds: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceId[] | undefined>;
/**
* Internet Service ID. The structure of `internetServiceName` block is documented below.
*/
readonly internetServiceNames: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceName[] | undefined>;
/**
* Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.
*/
readonly internetServiceSrc: pulumi.Output<string>;
/**
* Custom Internet Service source group name. The structure of `internetServiceSrcCustomGroup` block is documented below.
*/
readonly internetServiceSrcCustomGroups: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceSrcCustomGroup[] | undefined>;
/**
* Custom Internet Service source name. The structure of `internetServiceSrcCustom` block is documented below.
*/
readonly internetServiceSrcCustoms: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceSrcCustom[] | undefined>;
/**
* Internet Service source group name. The structure of `internetServiceSrcGroup` block is documented below.
*/
readonly internetServiceSrcGroups: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceSrcGroup[] | undefined>;
/**
* Internet Service source ID. The structure of `internetServiceSrcId` block is documented below.
*/
readonly internetServiceSrcIds: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceSrcId[] | undefined>;
/**
* Internet Service source name. The structure of `internetServiceSrcName` block is documented below.
*/
readonly internetServiceSrcNames: pulumi.Output<outputs.firewall.ShapingpolicyInternetServiceSrcName[] | undefined>;
/**
* Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.
*/
readonly ipVersion: pulumi.Output<string>;
/**
* Shaping policy name.
*/
readonly name: pulumi.Output<string>;
/**
* Per-IP traffic shaper to apply with this policy.
*/
readonly perIpShaper: pulumi.Output<string>;
/**
* Schedule name.
*/
readonly schedule: pulumi.Output<string>;
/**
* Service and service group names. The structure of `service` block is documented below.
*/
readonly services: pulumi.Output<outputs.firewall.ShapingpolicyService[] | undefined>;
/**
* IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.
*/
readonly srcaddr6s: pulumi.Output<outputs.firewall.ShapingpolicySrcaddr6[] | undefined>;
/**
* IPv4 source address and address group names. The structure of `srcaddr` block is documented below.
*/
readonly srcaddrs: pulumi.Output<outputs.firewall.ShapingpolicySrcaddr[]>;
/**
* One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.
*/
readonly srcintfs: pulumi.Output<outputs.firewall.ShapingpolicySrcintf[] | undefined>;
/**
* Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.
*/
readonly status: pulumi.Output<string>;
/**
* ToS (Type of Service) value used for comparison.
*/
readonly tos: pulumi.Output<string>;
/**
* Non-zero bit positions are used for comparison while zero bit positions are ignored.
*/
readonly tosMask: pulumi.Output<string>;
/**
* Enable negated TOS match. Valid values: `enable`, `disable`.
*/
readonly tosNegate: pulumi.Output<string>;
/**
* Traffic shaper to apply to traffic forwarded by the firewall policy.
*/
readonly trafficShaper: pulumi.Output<string>;
/**
* Traffic shaper to apply to response traffic received by the firewall policy.
*/
readonly trafficShaperReverse: pulumi.Output<string>;
/**
* Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.
*/
readonly trafficType: pulumi.Output<string>;
/**
* IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `urlCategory` block is documented below.
*/
readonly urlCategories: pulumi.Output<outputs.firewall.ShapingpolicyUrlCategory[] | undefined>;
/**
* Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.
*/
readonly users: pulumi.Output<outputs.firewall.ShapingpolicyUser[] | undefined>;
/**
* Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
*/
readonly uuid: pulumi.Output<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
readonly vdomparam: pulumi.Output<string>;
/**
* Create a Shapingpolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ShapingpolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Shapingpolicy resources.
*/
export interface ShapingpolicyState {
/**
* IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `appCategory` block is documented below.
*/
appCategories?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyAppCategory>[]>;
/**
* One or more application group names. The structure of `appGroup` block is documented below.
*/
appGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyAppGroup>[]>;
/**
* IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.
*/
applications?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyApplication>[]>;
/**
* Traffic class ID.
*/
classId?: pulumi.Input<number>;
/**
* Comments.
*/
comment?: pulumi.Input<string>;
/**
* VLAN CoS bit pattern.
*/
cos?: pulumi.Input<string>;
/**
* VLAN CoS evaluated bits.
*/
cosMask?: pulumi.Input<string>;
/**
* Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.
*/
diffservForward?: pulumi.Input<string>;
/**
* Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.
*/
diffservReverse?: pulumi.Input<string>;
/**
* Change packet's DiffServ to this value.
*/
diffservcodeForward?: pulumi.Input<string>;
/**
* Change packet's reverse (reply) DiffServ to this value.
*/
diffservcodeRev?: pulumi.Input<string>;
/**
* IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.
*/
dstaddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstaddr6>[]>;
/**
* IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.
*/
dstaddrs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstaddr>[]>;
/**
* One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.
*/
dstintfs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstintf>[]>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Shaping policy ID.
*/
fosid?: pulumi.Input<number>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.
*/
groups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyGroup>[]>;
/**
* Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.
*/
internetService?: pulumi.Input<string>;
/**
* Custom Internet Service group name. The structure of `internetServiceCustomGroup` block is documented below.
*/
internetServiceCustomGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceCustomGroup>[]>;
/**
* Custom Internet Service name. The structure of `internetServiceCustom` block is documented below.
*/
internetServiceCustoms?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceCustom>[]>;
/**
* Internet Service group name. The structure of `internetServiceGroup` block is documented below.
*/
internetServiceGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceGroup>[]>;
/**
* Internet Service ID. The structure of `internetServiceId` block is documented below.
*/
internetServiceIds?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceId>[]>;
/**
* Internet Service ID. The structure of `internetServiceName` block is documented below.
*/
internetServiceNames?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceName>[]>;
/**
* Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.
*/
internetServiceSrc?: pulumi.Input<string>;
/**
* Custom Internet Service source group name. The structure of `internetServiceSrcCustomGroup` block is documented below.
*/
internetServiceSrcCustomGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcCustomGroup>[]>;
/**
* Custom Internet Service source name. The structure of `internetServiceSrcCustom` block is documented below.
*/
internetServiceSrcCustoms?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcCustom>[]>;
/**
* Internet Service source group name. The structure of `internetServiceSrcGroup` block is documented below.
*/
internetServiceSrcGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcGroup>[]>;
/**
* Internet Service source ID. The structure of `internetServiceSrcId` block is documented below.
*/
internetServiceSrcIds?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcId>[]>;
/**
* Internet Service source name. The structure of `internetServiceSrcName` block is documented below.
*/
internetServiceSrcNames?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcName>[]>;
/**
* Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.
*/
ipVersion?: pulumi.Input<string>;
/**
* Shaping policy name.
*/
name?: pulumi.Input<string>;
/**
* Per-IP traffic shaper to apply with this policy.
*/
perIpShaper?: pulumi.Input<string>;
/**
* Schedule name.
*/
schedule?: pulumi.Input<string>;
/**
* Service and service group names. The structure of `service` block is documented below.
*/
services?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyService>[]>;
/**
* IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.
*/
srcaddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcaddr6>[]>;
/**
* IPv4 source address and address group names. The structure of `srcaddr` block is documented below.
*/
srcaddrs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcaddr>[]>;
/**
* One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.
*/
srcintfs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcintf>[]>;
/**
* Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* ToS (Type of Service) value used for comparison.
*/
tos?: pulumi.Input<string>;
/**
* Non-zero bit positions are used for comparison while zero bit positions are ignored.
*/
tosMask?: pulumi.Input<string>;
/**
* Enable negated TOS match. Valid values: `enable`, `disable`.
*/
tosNegate?: pulumi.Input<string>;
/**
* Traffic shaper to apply to traffic forwarded by the firewall policy.
*/
trafficShaper?: pulumi.Input<string>;
/**
* Traffic shaper to apply to response traffic received by the firewall policy.
*/
trafficShaperReverse?: pulumi.Input<string>;
/**
* Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.
*/
trafficType?: pulumi.Input<string>;
/**
* IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `urlCategory` block is documented below.
*/
urlCategories?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyUrlCategory>[]>;
/**
* Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.
*/
users?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyUser>[]>;
/**
* Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
*/
uuid?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Shapingpolicy resource.
*/
export interface ShapingpolicyArgs {
/**
* IDs of one or more application categories that this shaper applies application control traffic shaping to. The structure of `appCategory` block is documented below.
*/
appCategories?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyAppCategory>[]>;
/**
* One or more application group names. The structure of `appGroup` block is documented below.
*/
appGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyAppGroup>[]>;
/**
* IDs of one or more applications that this shaper applies application control traffic shaping to. The structure of `application` block is documented below.
*/
applications?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyApplication>[]>;
/**
* Traffic class ID.
*/
classId?: pulumi.Input<number>;
/**
* Comments.
*/
comment?: pulumi.Input<string>;
/**
* VLAN CoS bit pattern.
*/
cos?: pulumi.Input<string>;
/**
* VLAN CoS evaluated bits.
*/
cosMask?: pulumi.Input<string>;
/**
* Enable to change packet's DiffServ values to the specified diffservcode-forward value. Valid values: `enable`, `disable`.
*/
diffservForward?: pulumi.Input<string>;
/**
* Enable to change packet's reverse (reply) DiffServ values to the specified diffservcode-rev value. Valid values: `enable`, `disable`.
*/
diffservReverse?: pulumi.Input<string>;
/**
* Change packet's DiffServ to this value.
*/
diffservcodeForward?: pulumi.Input<string>;
/**
* Change packet's reverse (reply) DiffServ to this value.
*/
diffservcodeRev?: pulumi.Input<string>;
/**
* IPv6 destination address and address group names. The structure of `dstaddr6` block is documented below.
*/
dstaddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstaddr6>[]>;
/**
* IPv4 destination address and address group names. The structure of `dstaddr` block is documented below.
*/
dstaddrs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstaddr>[]>;
/**
* One or more outgoing (egress) interfaces. The structure of `dstintf` block is documented below.
*/
dstintfs: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyDstintf>[]>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Shaping policy ID.
*/
fosid?: pulumi.Input<number>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Apply this traffic shaping policy to user groups that have authenticated with the FortiGate. The structure of `groups` block is documented below.
*/
groups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyGroup>[]>;
/**
* Enable/disable use of Internet Services for this policy. If enabled, destination address and service are not used. Valid values: `enable`, `disable`.
*/
internetService?: pulumi.Input<string>;
/**
* Custom Internet Service group name. The structure of `internetServiceCustomGroup` block is documented below.
*/
internetServiceCustomGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceCustomGroup>[]>;
/**
* Custom Internet Service name. The structure of `internetServiceCustom` block is documented below.
*/
internetServiceCustoms?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceCustom>[]>;
/**
* Internet Service group name. The structure of `internetServiceGroup` block is documented below.
*/
internetServiceGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceGroup>[]>;
/**
* Internet Service ID. The structure of `internetServiceId` block is documented below.
*/
internetServiceIds?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceId>[]>;
/**
* Internet Service ID. The structure of `internetServiceName` block is documented below.
*/
internetServiceNames?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceName>[]>;
/**
* Enable/disable use of Internet Services in source for this policy. If enabled, source address is not used. Valid values: `enable`, `disable`.
*/
internetServiceSrc?: pulumi.Input<string>;
/**
* Custom Internet Service source group name. The structure of `internetServiceSrcCustomGroup` block is documented below.
*/
internetServiceSrcCustomGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcCustomGroup>[]>;
/**
* Custom Internet Service source name. The structure of `internetServiceSrcCustom` block is documented below.
*/
internetServiceSrcCustoms?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcCustom>[]>;
/**
* Internet Service source group name. The structure of `internetServiceSrcGroup` block is documented below.
*/
internetServiceSrcGroups?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcGroup>[]>;
/**
* Internet Service source ID. The structure of `internetServiceSrcId` block is documented below.
*/
internetServiceSrcIds?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcId>[]>;
/**
* Internet Service source name. The structure of `internetServiceSrcName` block is documented below.
*/
internetServiceSrcNames?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyInternetServiceSrcName>[]>;
/**
* Apply this traffic shaping policy to IPv4 or IPv6 traffic. Valid values: `4`, `6`.
*/
ipVersion?: pulumi.Input<string>;
/**
* Shaping policy name.
*/
name?: pulumi.Input<string>;
/**
* Per-IP traffic shaper to apply with this policy.
*/
perIpShaper?: pulumi.Input<string>;
/**
* Schedule name.
*/
schedule?: pulumi.Input<string>;
/**
* Service and service group names. The structure of `service` block is documented below.
*/
services?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyService>[]>;
/**
* IPv6 source address and address group names. The structure of `srcaddr6` block is documented below.
*/
srcaddr6s?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcaddr6>[]>;
/**
* IPv4 source address and address group names. The structure of `srcaddr` block is documented below.
*/
srcaddrs: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcaddr>[]>;
/**
* One or more incoming (ingress) interfaces. The structure of `srcintf` block is documented below.
*/
srcintfs?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicySrcintf>[]>;
/**
* Enable/disable this traffic shaping policy. Valid values: `enable`, `disable`.
*/
status?: pulumi.Input<string>;
/**
* ToS (Type of Service) value used for comparison.
*/
tos?: pulumi.Input<string>;
/**
* Non-zero bit positions are used for comparison while zero bit positions are ignored.
*/
tosMask?: pulumi.Input<string>;
/**
* Enable negated TOS match. Valid values: `enable`, `disable`.
*/
tosNegate?: pulumi.Input<string>;
/**
* Traffic shaper to apply to traffic forwarded by the firewall policy.
*/
trafficShaper?: pulumi.Input<string>;
/**
* Traffic shaper to apply to response traffic received by the firewall policy.
*/
trafficShaperReverse?: pulumi.Input<string>;
/**
* Traffic type. Valid values: `forwarding`, `local-in`, `local-out`.
*/
trafficType?: pulumi.Input<string>;
/**
* IDs of one or more FortiGuard Web Filtering categories that this shaper applies traffic shaping to. The structure of `urlCategory` block is documented below.
*/
urlCategories?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyUrlCategory>[]>;
/**
* Apply this traffic shaping policy to individual users that have authenticated with the FortiGate. The structure of `users` block is documented below.
*/
users?: pulumi.Input<pulumi.Input<inputs.firewall.ShapingpolicyUser>[]>;
/**
* Universally Unique Identifier (UUID; automatically assigned but can be manually reset).
*/
uuid?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
}