UNPKG

@pulumi/f5bigip

Version:

A Pulumi package for creating and managing F5 BigIP resources.

372 lines (371 loc) • 16.9 kB
import * as pulumi from "@pulumi/pulumi"; /** * `f5bigip.ltm.VirtualServer` Configures Virtual Server * * For resources should be named with their `full path`. The full path is the combination of the `partition + name` of the resource (example: `/Common/test-virtualserver` ) or `partition + directory + name` of the resource (example: `/Common/test/test-virtualserver` ). * When including directory in `fullpath` we have to make sure it is created in the given partition before using it. * * ## Importing * * An existing virtual-server can be imported into this resource by supplying virtual-server Name in `full path` as `id`. * An example is below: * ```sh * $ terraform import bigip_ltm_virtual_server.http /Common/terraform_vs_http * ``` */ export declare class VirtualServer extends pulumi.CustomResource { /** * Get an existing VirtualServer 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?: VirtualServerState, opts?: pulumi.CustomResourceOptions): VirtualServer; /** * Returns true if the given object is an instance of VirtualServer. 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 VirtualServer; /** * List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles */ readonly clientProfiles: pulumi.Output<string[] | undefined>; readonly defaultPersistenceProfile: pulumi.Output<string>; /** * Description of Virtual server */ readonly description: pulumi.Output<string | undefined>; /** * Destination IP */ readonly destination: pulumi.Output<string | undefined>; /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ readonly fallbackPersistenceProfile: pulumi.Output<string>; /** * Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`. */ readonly firewallEnforcedPolicy: pulumi.Output<string>; /** * Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is `tcp`. valid options are [`any`,`udp`,`tcp`] */ readonly ipProtocol: pulumi.Output<string | undefined>; /** * The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. */ readonly irules: pulumi.Output<string[] | undefined>; /** * Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0 */ readonly mask: pulumi.Output<string>; /** * Name of the virtual server */ readonly name: pulumi.Output<string>; readonly perFlowRequestAccessPolicy: pulumi.Output<string>; /** * List of persistence profiles associated with the Virtual Server. */ readonly persistenceProfiles: pulumi.Output<string[] | undefined>; /** * Specifies the policies for the virtual server. */ readonly policies: pulumi.Output<string[] | undefined>; /** * Default pool name */ readonly pool: pulumi.Output<string | undefined>; /** * Listen port for the virtual server */ readonly port: pulumi.Output<number>; /** * List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. */ readonly profiles: pulumi.Output<string[]>; /** * Specifies the log profile applied to the virtual server. */ readonly securityLogProfiles: pulumi.Output<string[] | undefined>; /** * List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles */ readonly serverProfiles: pulumi.Output<string[] | undefined>; /** * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ readonly snatpool: pulumi.Output<string>; /** * Specifies an IP address or network from which the virtual server will accept traffic. */ readonly source: pulumi.Output<string>; /** * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. */ readonly sourceAddressTranslation: pulumi.Output<string>; /** * Specifies whether the system preserves the source port of the connection. The default is `preserve`. */ readonly sourcePort: pulumi.Output<string>; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ readonly state: pulumi.Output<string | undefined>; /** * Specifies destination traffic matching information to which the virtual server sends traffic */ readonly trafficmatchingCriteria: pulumi.Output<string>; /** * Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address. */ readonly translateAddress: pulumi.Output<string | undefined>; /** * Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service */ readonly translatePort: pulumi.Output<string | undefined>; /** * The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` */ readonly vlans: pulumi.Output<string[] | undefined>; /** * Enables the virtual server on the VLANs specified by the `vlans` option. * By default it is `false` i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by `vlans`, mark this attribute to `true`. */ readonly vlansEnabled: pulumi.Output<boolean | undefined>; /** * Create a VirtualServer 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: VirtualServerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VirtualServer resources. */ export interface VirtualServerState { /** * List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles */ clientProfiles?: pulumi.Input<pulumi.Input<string>[]>; defaultPersistenceProfile?: pulumi.Input<string>; /** * Description of Virtual server */ description?: pulumi.Input<string>; /** * Destination IP */ destination?: pulumi.Input<string>; /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ fallbackPersistenceProfile?: pulumi.Input<string>; /** * Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`. */ firewallEnforcedPolicy?: pulumi.Input<string>; /** * Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is `tcp`. valid options are [`any`,`udp`,`tcp`] */ ipProtocol?: pulumi.Input<string>; /** * The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. */ irules?: pulumi.Input<pulumi.Input<string>[]>; /** * Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0 */ mask?: pulumi.Input<string>; /** * Name of the virtual server */ name?: pulumi.Input<string>; perFlowRequestAccessPolicy?: pulumi.Input<string>; /** * List of persistence profiles associated with the Virtual Server. */ persistenceProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the policies for the virtual server. */ policies?: pulumi.Input<pulumi.Input<string>[]>; /** * Default pool name */ pool?: pulumi.Input<string>; /** * Listen port for the virtual server */ port?: pulumi.Input<number>; /** * List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. */ profiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the log profile applied to the virtual server. */ securityLogProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles */ serverProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ snatpool?: pulumi.Input<string>; /** * Specifies an IP address or network from which the virtual server will accept traffic. */ source?: pulumi.Input<string>; /** * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. */ sourceAddressTranslation?: pulumi.Input<string>; /** * Specifies whether the system preserves the source port of the connection. The default is `preserve`. */ sourcePort?: pulumi.Input<string>; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ state?: pulumi.Input<string>; /** * Specifies destination traffic matching information to which the virtual server sends traffic */ trafficmatchingCriteria?: pulumi.Input<string>; /** * Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address. */ translateAddress?: pulumi.Input<string>; /** * Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service */ translatePort?: pulumi.Input<string>; /** * The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` */ vlans?: pulumi.Input<pulumi.Input<string>[]>; /** * Enables the virtual server on the VLANs specified by the `vlans` option. * By default it is `false` i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by `vlans`, mark this attribute to `true`. */ vlansEnabled?: pulumi.Input<boolean>; } /** * The set of arguments for constructing a VirtualServer resource. */ export interface VirtualServerArgs { /** * List of client context profiles associated on the virtual server. Not mutually exclusive with profiles and server_profiles */ clientProfiles?: pulumi.Input<pulumi.Input<string>[]>; defaultPersistenceProfile?: pulumi.Input<string>; /** * Description of Virtual server */ description?: pulumi.Input<string>; /** * Destination IP */ destination?: pulumi.Input<string>; /** * Specifies a fallback persistence profile for the Virtual Server to use when the default persistence profile is not available. */ fallbackPersistenceProfile?: pulumi.Input<string>; /** * Applies the specified AFM policy to the virtual in an enforcing way,when creating a new virtual, if this parameter is not specified, the enforced is disabled.This should be in full path ex: `/Common/afm-test-policy`. */ firewallEnforcedPolicy?: pulumi.Input<string>; /** * Specifies a network protocol name you want the system to use to direct traffic on this virtual server. The default is `tcp`. valid options are [`any`,`udp`,`tcp`] */ ipProtocol?: pulumi.Input<string>; /** * The iRules list you want run on this virtual server. iRules help automate the intercepting, processing, and routing of application traffic. */ irules?: pulumi.Input<pulumi.Input<string>[]>; /** * Mask can either be in CIDR notation or decimal, i.e.: 24 or 255.255.255.0. A CIDR mask of 0 is the same as 0.0.0.0 */ mask?: pulumi.Input<string>; /** * Name of the virtual server */ name: pulumi.Input<string>; perFlowRequestAccessPolicy?: pulumi.Input<string>; /** * List of persistence profiles associated with the Virtual Server. */ persistenceProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the policies for the virtual server. */ policies?: pulumi.Input<pulumi.Input<string>[]>; /** * Default pool name */ pool?: pulumi.Input<string>; /** * Listen port for the virtual server */ port?: pulumi.Input<number>; /** * List of profiles associated both client and server contexts on the virtual server. This includes protocol, ssl, http, etc. */ profiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the log profile applied to the virtual server. */ securityLogProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * List of server context profiles associated on the virtual server. Not mutually exclusive with profiles and client_profiles */ serverProfiles?: pulumi.Input<pulumi.Input<string>[]>; /** * Specifies the name of an existing SNAT pool that you want the virtual server to use to implement selective and intelligent SNATs. */ snatpool?: pulumi.Input<string>; /** * Specifies an IP address or network from which the virtual server will accept traffic. */ source?: pulumi.Input<string>; /** * Can be either omitted for `none` or the values `automap` options : [`snat`,`automap`,`none`]. */ sourceAddressTranslation?: pulumi.Input<string>; /** * Specifies whether the system preserves the source port of the connection. The default is `preserve`. */ sourcePort?: pulumi.Input<string>; /** * Specifies whether the virtual server and its resources are available for load balancing. The default is Enabled */ state?: pulumi.Input<string>; /** * Specifies destination traffic matching information to which the virtual server sends traffic */ trafficmatchingCriteria?: pulumi.Input<string>; /** * Enables or disables address translation for the virtual server. Turn address translation off for a virtual server if you want to use the virtual server to load balance connections to any address. This option is useful when the system is load balancing devices that have the same IP address. */ translateAddress?: pulumi.Input<string>; /** * Enables or disables port translation. Turn port translation off for a virtual server if you want to use the virtual server to load balance connections to any service */ translatePort?: pulumi.Input<string>; /** * The virtual server is enabled/disabled on this set of VLANs,enable/disabled will be desided by attribute `vlanEnabled` */ vlans?: pulumi.Input<pulumi.Input<string>[]>; /** * Enables the virtual server on the VLANs specified by the `vlans` option. * By default it is `false` i.e vlanDisabled on specified vlans, if we want enable virtual server on VLANs specified by `vlans`, mark this attribute to `true`. */ vlansEnabled?: pulumi.Input<boolean>; }