@pulumi/f5bigip
Version:
A Pulumi package for creating and managing F5 BigIP resources.
1,258 lines • 62.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
export interface As3DeleteApps {
/**
* List of application names to delete from the specified tenant.
*
* > `deleteApps` cannot be used together with `as3Json`.
*/
apps: pulumi.Input<pulumi.Input<string>[]>;
/**
* Name of the tenant containing the apps to delete.
*/
tenantName: pulumi.Input<string>;
}
export interface EventServiceDiscoveryNode {
/**
* name of node
*/
id?: pulumi.Input<string | undefined>;
/**
* ip of nonde
*/
ip?: pulumi.Input<string | undefined>;
/**
* port
*/
port?: pulumi.Input<number | undefined>;
}
export interface FastHttpAppMonitor {
/**
* Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
*/
interval?: pulumi.Input<number | undefined>;
/**
* set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`.
*/
monitorAuth?: pulumi.Input<boolean | undefined>;
/**
* password for web access on FAST-Generated Pool Monitor.
*/
password?: pulumi.Input<string | undefined>;
/**
* The presence of this string anywhere in the HTTP response implies availability.
*/
response?: pulumi.Input<string | undefined>;
/**
* Specify data to be sent during each health check for FAST-Generated Pool Monitor.
*/
sendString?: pulumi.Input<string | undefined>;
/**
* username for web access on FAST-Generated Pool Monitor.
*/
username?: pulumi.Input<string | undefined>;
}
export interface FastHttpAppPoolMember {
/**
* List of server address to be used for FAST-Generated Pool.
*/
addresses: pulumi.Input<pulumi.Input<string>[]>;
/**
* connectionLimit value to be used for FAST-Generated Pool.
*/
connectionLimit?: pulumi.Input<number | undefined>;
/**
* port number of serviceport to be used for FAST-Generated Pool.
*/
port?: pulumi.Input<number | undefined>;
/**
* priorityGroup value to be used for FAST-Generated Pool.
*/
priorityGroup?: pulumi.Input<number | undefined>;
/**
* shareNodes value to be used for FAST-Generated Pool.
*/
shareNodes?: pulumi.Input<boolean | undefined>;
}
export interface FastHttpAppVirtualServer {
/**
* IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
*/
ip: pulumi.Input<string>;
/**
* Port number to used for accessing virtual server/application
*/
port: pulumi.Input<number>;
}
export interface FastHttpAppWafSecurityPolicy {
/**
* Setting `true` will enable FAST to create WAF Security Policy.
*/
enable: pulumi.Input<boolean>;
}
export interface FastHttpsAppMonitor {
/**
* Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
*/
interval?: pulumi.Input<number | undefined>;
/**
* set `true` if the servers require login credentials for web access on FAST-Generated Pool Monitor. default is `false`.
*/
monitorAuth?: pulumi.Input<boolean | undefined>;
/**
* password for web access on FAST-Generated Pool Monitor.
*/
password?: pulumi.Input<string | undefined>;
/**
* The presence of this string anywhere in the HTTP response implies availability.
*/
response?: pulumi.Input<string | undefined>;
/**
* Specify data to be sent during each health check for FAST-Generated Pool Monitor.
*/
sendString?: pulumi.Input<string | undefined>;
/**
* username for web access on FAST-Generated Pool Monitor.
*/
username?: pulumi.Input<string | undefined>;
}
export interface FastHttpsAppPoolMember {
/**
* List of server address to be used for FAST-Generated Pool.
*/
addresses: pulumi.Input<pulumi.Input<string>[]>;
/**
* connectionLimit value to be used for FAST-Generated Pool.
*/
connectionLimit?: pulumi.Input<number | undefined>;
/**
* port number of serviceport to be used for FAST-Generated Pool.
*/
port?: pulumi.Input<number | undefined>;
/**
* priorityGroup value to be used for FAST-Generated Pool.
*/
priorityGroup?: pulumi.Input<number | undefined>;
/**
* shareNodes value to be used for FAST-Generated Pool.
*/
shareNodes?: pulumi.Input<boolean | undefined>;
}
export interface FastHttpsAppTlsClientProfile {
/**
* Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.
*/
tlsCertName: pulumi.Input<string>;
/**
* Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.
*/
tlsKeyName: pulumi.Input<string>;
}
export interface FastHttpsAppTlsServerProfile {
/**
* Name of existing BIG-IP SSL certificate to be used for FAST-Generated TLS Server Profile.
*/
tlsCertName: pulumi.Input<string>;
/**
* Name of existing BIG-IP SSL Key to be used for FAST-Generated TLS Server Profile.
*/
tlsKeyName: pulumi.Input<string>;
}
export interface FastHttpsAppVirtualServer {
/**
* IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
*/
ip: pulumi.Input<string>;
/**
* Port number to used for accessing virtual server/application
*/
port: pulumi.Input<number>;
}
export interface FastHttpsAppWafSecurityPolicy {
/**
* Setting `true` will enable FAST to create WAF Security Policy.
*/
enable: pulumi.Input<boolean>;
}
export interface FastTcpAppMonitor {
/**
* Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
*/
interval?: pulumi.Input<number | undefined>;
}
export interface FastTcpAppPoolMember {
/**
* List of server address to be used for FAST-Generated Pool.
*/
addresses: pulumi.Input<pulumi.Input<string>[]>;
/**
* connectionLimit value to be used for FAST-Generated Pool.
*/
connectionLimit?: pulumi.Input<number | undefined>;
/**
* port number of serviceport to be used for FAST-Generated Pool.
*/
port?: pulumi.Input<number | undefined>;
/**
* priorityGroup value to be used for FAST-Generated Pool.
*/
priorityGroup?: pulumi.Input<number | undefined>;
/**
* shareNodes value to be used for FAST-Generated Pool.
*/
shareNodes?: pulumi.Input<boolean | undefined>;
}
export interface FastTcpAppVirtualServer {
/**
* IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
*/
ip: pulumi.Input<string>;
/**
* Port number to used for accessing virtual server/application
*/
port: pulumi.Input<number>;
}
export interface FastUdpAppMonitor {
/**
* The presence of this optional string is required in the response, if specified it confirms availability.
*/
expectedResponse?: pulumi.Input<string | undefined>;
/**
* Set the time between health checks,in seconds for FAST-Generated Pool Monitor.
*/
interval?: pulumi.Input<number | undefined>;
/**
* Optional data to be sent during each health check.
*/
sendString?: pulumi.Input<string | undefined>;
}
export interface FastUdpAppPoolMember {
/**
* List of server address to be used for FAST-Generated Pool.
*/
addresses: pulumi.Input<pulumi.Input<string>[]>;
/**
* connectionLimit value to be used for FAST-Generated Pool.
*/
connectionLimit?: pulumi.Input<number | undefined>;
/**
* port number of serviceport to be used for FAST-Generated Pool.
*/
port?: pulumi.Input<number | undefined>;
/**
* priorityGroup value to be used for FAST-Generated Pool.
*/
priorityGroup?: pulumi.Input<number | undefined>;
/**
* shareNodes value to be used for FAST-Generated Pool.
*/
shareNodes?: pulumi.Input<boolean | undefined>;
}
export interface FastUdpAppVirtualServer {
/**
* IP4/IPv6 address to be used for virtual server ex: `10.1.1.1`
*/
ip: pulumi.Input<string>;
/**
* Port number to used for accessing virtual server/application
*/
port: pulumi.Input<number>;
}
export interface GtmPoolMember {
/**
* Disabled state of the pool member
*/
disabled?: pulumi.Input<boolean | undefined>;
/**
* Enable or disable the pool member
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* Specifies the maximum allowable data throughput rate for this member
*/
limitMaxBps?: pulumi.Input<number | undefined>;
/**
* Enables or disables the limitMaxBps option for this member
*/
limitMaxBpsStatus?: pulumi.Input<string | undefined>;
/**
* Specifies the maximum number of concurrent connections for this member
*/
limitMaxConnections?: pulumi.Input<number | undefined>;
/**
* Enables or disables the limitMaxConnections option for this member
*/
limitMaxConnectionsStatus?: pulumi.Input<string | undefined>;
/**
* Specifies the maximum allowable data transfer rate in packets per second for this member
*/
limitMaxPps?: pulumi.Input<number | undefined>;
/**
* Enables or disables the limitMaxPps option for this member
*/
limitMaxPpsStatus?: pulumi.Input<string | undefined>;
/**
* Specifies the order in which the member will be used
*/
memberOrder?: pulumi.Input<number | undefined>;
/**
* Specifies the health monitor for this pool member
*/
monitor?: pulumi.Input<string | undefined>;
/**
* Name of the pool member (format: <server_name>:<virtual_server_name>)
*/
name: pulumi.Input<string>;
/**
* Specifies the weight of the pool member for load balancing
*/
ratio?: pulumi.Input<number | undefined>;
}
export interface GtmServerAddress {
/**
* Device name associated with the address
*/
deviceName?: pulumi.Input<string | undefined>;
/**
* IP address
*/
name: pulumi.Input<string>;
/**
* IP translation address. Default is `none`
*/
translation?: pulumi.Input<string | undefined>;
}
export interface GtmServerVirtualServer {
/**
* Virtual server dependency
*/
dependsOn?: pulumi.Input<string | undefined>;
/**
* Destination address in format `<ip>:<port>` (e.g., `192.168.1.100:80`)
*/
destination: pulumi.Input<string>;
/**
* Enable the virtual server. Default is `true`
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* Maximum bits per second for this virtual server
*/
limitMaxBps?: pulumi.Input<number | undefined>;
/**
* Enable/disable the bps limit
*/
limitMaxBpsStatus?: pulumi.Input<string | undefined>;
/**
* Maximum concurrent connections
*/
limitMaxConnections?: pulumi.Input<number | undefined>;
/**
* Enable/disable the connections limit
*/
limitMaxConnectionsStatus?: pulumi.Input<string | undefined>;
/**
* Maximum packets per second
*/
limitMaxPps?: pulumi.Input<number | undefined>;
/**
* Enable/disable the pps limit
*/
limitMaxPpsStatus?: pulumi.Input<string | undefined>;
/**
* Monitor assigned to check virtual server health
*/
monitor?: pulumi.Input<string | undefined>;
/**
* Name of the virtual server
*/
name: pulumi.Input<string>;
/**
* Translation address for NAT scenarios. Default is `none`
*/
translationAddress?: pulumi.Input<string | undefined>;
/**
* Translation port for NAT scenarios. Default is `0`
*/
translationPort?: pulumi.Input<number | undefined>;
}
export interface SaasBotDefenseProfileProtectedEndpoint {
/**
* Specifies the path to the web page to be protected by BD. For example, `/login`.
*/
endpoint?: pulumi.Input<string | undefined>;
/**
* hostname or IP address of the web page to be protected by the Bot Defense
*/
host?: pulumi.Input<string | undefined>;
/**
* Specifies whether the BIG-IP or F5 XC Bot Defense handles mitigation of malicious HTTP requests. This field is enabled only if the Service Level field is set to Advanced/Premium
*/
mitigationAction?: pulumi.Input<string | undefined>;
/**
* Unique name for the protected endpoint
*/
name: pulumi.Input<string>;
/**
* POST field to protect the path when it has a POST method, `enabled` or `disabled`
*/
post?: pulumi.Input<string | undefined>;
/**
* PUT field to protect the path when it has a PUT method,`enabled` or `disabled`
*/
put?: pulumi.Input<string | undefined>;
}
export interface WafPolicyFileType {
/**
* Determines whether the file type is allowed or disallowed. In either of these cases the VIOL_FILETYPE violation is issued (if enabled) for an incoming request-
* * No allowed file type matched the file type of the request.
* * The file type of the request matched a disallowed file type.
*/
allowed?: pulumi.Input<boolean | undefined>;
/**
* Specifies the file type name as appearing in the URL extension.
*/
name?: pulumi.Input<string | undefined>;
/**
* Determines the type of the name attribute. Only when setting the type to `wildcard` will the special wildcard characters in the name be interpreted as such
*/
type?: pulumi.Input<string | undefined>;
}
export interface WafPolicyGraphqlProfile {
/**
* Specifies when checked (enabled) that you want attack signatures and threat campaigns to be detected on this GraphQL profile and possibly override the security policy settings of an attack signature or threat campaign specifically for this GraphQL profile. After you enable this setting, the system displays a list of attack signatures and and threat campaigns. The default is enabled
*/
attackSignaturesCheck?: pulumi.Input<boolean | undefined>;
/**
* defense_attributes settings for policy
*/
defenseAttributes?: pulumi.Input<pulumi.Input<inputs.WafPolicyGraphqlProfileDefenseAttribute>[] | undefined>;
/**
* Specifies when checked (enabled) that the system enforces the security policy settings of a meta character for the GraphQL profile. After you enable this setting, the system displays a list of meta characters. The default is enabled
*/
metacharElementcheck?: pulumi.Input<boolean | undefined>;
/**
* The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).
*/
name: pulumi.Input<string>;
}
export interface WafPolicyGraphqlProfileDefenseAttribute {
/**
* Introspection queries can also be enforced to prevent attackers from using them to
* understand the API structure and potentially breach an application.
*/
allowIntrospectionQueries?: pulumi.Input<boolean | undefined>;
/**
* Specifies the highest number of batched queries allowed by the security policy.
*/
maximumBatchedQueries?: pulumi.Input<string | undefined>;
/**
* Specifies the greatest nesting depth found in the GraphQL structure allowed by the security policy.
*/
maximumStructureDepth?: pulumi.Input<string | undefined>;
/**
* Specifies the longest length, in bytes, allowed by the security policy of the request payload, or parameter value, where the GraphQL data was found.
*/
maximumTotalLength?: pulumi.Input<string | undefined>;
/**
* Specifies the longest length (in bytes) of the longest GraphQL element value in the document allowed by the security policy.
*/
maximumValueLength?: pulumi.Input<string | undefined>;
/**
* Specifies, when checked (enabled), that the system does not report when the security enforcer encounters warnings while parsing GraphQL content. Specifies when cleared (disabled), that the security policy reports when the security enforcer encounters warnings while parsing GraphQL content. The default setting is disabled.
*/
tolerateParsingWarnings?: pulumi.Input<boolean | undefined>;
}
export interface WafPolicyHostName {
/**
* The unique user-given name of the policy. Policy names cannot contain spaces or special characters. Allowed characters are a-z, A-Z, 0-9, dot, dash (-), colon (:) and underscore (_).
*/
name?: pulumi.Input<string | undefined>;
}
export interface WafPolicyIpException {
/**
* Specifies how the system responds to blocking requests sent from this IP address. Possible options [`always`, `never`, `policy-default`].
*/
blockRequests?: pulumi.Input<string | undefined>;
/**
* Specifies the description of the policy.
*/
description?: pulumi.Input<string | undefined>;
/**
* Specifies when enabled that the system considers this IP address legitimate and does not take it into account when performing brute force prevention.
*/
ignoreAnomalies?: pulumi.Input<boolean | undefined>;
/**
* Specifies when enabled that the system considers this IP address legitimate even if it is found in the IP Intelligence database (a database of questionable IP addresses).
*/
ignoreIpreputation?: pulumi.Input<boolean | undefined>;
/**
* Specifies the IP address that you want the system to trust.
*/
ipAddress: pulumi.Input<string>;
/**
* Specifies the netmask of the exceptional IP address. This is an optional field.
*/
ipMask: pulumi.Input<string>;
/**
* Specifies when enabled the Policy Builder considers traffic from this IP address as being safe.
*/
trustedbyPolicybuilder?: pulumi.Input<boolean | undefined>;
}
export interface WafPolicyPolicyBuilder {
/**
* learning mode setting for policy-builder, possible options: [`automatic`,`disabled`, `manual`]
*/
learningMode?: pulumi.Input<string | undefined>;
}
export interface WafPolicySignaturesSetting {
placesignaturesInStaging?: pulumi.Input<boolean | undefined>;
/**
* setting true will enforce all signature from staging
*/
signatureStaging?: pulumi.Input<boolean | undefined>;
}
export declare namespace cm {
interface DeviceGroupDevice {
/**
* Is the name of the device Group
*/
name?: pulumi.Input<string | undefined>;
/**
* Name of origin
*/
setSyncLeader?: pulumi.Input<boolean | undefined>;
}
}
export declare namespace ltm {
interface DataGroupRecord {
/**
* , sets the value of the record's `data` attribute, specifying a value here will create a record in the form of `name := data`
*/
data?: pulumi.Input<string | undefined>;
/**
* , sets the value of the record's `name` attribute, must be of type defined in `type` attribute
*/
name: pulumi.Input<string>;
}
interface GetDataGroupRecord {
data?: string;
/**
* Name of the datagroup
*/
name: string;
}
interface GetDataGroupRecordArgs {
data?: pulumi.Input<string | undefined>;
/**
* Name of the datagroup
*/
name: pulumi.Input<string>;
}
interface GetNodeFqdn {
/**
* The FQDN node's address family.
*/
addressFamily?: string;
/**
* Specifies if the node should scale to the IP address set returned by DNS.
*/
autopopulate?: string;
/**
* The number of attempts to resolve a domain name.
*/
downinterval?: number;
/**
* The amount of time before sending the next DNS query.
*/
interval?: string;
/**
* Name of the node.
*/
name?: string;
}
interface GetNodeFqdnArgs {
/**
* The FQDN node's address family.
*/
addressFamily?: pulumi.Input<string | undefined>;
/**
* Specifies if the node should scale to the IP address set returned by DNS.
*/
autopopulate?: pulumi.Input<string | undefined>;
/**
* The number of attempts to resolve a domain name.
*/
downinterval?: pulumi.Input<number | undefined>;
/**
* The amount of time before sending the next DNS query.
*/
interval?: pulumi.Input<string | undefined>;
/**
* Name of the node.
*/
name?: pulumi.Input<string | undefined>;
}
interface GetPolicyRule {
actions?: inputs.ltm.GetPolicyRuleAction[];
conditions?: inputs.ltm.GetPolicyRuleCondition[];
/**
* Name of the policy which includes partion ( /partition/policy-name )
*/
name: string;
}
interface GetPolicyRuleArgs {
actions?: pulumi.Input<pulumi.Input<inputs.ltm.GetPolicyRuleActionArgs>[] | undefined>;
conditions?: pulumi.Input<pulumi.Input<inputs.ltm.GetPolicyRuleConditionArgs>[] | undefined>;
/**
* Name of the policy which includes partion ( /partition/policy-name )
*/
name: pulumi.Input<string>;
}
interface GetPolicyRuleAction {
appService?: string;
application?: string;
asm?: boolean;
avr?: boolean;
cache?: boolean;
carp?: boolean;
category?: string;
classify?: boolean;
clonePool?: string;
code?: number;
compress?: boolean;
connection?: boolean;
content?: string;
cookieHash?: boolean;
cookieInsert?: boolean;
cookiePassive?: boolean;
cookieRewrite?: boolean;
decompress?: boolean;
defer?: boolean;
destinationAddress?: boolean;
disable?: boolean;
domain?: string;
enable?: boolean;
expiry?: string;
expirySecs?: number;
expression?: string;
extension?: string;
facility?: string;
forward?: boolean;
fromProfile?: string;
hash?: boolean;
host?: string;
http?: boolean;
httpBasicAuth?: boolean;
httpCookie?: boolean;
httpHeader?: boolean;
httpHost?: boolean;
httpReferer?: boolean;
httpReply?: boolean;
httpSetCookie?: boolean;
httpUri?: boolean;
ifile?: string;
insert?: boolean;
internalVirtual?: string;
ipAddress?: string;
key?: string;
l7dos?: boolean;
length?: number;
location?: string;
log?: boolean;
ltmPolicy?: boolean;
member?: string;
message?: string;
netmask?: string;
nexthop?: string;
node?: string;
offset?: number;
path?: string;
pem?: boolean;
persist?: boolean;
pin?: boolean;
policy?: string;
pool?: string;
port?: number;
priority?: string;
profile?: string;
protocol?: string;
queryString?: string;
rateclass?: string;
redirect?: boolean;
remove?: boolean;
replace?: boolean;
request?: boolean;
requestAdapt?: boolean;
reset?: boolean;
response?: boolean;
responseAdapt?: boolean;
scheme?: string;
script?: string;
select?: boolean;
serverSsl?: boolean;
setVariable?: boolean;
shutdown?: boolean;
snat?: string;
snatpool?: string;
sourceAddress?: boolean;
sslClientHello?: boolean;
sslServerHandshake?: boolean;
sslServerHello?: boolean;
sslSessionId?: boolean;
status?: number;
tcl?: boolean;
tcpNagle?: boolean;
text?: string;
timeout?: number;
tmName?: string;
uie?: boolean;
universal?: boolean;
value?: string;
virtual?: string;
vlan?: string;
vlanId?: number;
wam?: boolean;
write?: boolean;
}
interface GetPolicyRuleActionArgs {
appService?: pulumi.Input<string | undefined>;
application?: pulumi.Input<string | undefined>;
asm?: pulumi.Input<boolean | undefined>;
avr?: pulumi.Input<boolean | undefined>;
cache?: pulumi.Input<boolean | undefined>;
carp?: pulumi.Input<boolean | undefined>;
category?: pulumi.Input<string | undefined>;
classify?: pulumi.Input<boolean | undefined>;
clonePool?: pulumi.Input<string | undefined>;
code?: pulumi.Input<number | undefined>;
compress?: pulumi.Input<boolean | undefined>;
connection?: pulumi.Input<boolean | undefined>;
content?: pulumi.Input<string | undefined>;
cookieHash?: pulumi.Input<boolean | undefined>;
cookieInsert?: pulumi.Input<boolean | undefined>;
cookiePassive?: pulumi.Input<boolean | undefined>;
cookieRewrite?: pulumi.Input<boolean | undefined>;
decompress?: pulumi.Input<boolean | undefined>;
defer?: pulumi.Input<boolean | undefined>;
destinationAddress?: pulumi.Input<boolean | undefined>;
disable?: pulumi.Input<boolean | undefined>;
domain?: pulumi.Input<string | undefined>;
enable?: pulumi.Input<boolean | undefined>;
expiry?: pulumi.Input<string | undefined>;
expirySecs?: pulumi.Input<number | undefined>;
expression?: pulumi.Input<string | undefined>;
extension?: pulumi.Input<string | undefined>;
facility?: pulumi.Input<string | undefined>;
forward?: pulumi.Input<boolean | undefined>;
fromProfile?: pulumi.Input<string | undefined>;
hash?: pulumi.Input<boolean | undefined>;
host?: pulumi.Input<string | undefined>;
http?: pulumi.Input<boolean | undefined>;
httpBasicAuth?: pulumi.Input<boolean | undefined>;
httpCookie?: pulumi.Input<boolean | undefined>;
httpHeader?: pulumi.Input<boolean | undefined>;
httpHost?: pulumi.Input<boolean | undefined>;
httpReferer?: pulumi.Input<boolean | undefined>;
httpReply?: pulumi.Input<boolean | undefined>;
httpSetCookie?: pulumi.Input<boolean | undefined>;
httpUri?: pulumi.Input<boolean | undefined>;
ifile?: pulumi.Input<string | undefined>;
insert?: pulumi.Input<boolean | undefined>;
internalVirtual?: pulumi.Input<string | undefined>;
ipAddress?: pulumi.Input<string | undefined>;
key?: pulumi.Input<string | undefined>;
l7dos?: pulumi.Input<boolean | undefined>;
length?: pulumi.Input<number | undefined>;
location?: pulumi.Input<string | undefined>;
log?: pulumi.Input<boolean | undefined>;
ltmPolicy?: pulumi.Input<boolean | undefined>;
member?: pulumi.Input<string | undefined>;
message?: pulumi.Input<string | undefined>;
netmask?: pulumi.Input<string | undefined>;
nexthop?: pulumi.Input<string | undefined>;
node?: pulumi.Input<string | undefined>;
offset?: pulumi.Input<number | undefined>;
path?: pulumi.Input<string | undefined>;
pem?: pulumi.Input<boolean | undefined>;
persist?: pulumi.Input<boolean | undefined>;
pin?: pulumi.Input<boolean | undefined>;
policy?: pulumi.Input<string | undefined>;
pool?: pulumi.Input<string | undefined>;
port?: pulumi.Input<number | undefined>;
priority?: pulumi.Input<string | undefined>;
profile?: pulumi.Input<string | undefined>;
protocol?: pulumi.Input<string | undefined>;
queryString?: pulumi.Input<string | undefined>;
rateclass?: pulumi.Input<string | undefined>;
redirect?: pulumi.Input<boolean | undefined>;
remove?: pulumi.Input<boolean | undefined>;
replace?: pulumi.Input<boolean | undefined>;
request?: pulumi.Input<boolean | undefined>;
requestAdapt?: pulumi.Input<boolean | undefined>;
reset?: pulumi.Input<boolean | undefined>;
response?: pulumi.Input<boolean | undefined>;
responseAdapt?: pulumi.Input<boolean | undefined>;
scheme?: pulumi.Input<string | undefined>;
script?: pulumi.Input<string | undefined>;
select?: pulumi.Input<boolean | undefined>;
serverSsl?: pulumi.Input<boolean | undefined>;
setVariable?: pulumi.Input<boolean | undefined>;
shutdown?: pulumi.Input<boolean | undefined>;
snat?: pulumi.Input<string | undefined>;
snatpool?: pulumi.Input<string | undefined>;
sourceAddress?: pulumi.Input<boolean | undefined>;
sslClientHello?: pulumi.Input<boolean | undefined>;
sslServerHandshake?: pulumi.Input<boolean | undefined>;
sslServerHello?: pulumi.Input<boolean | undefined>;
sslSessionId?: pulumi.Input<boolean | undefined>;
status?: pulumi.Input<number | undefined>;
tcl?: pulumi.Input<boolean | undefined>;
tcpNagle?: pulumi.Input<boolean | undefined>;
text?: pulumi.Input<string | undefined>;
timeout?: pulumi.Input<number | undefined>;
tmName?: pulumi.Input<string | undefined>;
uie?: pulumi.Input<boolean | undefined>;
universal?: pulumi.Input<boolean | undefined>;
value?: pulumi.Input<string | undefined>;
virtual?: pulumi.Input<string | undefined>;
vlan?: pulumi.Input<string | undefined>;
vlanId?: pulumi.Input<number | undefined>;
wam?: pulumi.Input<boolean | undefined>;
write?: pulumi.Input<boolean | undefined>;
}
interface GetPolicyRuleCondition {
address?: boolean;
all?: boolean;
appService?: string;
browserType?: boolean;
browserVersion?: boolean;
caseInsensitive?: boolean;
caseSensitive?: boolean;
cipher?: boolean;
cipherBits?: boolean;
clientSsl?: boolean;
code?: boolean;
commonName?: boolean;
contains?: boolean;
continent?: boolean;
countryCode?: boolean;
countryName?: boolean;
cpuUsage?: boolean;
datagroup?: string;
deviceMake?: boolean;
deviceModel?: boolean;
domain?: boolean;
endsWith?: boolean;
equals?: boolean;
expiry?: boolean;
extension?: boolean;
external?: boolean;
geoip?: boolean;
greater?: boolean;
greaterOrEqual?: boolean;
host?: boolean;
httpBasicAuth?: boolean;
httpCookie?: boolean;
httpHeader?: boolean;
httpHost?: boolean;
httpMethod?: boolean;
httpReferer?: boolean;
httpSetCookie?: boolean;
httpStatus?: boolean;
httpUri?: boolean;
httpUserAgent?: boolean;
httpVersion?: boolean;
index?: number;
internal?: boolean;
isp?: boolean;
last15secs?: boolean;
last1min?: boolean;
last5mins?: boolean;
less?: boolean;
lessOrEqual?: boolean;
local?: boolean;
major?: boolean;
matches?: boolean;
minor?: boolean;
missing?: boolean;
mss?: boolean;
not?: boolean;
org?: boolean;
password?: boolean;
path?: boolean;
pathSegment?: boolean;
port?: boolean;
present?: boolean;
protocol?: boolean;
queryParameter?: boolean;
queryString?: boolean;
regionCode?: boolean;
regionName?: boolean;
remote?: boolean;
request?: boolean;
response?: boolean;
routeDomain?: boolean;
rtt?: boolean;
scheme?: boolean;
serverName?: boolean;
sslCert?: boolean;
sslClientHello?: boolean;
sslExtension?: boolean;
sslServerHandshake?: boolean;
sslServerHello?: boolean;
startsWith?: boolean;
tcp?: boolean;
text?: boolean;
tmName?: string;
unnamedQueryParameter?: boolean;
userAgentToken?: boolean;
username?: boolean;
value?: boolean;
values?: string[];
version?: boolean;
vlan?: boolean;
vlanId?: boolean;
}
interface GetPolicyRuleConditionArgs {
address?: pulumi.Input<boolean | undefined>;
all?: pulumi.Input<boolean | undefined>;
appService?: pulumi.Input<string | undefined>;
browserType?: pulumi.Input<boolean | undefined>;
browserVersion?: pulumi.Input<boolean | undefined>;
caseInsensitive?: pulumi.Input<boolean | undefined>;
caseSensitive?: pulumi.Input<boolean | undefined>;
cipher?: pulumi.Input<boolean | undefined>;
cipherBits?: pulumi.Input<boolean | undefined>;
clientSsl?: pulumi.Input<boolean | undefined>;
code?: pulumi.Input<boolean | undefined>;
commonName?: pulumi.Input<boolean | undefined>;
contains?: pulumi.Input<boolean | undefined>;
continent?: pulumi.Input<boolean | undefined>;
countryCode?: pulumi.Input<boolean | undefined>;
countryName?: pulumi.Input<boolean | undefined>;
cpuUsage?: pulumi.Input<boolean | undefined>;
datagroup?: pulumi.Input<string | undefined>;
deviceMake?: pulumi.Input<boolean | undefined>;
deviceModel?: pulumi.Input<boolean | undefined>;
domain?: pulumi.Input<boolean | undefined>;
endsWith?: pulumi.Input<boolean | undefined>;
equals?: pulumi.Input<boolean | undefined>;
expiry?: pulumi.Input<boolean | undefined>;
extension?: pulumi.Input<boolean | undefined>;
external?: pulumi.Input<boolean | undefined>;
geoip?: pulumi.Input<boolean | undefined>;
greater?: pulumi.Input<boolean | undefined>;
greaterOrEqual?: pulumi.Input<boolean | undefined>;
host?: pulumi.Input<boolean | undefined>;
httpBasicAuth?: pulumi.Input<boolean | undefined>;
httpCookie?: pulumi.Input<boolean | undefined>;
httpHeader?: pulumi.Input<boolean | undefined>;
httpHost?: pulumi.Input<boolean | undefined>;
httpMethod?: pulumi.Input<boolean | undefined>;
httpReferer?: pulumi.Input<boolean | undefined>;
httpSetCookie?: pulumi.Input<boolean | undefined>;
httpStatus?: pulumi.Input<boolean | undefined>;
httpUri?: pulumi.Input<boolean | undefined>;
httpUserAgent?: pulumi.Input<boolean | undefined>;
httpVersion?: pulumi.Input<boolean | undefined>;
index?: pulumi.Input<number | undefined>;
internal?: pulumi.Input<boolean | undefined>;
isp?: pulumi.Input<boolean | undefined>;
last15secs?: pulumi.Input<boolean | undefined>;
last1min?: pulumi.Input<boolean | undefined>;
last5mins?: pulumi.Input<boolean | undefined>;
less?: pulumi.Input<boolean | undefined>;
lessOrEqual?: pulumi.Input<boolean | undefined>;
local?: pulumi.Input<boolean | undefined>;
major?: pulumi.Input<boolean | undefined>;
matches?: pulumi.Input<boolean | undefined>;
minor?: pulumi.Input<boolean | undefined>;
missing?: pulumi.Input<boolean | undefined>;
mss?: pulumi.Input<boolean | undefined>;
not?: pulumi.Input<boolean | undefined>;
org?: pulumi.Input<boolean | undefined>;
password?: pulumi.Input<boolean | undefined>;
path?: pulumi.Input<boolean | undefined>;
pathSegment?: pulumi.Input<boolean | undefined>;
port?: pulumi.Input<boolean | undefined>;
present?: pulumi.Input<boolean | undefined>;
protocol?: pulumi.Input<boolean | undefined>;
queryParameter?: pulumi.Input<boolean | undefined>;
queryString?: pulumi.Input<boolean | undefined>;
regionCode?: pulumi.Input<boolean | undefined>;
regionName?: pulumi.Input<boolean | undefined>;
remote?: pulumi.Input<boolean | undefined>;
request?: pulumi.Input<boolean | undefined>;
response?: pulumi.Input<boolean | undefined>;
routeDomain?: pulumi.Input<boolean | undefined>;
rtt?: pulumi.Input<boolean | undefined>;
scheme?: pulumi.Input<boolean | undefined>;
serverName?: pulumi.Input<boolean | undefined>;
sslCert?: pulumi.Input<boolean | undefined>;
sslClientHello?: pulumi.Input<boolean | undefined>;
sslExtension?: pulumi.Input<boolean | undefined>;
sslServerHandshake?: pulumi.Input<boolean | undefined>;
sslServerHello?: pulumi.Input<boolean | undefined>;
startsWith?: pulumi.Input<boolean | undefined>;
tcp?: pulumi.Input<boolean | undefined>;
text?: pulumi.Input<boolean | undefined>;
tmName?: pulumi.Input<string | undefined>;
unnamedQueryParameter?: pulumi.Input<boolean | undefined>;
userAgentToken?: pulumi.Input<boolean | undefined>;
username?: pulumi.Input<boolean | undefined>;
value?: pulumi.Input<boolean | undefined>;
values?: pulumi.Input<pulumi.Input<string>[] | undefined>;
version?: pulumi.Input<boolean | undefined>;
vlan?: pulumi.Input<boolean | undefined>;
vlanId?: pulumi.Input<boolean | undefined>;
}
interface NodeFqdn {
/**
* Specifies the node's address family. Can be `all`, `ipv4` or `ipv6` (Default: `ipv4`)
*/
addressFamily?: pulumi.Input<string | undefined>;
/**
* Specifies if the node should scale to the IP address set returned by DNS. (Default: `disabled`)
*/
autopopulate?: pulumi.Input<string | undefined>;
/**
* The number of attempts to resolve a domain name. (Default: `5`)
*/
downinterval?: pulumi.Input<number | undefined>;
/**
* Specifies the amount of time before sending the next DNS query. (Default: `3600`)
*/
interval?: pulumi.Input<string | undefined>;
/**
* The fully qualified domain name of the node. Cannot configure with the `address` argument.
*/
name?: pulumi.Input<string | undefined>;
}
interface PolicyRule {
/**
* Block type. See action block for more details.
*/
actions?: pulumi.Input<pulumi.Input<inputs.ltm.PolicyRuleAction>[] | undefined>;
/**
* Block type. See condition block for more details.
*/
conditions?: pulumi.Input<pulumi.Input<inputs.ltm.PolicyRuleCondition>[] | undefined>;
/**
* Specifies descriptive text that identifies the irule attached to policy.
*/
description?: pulumi.Input<string | undefined>;
/**
* Name of Rule to be applied in policy.
*/
name: pulumi.Input<string>;
}
interface PolicyRuleAction {
appService?: pulumi.Input<string | undefined>;
application?: pulumi.Input<string | undefined>;
asm?: pulumi.Input<boolean | undefined>;
avr?: pulumi.Input<boolean | undefined>;
cache?: pulumi.Input<boolean | undefined>;
carp?: pulumi.Input<boolean | undefined>;
category?: pulumi.Input<string | undefined>;
classify?: pulumi.Input<boolean | undefined>;
clonePool?: pulumi.Input<string | undefined>;
code?: pulumi.Input<number | undefined>;
compress?: pulumi.Input<boolean | undefined>;
/**
* This action is set to `true` by default, it needs to be explicitly set to `false` for actions it conflicts with.
*/
connection?: pulumi.Input<boolean | undefined>;
content?: pulumi.Input<string | undefined>;
cookieHash?: pulumi.Input<boolean | undefined>;
cookieInsert?: pulumi.Input<boolean | undefined>;
cookiePassive?: pulumi.Input<boolean | undefined>;
cookieRewrite?: pulumi.Input<boolean | undefined>;
decompress?: pulumi.Input<boolean | undefined>;
defer?: pulumi.Input<boolean | undefined>;
destinationAddress?: pulumi.Input<boolean | undefined>;
disable?: pulumi.Input<boolean | undefined>;
domain?: pulumi.Input<string | undefined>;
enable?: pulumi.Input<boolean | undefined>;
expiry?: pulumi.Input<string | undefined>;
expirySecs?: pulumi.Input<number | undefined>;
expression?: pulumi.Input<string | undefined>;
extension?: pulumi.Input<string | undefined>;
facility?: pulumi.Input<string | undefined>;
/**
* This action will affect forwarding.
*/
forward?: pulumi.Input<boolean | undefined>;
fromProfile?: pulumi.Input<string | undefined>;
hash?: pulumi.Input<boolean | undefined>;
host?: pulumi.Input<string | undefined>;
http?: pulumi.Input<boolean | undefined>;
httpBasicAuth?: pulumi.Input<boolean | undefined>;
httpCookie?: pulumi.Input<boolean | undefined>;
httpHeader?: pulumi.Input<boolean | undefined>;
httpHost?: pulumi.Input<boolean | undefined>;
httpReferer?: pulumi.Input<boolean | undefined>;
httpReply?: pulumi.Input<boolean | undefined>;
httpSetCookie?: pulumi.Input<boolean | undefined>;
httpUri?: pulumi.Input<boolean | undefined>;
ifile?: pulumi.Input<string | undefined>;
insert?: pulumi.Input<boolean | undefined>;
internalVirtual?: pulumi.Input<string | undefined>;
ipAddress?: pulumi.Input<string | undefined>;
key?: pulumi.Input<string | undefined>;
l7dos?: pulumi.Input<boolean | undefined>;
length?: pulumi.Input<number | undefined>;
location?: pulumi.Input<string | undefined>;
log?: pulumi.Input<boolean | undefined>;
ltmPolicy?: pulumi.Input<boolean | undefined>;
member?: pulumi.Input<string | undefined>;
message?: pulumi.Input<string | undefined>;
netmask?: pulumi.Input<string | undefined>;
nexthop?: pulumi.Input<string | undefined>;
node?: pulumi.Input<string | undefined>;
offset?: pulumi.Input<number | undefined>;
path?: pulumi.Input<string | undefined>;
pem?: pulumi.Input<boolean | undefined>;
persist?: pulumi.Input<boolean | undefined>;
pin?: pulumi.Input<boolean | undefined>;
policy?: pulumi.Input<string | undefined>;
/**
* This action will direct the stream to this pool.
*/
pool?: pulumi.Input<string | undefined>;
port?: pulumi.Input<number | undefined>;
priority?: pulumi.Input<string | undefined>;
profile?: pulumi.Input<string | undefined>;
protocol?: pulumi.Input<string | undefined>;
queryString?: pulumi.Input<string | undefined>;
rateclass?: pulumi.Input<string | undefined>;
redirect?: pulumi.Input<boolean | undefined>;
remove?: pulumi.Input<boolean | undefined>;
replace?: pulumi.Input<boolean | undefined>;
request?: pulumi.Input<boolean | undefined>;
requestAdapt?: pulumi.Input<boolean | undefined>;
reset?: pulumi.Input<boolean | undefined>;
response?: pulumi.Input<boolean | undefined>;
responseAdapt?: pulumi.Input<boolean | undefined>;
scheme?: pulumi.Input<string | undefined>;
script?: pulumi.Input<string | undefined>;
select?: pulumi.Input<boolean | undefined>;
serverSsl?: pulumi.Input<boolean | undefined>;
setVariable?: pulumi.Input<boolean | undefined>;
shutdown?: pulumi.Input<boolean | undefined>;
snat?: pulumi.Input<string | undefined>;
snatpool?: pulumi.Input<string | undefined>;
sourceAddress?: pulumi.Input<boolean | undefined>;
sslClientHello?: pulumi.Input<boolean | undefined>;
sslServerHandshake?: pulumi.Input<boolean | undefined>;
sslServerHello?: pulumi.Input<boolean | undefined>;
sslSessionId?: pulumi.Input<boolean | undefined>;
status?: pulumi.Input<number | undefined>;
tcl?: pulumi.Input<boolean | undefined>;
tcpNagle?: pulumi.Input<boolean | undefined>;
text?: pulumi.Input<string | undefined>;
timeout?: pulumi.Input<number | undefined>;
tmName?: pulumi.Input<string | undefined>;
uie?: pulumi.Input<boolean | undefined>;
universal?: pulumi.Input<boolean | undefined>;
value?: pulumi.Input<string | undefined>;
virtual?: pulumi.Input<string | undefined>;
vlan?: pulumi.Input<string | undefined>;
vlanId?: pulumi.Input<number | undefined>;
wam?: pulumi.Input<boolean | undefined>;
write?: pulumi.Input<boolean | undefined>;
}
interface PolicyRuleCondition {
address?: pulumi.Input<boolean | undefined>;
all?: pulumi.Input<boolean | undefined>;
appService?: pulumi.Input<string | undefined>;
browserType?: pulumi.Input<boolean | undefined>;
browserVersion?: pulumi.Input<boolean | undefined>;
caseInsensitive?: pulumi.Input<boolean | undefined>;
caseSensitive?: pulumi.Input<boolean | undefined>;
cipher?: pulumi.Input<boolean | undefined>;
cipherBits?: pulumi.Input<boolean | undefined>;
clientAccepted?: pulumi.Input<boolean | undefined>;
clientSsl?: pulumi.Input<boolean | undefined>;
code?: pulumi.Input<boolean | undefined>;
commonName?: pulumi.Input<boolean | undefined>;
contains?: pulumi.Input<boolean | undefined>;
continent?: pulumi.Input<boolean | undefined>;
countryCode?: pulumi.Input<boolean | undefined>;
countryName?: pulumi.Input<boolean | undefined>;
cpuUsage?: pulumi.Input<boolean | undefined>;
datagroup?: pulumi.Input<string | undefined>;
deviceMake?: pulumi.Input<boolean | undefined>;
deviceModel?: pulumi.Input<boolean | undefined>;
domain?: pulumi.Input<boolean | undefined>;
endsWith?: pulumi.Input<boolean | undefined>;
equals?: pulumi.Input<boolean | undefined>;
exists?: pulumi.Input<boolean | undefined>;
expiry?: pulumi.Input<boolean | undefined>;
extension?: pulumi.Input<boolean | undefined>;
external?: pulumi.Input<boolean | undefined>;
geoip?: pulumi.Input<boolean | undefined>;
greater?: pulumi.Input<boolean | undefined>;
greaterOrEqual?: pulumi.Input<boolean | undefined>;
host?: pulumi.Input<boolean | undefined>;
httpBasicAuth?: pulumi.Input<boolean | undefined>;
httpCookie?: pulumi.Input<boolean | undefined>;
httpHeader?: pulumi.Input<boolean | undefined>;
httpHost?: pulumi.Input<boolean | undefined>;
httpMethod?: pulumi.Input<boolean | undefined>;
httpReferer?: pulumi.Input<boolean | undefined>;
httpSetCookie?: pulumi.Input<boolean | undefined>;
httpStatus?: pulumi.Input<boolean | undefined>;
httpUri?: pulumi.Input<boolean | undefined>;
httpUserAgent?: pulumi.Input<boolean | undefined>;
httpVersion?: pulumi.Input<boolean | undefined>;
index?: pulumi.Input<number | undefined>;
internal?: pulumi.Input<boolean | undefined>;
isp?: pulumi.Input<boolean | undefined>;
last15secs?: pulumi.Input<boolean | undefined>;
last1min?: pulumi.Input<boolean | undefined>;
last5mins?: pulumi.Input<boolean | undefined>;
less?: pulumi.Input<boolean | undefined>;
lessOrEqual?: pulumi.Input<boolean | undefined>;
local?: pulumi.Input<boolean | undefined>;
major?: pulumi.Input<boolean | undefined>;
matches?: pulumi.Input<boolean | undefined>;
minor?: pulumi.Input<boolean | undefined>;
missing?: pulumi.Input<boolean | undefined>;
mss?: pulumi.Input<boolean | undefined>;
not?: pulumi.Input<boolean | undefined>;
org?: pulumi.Input<boolean | undefined>;
password?: pulumi.Input<boolean | undefined>;
path?: pulumi.Input<boolean | undefined>;
pathSegment?: pulumi.Input<boolean | undefined>;
port?: pulumi.Input<boolean | undefined>;
present?: pulumi.Input<boolean | undefined>;
protocol?: pulumi.Input<boolean | undefined>;
queryParameter?: pulumi.Input<boolean | undefined>;
queryString?: pulumi.Input<boolean | undefined>;
regionCode?: pulumi.Input<boolean | undefined>;
regionName?: pulumi.Input<boolean | undefined>;
remote?: pulumi.Input<boolean | undefined>;
request?: pulumi.Input<boolean | undefined>;
response?: pulumi.Input<boolean | undefined>;
routeDomain?: pulumi.Input<boolean | undefined>;
rtt?: pulumi.Input<boolean | undefined>;
scheme?: pulumi.Input<boolean | undefined>;
serverName?: pulumi.Input<boolean | undefined>;
sslCert?: pulumi.Input<boolean | undefined>;
sslClientHello?: pulumi.Input<boolean | undefined>;
sslExtension?: pulumi.Input<boolean | undefined>;
sslServerHandshake?: pulumi.Input<boolean | undefined>;
sslServerHello?: pulumi.Input<boolean | undefined>;
startsWith?: pulumi.Input<boolean | undefined>;
tcp?: pulumi.Input<boolean | undefined>;
text?: pulumi.Input<boolean | undefined>;
tmName?: pulumi.Input<string | undefined>;
unnamedQueryParameter?: pulumi.Input<boolean | undefined>;
userAgentToken?: pulumi.Input<boolean | undefined>;
username?: pulumi.Input<boolean | undefined>;
value?: pulumi.Input<boolean | undefined>;
values?: pulumi.Input<pulumi.Input<string>[] | undefined>;
version?: pulumi.Input<boolean | undefined>;
vlan?: pulumi.Input<boolean | undefined>;
vlanId?: p