1. Packages
  2. F5bigip Provider
  3. API Docs
  4. GtmServer
Viewing docs for f5 BIG-IP v3.20.0
published on Wednesday, Mar 4, 2026 by Pulumi
f5bigip logo
Viewing docs for f5 BIG-IP v3.20.0
published on Wednesday, Mar 4, 2026 by Pulumi

    #<span pulumi-lang-nodejs=" f5bigip.GtmServer

    " pulumi-lang-dotnet=" f5bigip.GtmServer " pulumi-lang-go=" GtmServer " pulumi-lang-python=" GtmServer " pulumi-lang-yaml=" f5bigip.GtmServer " pulumi-lang-java=" f5bigip.GtmServer “> f5bigip.GtmServer Manages F5 BIG-IP GTM (Global Traffic Manager) Server resources.

    A GTM server represents a BIG-IP system, a host, or a server that hosts applications. Servers are identified by their addresses and are organized within datacenters. GTM servers enable GTM to perform load balancing and provide health monitoring for distributed applications.

    Example Usage

    Basic GTM Server (BIG-IP)

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const server1 = new f5bigip.GtmServer("server1", {
        name: "bigip_server1",
        datacenter: dc1.name,
        product: "bigip",
        addresses: [{
            name: "10.1.1.1",
        }],
        monitor: "/Common/bigip",
        virtualServerDiscovery: "true",
        linkDiscovery: "disabled",
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    server1 = f5bigip.GtmServer("server1",
        name="bigip_server1",
        datacenter=dc1.name,
        product="bigip",
        addresses=[{
            "name": "10.1.1.1",
        }],
        monitor="/Common/bigip",
        virtual_server_discovery="true",
        link_discovery="disabled")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "server1", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("bigip_server1"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("bigip"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name: pulumi.String("10.1.1.1"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/bigip"),
    			VirtualServerDiscovery: pulumi.String("true"),
    			LinkDiscovery:          pulumi.String("disabled"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var server1 = new F5BigIP.GtmServer("server1", new()
        {
            Name = "bigip_server1",
            Datacenter = dc1.Name,
            Product = "bigip",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.1.1.1",
                },
            },
            Monitor = "/Common/bigip",
            VirtualServerDiscovery = "true",
            LinkDiscovery = "disabled",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var server1 = new GtmServer("server1", GtmServerArgs.builder()
                .name("bigip_server1")
                .datacenter(dc1.name())
                .product("bigip")
                .addresses(GtmServerAddressArgs.builder()
                    .name("10.1.1.1")
                    .build())
                .monitor("/Common/bigip")
                .virtualServerDiscovery("true")
                .linkDiscovery("disabled")
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      server1:
        type: f5bigip:GtmServer
        properties:
          name: bigip_server1
          datacenter: ${dc1.name}
          product: bigip
          addresses:
            - name: 10.1.1.1
          monitor: /Common/bigip
          virtualServerDiscovery: true
          linkDiscovery: disabled
    

    GTM Server with Multiple Addresses

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const multiAddressServer = new f5bigip.GtmServer("multi_address_server", {
        name: "multi_server",
        datacenter: dc1.name,
        product: "bigip",
        addresses: [
            {
                name: "10.1.1.1",
                deviceName: "/Common/bigip1.example.com",
                translation: "none",
            },
            {
                name: "10.1.1.2",
                deviceName: "/Common/bigip2.example.com",
                translation: "none",
            },
        ],
        monitor: "/Common/bigip",
        virtualServerDiscovery: "true",
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    multi_address_server = f5bigip.GtmServer("multi_address_server",
        name="multi_server",
        datacenter=dc1.name,
        product="bigip",
        addresses=[
            {
                "name": "10.1.1.1",
                "device_name": "/Common/bigip1.example.com",
                "translation": "none",
            },
            {
                "name": "10.1.1.2",
                "device_name": "/Common/bigip2.example.com",
                "translation": "none",
            },
        ],
        monitor="/Common/bigip",
        virtual_server_discovery="true")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "multi_address_server", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("multi_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("bigip"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name:        pulumi.String("10.1.1.1"),
    					DeviceName:  pulumi.String("/Common/bigip1.example.com"),
    					Translation: pulumi.String("none"),
    				},
    				&f5bigip.GtmServerAddressArgs{
    					Name:        pulumi.String("10.1.1.2"),
    					DeviceName:  pulumi.String("/Common/bigip2.example.com"),
    					Translation: pulumi.String("none"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/bigip"),
    			VirtualServerDiscovery: pulumi.String("true"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var multiAddressServer = new F5BigIP.GtmServer("multi_address_server", new()
        {
            Name = "multi_server",
            Datacenter = dc1.Name,
            Product = "bigip",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.1.1.1",
                    DeviceName = "/Common/bigip1.example.com",
                    Translation = "none",
                },
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.1.1.2",
                    DeviceName = "/Common/bigip2.example.com",
                    Translation = "none",
                },
            },
            Monitor = "/Common/bigip",
            VirtualServerDiscovery = "true",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var multiAddressServer = new GtmServer("multiAddressServer", GtmServerArgs.builder()
                .name("multi_server")
                .datacenter(dc1.name())
                .product("bigip")
                .addresses(            
                    GtmServerAddressArgs.builder()
                        .name("10.1.1.1")
                        .deviceName("/Common/bigip1.example.com")
                        .translation("none")
                        .build(),
                    GtmServerAddressArgs.builder()
                        .name("10.1.1.2")
                        .deviceName("/Common/bigip2.example.com")
                        .translation("none")
                        .build())
                .monitor("/Common/bigip")
                .virtualServerDiscovery("true")
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      multiAddressServer:
        type: f5bigip:GtmServer
        name: multi_address_server
        properties:
          name: multi_server
          datacenter: ${dc1.name}
          product: bigip
          addresses:
            - name: 10.1.1.1
              deviceName: /Common/bigip1.example.com
              translation: none
            - name: 10.1.1.2
              deviceName: /Common/bigip2.example.com
              translation: none
          monitor: /Common/bigip
          virtualServerDiscovery: true
    

    GTM Server with Address Translation

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const natServer = new f5bigip.GtmServer("nat_server", {
        name: "nat_server",
        datacenter: dc1.name,
        product: "bigip",
        addresses: [{
            name: "10.10.10.10",
            deviceName: "/Common/server.example.com",
            translation: "192.168.1.10",
        }],
        monitor: "/Common/bigip",
        virtualServerDiscovery: "true",
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    nat_server = f5bigip.GtmServer("nat_server",
        name="nat_server",
        datacenter=dc1.name,
        product="bigip",
        addresses=[{
            "name": "10.10.10.10",
            "device_name": "/Common/server.example.com",
            "translation": "192.168.1.10",
        }],
        monitor="/Common/bigip",
        virtual_server_discovery="true")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "nat_server", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("nat_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("bigip"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name:        pulumi.String("10.10.10.10"),
    					DeviceName:  pulumi.String("/Common/server.example.com"),
    					Translation: pulumi.String("192.168.1.10"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/bigip"),
    			VirtualServerDiscovery: pulumi.String("true"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var natServer = new F5BigIP.GtmServer("nat_server", new()
        {
            Name = "nat_server",
            Datacenter = dc1.Name,
            Product = "bigip",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.10.10.10",
                    DeviceName = "/Common/server.example.com",
                    Translation = "192.168.1.10",
                },
            },
            Monitor = "/Common/bigip",
            VirtualServerDiscovery = "true",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var natServer = new GtmServer("natServer", GtmServerArgs.builder()
                .name("nat_server")
                .datacenter(dc1.name())
                .product("bigip")
                .addresses(GtmServerAddressArgs.builder()
                    .name("10.10.10.10")
                    .deviceName("/Common/server.example.com")
                    .translation("192.168.1.10")
                    .build())
                .monitor("/Common/bigip")
                .virtualServerDiscovery("true")
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      natServer:
        type: f5bigip:GtmServer
        name: nat_server
        properties:
          name: nat_server
          datacenter: ${dc1.name}
          product: bigip
          addresses:
            - name: 10.10.10.10
              deviceName: /Common/server.example.com
              translation: 192.168.1.10
          monitor: /Common/bigip
          virtualServerDiscovery: true
    

    Generic Host Server

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const genericHost = new f5bigip.GtmServer("generic_host", {
        name: "generic_server",
        datacenter: dc1.name,
        product: "generic-host",
        addresses: [{
            name: "10.20.20.20",
        }],
        monitor: "/Common/tcp",
        virtualServerDiscovery: "false",
        linkDiscovery: "disabled",
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    generic_host = f5bigip.GtmServer("generic_host",
        name="generic_server",
        datacenter=dc1.name,
        product="generic-host",
        addresses=[{
            "name": "10.20.20.20",
        }],
        monitor="/Common/tcp",
        virtual_server_discovery="false",
        link_discovery="disabled")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "generic_host", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("generic_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("generic-host"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name: pulumi.String("10.20.20.20"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/tcp"),
    			VirtualServerDiscovery: pulumi.String("false"),
    			LinkDiscovery:          pulumi.String("disabled"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var genericHost = new F5BigIP.GtmServer("generic_host", new()
        {
            Name = "generic_server",
            Datacenter = dc1.Name,
            Product = "generic-host",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.20.20.20",
                },
            },
            Monitor = "/Common/tcp",
            VirtualServerDiscovery = "false",
            LinkDiscovery = "disabled",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var genericHost = new GtmServer("genericHost", GtmServerArgs.builder()
                .name("generic_server")
                .datacenter(dc1.name())
                .product("generic-host")
                .addresses(GtmServerAddressArgs.builder()
                    .name("10.20.20.20")
                    .build())
                .monitor("/Common/tcp")
                .virtualServerDiscovery("false")
                .linkDiscovery("disabled")
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      genericHost:
        type: f5bigip:GtmServer
        name: generic_host
        properties:
          name: generic_server
          datacenter: ${dc1.name}
          product: generic-host
          addresses:
            - name: 10.20.20.20
          monitor: /Common/tcp
          virtualServerDiscovery: false
          linkDiscovery: disabled
    

    Generic Host Server with Virtual Servers

    For generic-host servers that don’t support virtual server discovery, you can manually define virtual servers:

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const genericWithVs = new f5bigip.GtmServer("generic_with_vs", {
        name: "generic_app_server",
        datacenter: dc1.name,
        product: "generic-host",
        addresses: [{
            name: "192.168.10.100",
        }],
        virtualServerDiscovery: "disabled",
        linkDiscovery: "disabled",
        virtualServers: [
            {
                name: "vs_http",
                destination: "192.168.10.100:80",
                enabled: true,
            },
            {
                name: "vs_https",
                destination: "192.168.10.100:443",
                enabled: true,
            },
            {
                name: "vs_api",
                destination: "192.168.10.100:8080",
                enabled: true,
                translationAddress: "none",
                translationPort: 0,
            },
        ],
        enabled: true,
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    generic_with_vs = f5bigip.GtmServer("generic_with_vs",
        name="generic_app_server",
        datacenter=dc1.name,
        product="generic-host",
        addresses=[{
            "name": "192.168.10.100",
        }],
        virtual_server_discovery="disabled",
        link_discovery="disabled",
        virtual_servers=[
            {
                "name": "vs_http",
                "destination": "192.168.10.100:80",
                "enabled": True,
            },
            {
                "name": "vs_https",
                "destination": "192.168.10.100:443",
                "enabled": True,
            },
            {
                "name": "vs_api",
                "destination": "192.168.10.100:8080",
                "enabled": True,
                "translation_address": "none",
                "translation_port": 0,
            },
        ],
        enabled=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "generic_with_vs", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("generic_app_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("generic-host"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name: pulumi.String("192.168.10.100"),
    				},
    			},
    			VirtualServerDiscovery: pulumi.String("disabled"),
    			LinkDiscovery:          pulumi.String("disabled"),
    			VirtualServers: f5bigip.GtmServerVirtualServerArray{
    				&f5bigip.GtmServerVirtualServerArgs{
    					Name:        pulumi.String("vs_http"),
    					Destination: pulumi.String("192.168.10.100:80"),
    					Enabled:     pulumi.Bool(true),
    				},
    				&f5bigip.GtmServerVirtualServerArgs{
    					Name:        pulumi.String("vs_https"),
    					Destination: pulumi.String("192.168.10.100:443"),
    					Enabled:     pulumi.Bool(true),
    				},
    				&f5bigip.GtmServerVirtualServerArgs{
    					Name:               pulumi.String("vs_api"),
    					Destination:        pulumi.String("192.168.10.100:8080"),
    					Enabled:            pulumi.Bool(true),
    					TranslationAddress: pulumi.String("none"),
    					TranslationPort:    pulumi.Int(0),
    				},
    			},
    			Enabled: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var genericWithVs = new F5BigIP.GtmServer("generic_with_vs", new()
        {
            Name = "generic_app_server",
            Datacenter = dc1.Name,
            Product = "generic-host",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "192.168.10.100",
                },
            },
            VirtualServerDiscovery = "disabled",
            LinkDiscovery = "disabled",
            VirtualServers = new[]
            {
                new F5BigIP.Inputs.GtmServerVirtualServerArgs
                {
                    Name = "vs_http",
                    Destination = "192.168.10.100:80",
                    Enabled = true,
                },
                new F5BigIP.Inputs.GtmServerVirtualServerArgs
                {
                    Name = "vs_https",
                    Destination = "192.168.10.100:443",
                    Enabled = true,
                },
                new F5BigIP.Inputs.GtmServerVirtualServerArgs
                {
                    Name = "vs_api",
                    Destination = "192.168.10.100:8080",
                    Enabled = true,
                    TranslationAddress = "none",
                    TranslationPort = 0,
                },
            },
            Enabled = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import com.pulumi.f5bigip.inputs.GtmServerVirtualServerArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var genericWithVs = new GtmServer("genericWithVs", GtmServerArgs.builder()
                .name("generic_app_server")
                .datacenter(dc1.name())
                .product("generic-host")
                .addresses(GtmServerAddressArgs.builder()
                    .name("192.168.10.100")
                    .build())
                .virtualServerDiscovery("disabled")
                .linkDiscovery("disabled")
                .virtualServers(            
                    GtmServerVirtualServerArgs.builder()
                        .name("vs_http")
                        .destination("192.168.10.100:80")
                        .enabled(true)
                        .build(),
                    GtmServerVirtualServerArgs.builder()
                        .name("vs_https")
                        .destination("192.168.10.100:443")
                        .enabled(true)
                        .build(),
                    GtmServerVirtualServerArgs.builder()
                        .name("vs_api")
                        .destination("192.168.10.100:8080")
                        .enabled(true)
                        .translationAddress("none")
                        .translationPort(0)
                        .build())
                .enabled(true)
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      genericWithVs:
        type: f5bigip:GtmServer
        name: generic_with_vs
        properties:
          name: generic_app_server
          datacenter: ${dc1.name}
          product: generic-host
          addresses:
            - name: 192.168.10.100
          virtualServerDiscovery: disabled
          linkDiscovery: disabled
          virtualServers:
            - name: vs_http
              destination: 192.168.10.100:80
              enabled: true
            - name: vs_https
              destination: 192.168.10.100:443
              enabled: true
            - name: vs_api
              destination: 192.168.10.100:8080
              enabled: true
              translationAddress: none
              translationPort: 0
          enabled: true
    

    GTM Server with Prober Settings

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const proberServer = new f5bigip.GtmServer("prober_server", {
        name: "prober_configured_server",
        datacenter: dc1.name,
        product: "bigip",
        addresses: [{
            name: "10.30.30.30",
        }],
        monitor: "/Common/bigip",
        virtualServerDiscovery: "true",
        proberPreference: "inside-datacenter",
        proberFallback: "any-available",
        iqAllowPath: true,
        iqAllowServiceCheck: true,
        iqAllowSnmp: true,
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    prober_server = f5bigip.GtmServer("prober_server",
        name="prober_configured_server",
        datacenter=dc1.name,
        product="bigip",
        addresses=[{
            "name": "10.30.30.30",
        }],
        monitor="/Common/bigip",
        virtual_server_discovery="true",
        prober_preference="inside-datacenter",
        prober_fallback="any-available",
        iq_allow_path=True,
        iq_allow_service_check=True,
        iq_allow_snmp=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "prober_server", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("prober_configured_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("bigip"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name: pulumi.String("10.30.30.30"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/bigip"),
    			VirtualServerDiscovery: pulumi.String("true"),
    			ProberPreference:       pulumi.String("inside-datacenter"),
    			ProberFallback:         pulumi.String("any-available"),
    			IqAllowPath:            pulumi.Bool(true),
    			IqAllowServiceCheck:    pulumi.Bool(true),
    			IqAllowSnmp:            pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var proberServer = new F5BigIP.GtmServer("prober_server", new()
        {
            Name = "prober_configured_server",
            Datacenter = dc1.Name,
            Product = "bigip",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.30.30.30",
                },
            },
            Monitor = "/Common/bigip",
            VirtualServerDiscovery = "true",
            ProberPreference = "inside-datacenter",
            ProberFallback = "any-available",
            IqAllowPath = true,
            IqAllowServiceCheck = true,
            IqAllowSnmp = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var proberServer = new GtmServer("proberServer", GtmServerArgs.builder()
                .name("prober_configured_server")
                .datacenter(dc1.name())
                .product("bigip")
                .addresses(GtmServerAddressArgs.builder()
                    .name("10.30.30.30")
                    .build())
                .monitor("/Common/bigip")
                .virtualServerDiscovery("true")
                .proberPreference("inside-datacenter")
                .proberFallback("any-available")
                .iqAllowPath(true)
                .iqAllowServiceCheck(true)
                .iqAllowSnmp(true)
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      proberServer:
        type: f5bigip:GtmServer
        name: prober_server
        properties:
          name: prober_configured_server
          datacenter: ${dc1.name}
          product: bigip
          addresses:
            - name: 10.30.30.30
          monitor: /Common/bigip
          virtualServerDiscovery: true
          proberPreference: inside-datacenter
          proberFallback: any-available
          iqAllowPath: true
          iqAllowServiceCheck: true
          iqAllowSnmp: true
    

    GTM Server with Resource Limits

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const dc1 = new f5bigip.GtmDatacenter("dc1", {name: "datacenter1"});
    const limitedServer = new f5bigip.GtmServer("limited_server", {
        name: "resource_limited_server",
        datacenter: dc1.name,
        product: "bigip",
        addresses: [{
            name: "10.40.40.40",
        }],
        monitor: "/Common/bigip",
        virtualServerDiscovery: "true",
        limitMaxConnections: 10000,
        limitMaxBps: 1000000,
        limitMaxPps: 50000,
        limitCpuUsage: 80,
        limitMemAvail: 1024,
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    dc1 = f5bigip.GtmDatacenter("dc1", name="datacenter1")
    limited_server = f5bigip.GtmServer("limited_server",
        name="resource_limited_server",
        datacenter=dc1.name,
        product="bigip",
        addresses=[{
            "name": "10.40.40.40",
        }],
        monitor="/Common/bigip",
        virtual_server_discovery="true",
        limit_max_connections=10000,
        limit_max_bps=1000000,
        limit_max_pps=50000,
        limit_cpu_usage=80,
        limit_mem_avail=1024)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		dc1, err := f5bigip.NewGtmDatacenter(ctx, "dc1", &f5bigip.GtmDatacenterArgs{
    			Name: pulumi.String("datacenter1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewGtmServer(ctx, "limited_server", &f5bigip.GtmServerArgs{
    			Name:       pulumi.String("resource_limited_server"),
    			Datacenter: dc1.Name,
    			Product:    pulumi.String("bigip"),
    			Addresses: f5bigip.GtmServerAddressArray{
    				&f5bigip.GtmServerAddressArgs{
    					Name: pulumi.String("10.40.40.40"),
    				},
    			},
    			Monitor:                pulumi.String("/Common/bigip"),
    			VirtualServerDiscovery: pulumi.String("true"),
    			LimitMaxConnections:    pulumi.Int(10000),
    			LimitMaxBps:            pulumi.Int(1000000),
    			LimitMaxPps:            pulumi.Int(50000),
    			LimitCpuUsage:          pulumi.Int(80),
    			LimitMemAvail:          pulumi.Int(1024),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var dc1 = new F5BigIP.GtmDatacenter("dc1", new()
        {
            Name = "datacenter1",
        });
    
        var limitedServer = new F5BigIP.GtmServer("limited_server", new()
        {
            Name = "resource_limited_server",
            Datacenter = dc1.Name,
            Product = "bigip",
            Addresses = new[]
            {
                new F5BigIP.Inputs.GtmServerAddressArgs
                {
                    Name = "10.40.40.40",
                },
            },
            Monitor = "/Common/bigip",
            VirtualServerDiscovery = "true",
            LimitMaxConnections = 10000,
            LimitMaxBps = 1000000,
            LimitMaxPps = 50000,
            LimitCpuUsage = 80,
            LimitMemAvail = 1024,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.GtmDatacenter;
    import com.pulumi.f5bigip.GtmDatacenterArgs;
    import com.pulumi.f5bigip.GtmServer;
    import com.pulumi.f5bigip.GtmServerArgs;
    import com.pulumi.f5bigip.inputs.GtmServerAddressArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var dc1 = new GtmDatacenter("dc1", GtmDatacenterArgs.builder()
                .name("datacenter1")
                .build());
    
            var limitedServer = new GtmServer("limitedServer", GtmServerArgs.builder()
                .name("resource_limited_server")
                .datacenter(dc1.name())
                .product("bigip")
                .addresses(GtmServerAddressArgs.builder()
                    .name("10.40.40.40")
                    .build())
                .monitor("/Common/bigip")
                .virtualServerDiscovery("true")
                .limitMaxConnections(10000)
                .limitMaxBps(1000000)
                .limitMaxPps(50000)
                .limitCpuUsage(80)
                .limitMemAvail(1024)
                .build());
    
        }
    }
    
    resources:
      dc1:
        type: f5bigip:GtmDatacenter
        properties:
          name: datacenter1
      limitedServer:
        type: f5bigip:GtmServer
        name: limited_server
        properties:
          name: resource_limited_server
          datacenter: ${dc1.name}
          product: bigip
          addresses:
            - name: 10.40.40.40
          monitor: /Common/bigip
          virtualServerDiscovery: true
          limitMaxConnections: 10000
          limitMaxBps: 1e+06
          limitMaxPps: 50000
          limitCpuUsage: 80
          limitMemAvail: 1024
    

    Notes

    • When creating a GTM server of type bigip, ensure that the BIG-IP device is accessible and properly configured for GTM communication.

    • Virtual server discovery requires proper iQuery communication between GTM systems.

    • Address translation is useful when servers are behind NAT.

    • Multiple addresses can be specified for servers with multiple network interfaces or for redundancy.

    • Resource limits help prevent a single server from consuming all available capacity in load balancing decisions.

    • Prober settings control how GTM monitors server health from different network locations.

    Create GtmServer Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new GtmServer(name: string, args: GtmServerArgs, opts?: CustomResourceOptions);
    @overload
    def GtmServer(resource_name: str,
                  args: GtmServerArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def GtmServer(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  name: Optional[str] = None,
                  datacenter: Optional[str] = None,
                  limit_max_pps: Optional[int] = None,
                  prober_preference: Optional[str] = None,
                  expose_route_domains: Optional[bool] = None,
                  iq_allow_path: Optional[bool] = None,
                  iq_allow_service_check: Optional[bool] = None,
                  iq_allow_snmp: Optional[bool] = None,
                  limit_cpu_usage: Optional[int] = None,
                  limit_cpu_usage_status: Optional[str] = None,
                  limit_max_bps: Optional[int] = None,
                  limit_max_bps_status: Optional[str] = None,
                  limit_max_connections: Optional[int] = None,
                  limit_max_connections_status: Optional[str] = None,
                  enabled: Optional[bool] = None,
                  addresses: Optional[Sequence[GtmServerAddressArgs]] = None,
                  description: Optional[str] = None,
                  limit_mem_avail_status: Optional[str] = None,
                  link_discovery: Optional[str] = None,
                  monitor: Optional[str] = None,
                  limit_mem_avail: Optional[int] = None,
                  partition: Optional[str] = None,
                  prober_fallback: Optional[str] = None,
                  prober_pool: Optional[str] = None,
                  limit_max_pps_status: Optional[str] = None,
                  product: Optional[str] = None,
                  virtual_server_discovery: Optional[str] = None,
                  virtual_servers: Optional[Sequence[GtmServerVirtualServerArgs]] = None)
    func NewGtmServer(ctx *Context, name string, args GtmServerArgs, opts ...ResourceOption) (*GtmServer, error)
    public GtmServer(string name, GtmServerArgs args, CustomResourceOptions? opts = null)
    public GtmServer(String name, GtmServerArgs args)
    public GtmServer(String name, GtmServerArgs args, CustomResourceOptions options)
    
    type: f5bigip:GtmServer
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args GtmServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args GtmServerArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args GtmServerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GtmServerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GtmServerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var gtmServerResource = new F5BigIP.GtmServer("gtmServerResource", new()
    {
        Name = "string",
        Datacenter = "string",
        LimitMaxPps = 0,
        ProberPreference = "string",
        ExposeRouteDomains = false,
        IqAllowPath = false,
        IqAllowServiceCheck = false,
        IqAllowSnmp = false,
        LimitCpuUsage = 0,
        LimitCpuUsageStatus = "string",
        LimitMaxBps = 0,
        LimitMaxBpsStatus = "string",
        LimitMaxConnections = 0,
        LimitMaxConnectionsStatus = "string",
        Enabled = false,
        Addresses = new[]
        {
            new F5BigIP.Inputs.GtmServerAddressArgs
            {
                Name = "string",
                DeviceName = "string",
                Translation = "string",
            },
        },
        Description = "string",
        LimitMemAvailStatus = "string",
        LinkDiscovery = "string",
        Monitor = "string",
        LimitMemAvail = 0,
        Partition = "string",
        ProberFallback = "string",
        ProberPool = "string",
        LimitMaxPpsStatus = "string",
        Product = "string",
        VirtualServerDiscovery = "string",
        VirtualServers = new[]
        {
            new F5BigIP.Inputs.GtmServerVirtualServerArgs
            {
                Name = "string",
                Destination = "string",
                LimitMaxConnectionsStatus = "string",
                LimitMaxBps = 0,
                LimitMaxBpsStatus = "string",
                LimitMaxConnections = 0,
                DependsOn = "string",
                LimitMaxPps = 0,
                LimitMaxPpsStatus = "string",
                Monitor = "string",
                Enabled = false,
                TranslationAddress = "string",
                TranslationPort = 0,
            },
        },
    });
    
    example, err := f5bigip.NewGtmServer(ctx, "gtmServerResource", &f5bigip.GtmServerArgs{
    	Name:                      pulumi.String("string"),
    	Datacenter:                pulumi.String("string"),
    	LimitMaxPps:               pulumi.Int(0),
    	ProberPreference:          pulumi.String("string"),
    	ExposeRouteDomains:        pulumi.Bool(false),
    	IqAllowPath:               pulumi.Bool(false),
    	IqAllowServiceCheck:       pulumi.Bool(false),
    	IqAllowSnmp:               pulumi.Bool(false),
    	LimitCpuUsage:             pulumi.Int(0),
    	LimitCpuUsageStatus:       pulumi.String("string"),
    	LimitMaxBps:               pulumi.Int(0),
    	LimitMaxBpsStatus:         pulumi.String("string"),
    	LimitMaxConnections:       pulumi.Int(0),
    	LimitMaxConnectionsStatus: pulumi.String("string"),
    	Enabled:                   pulumi.Bool(false),
    	Addresses: f5bigip.GtmServerAddressArray{
    		&f5bigip.GtmServerAddressArgs{
    			Name:        pulumi.String("string"),
    			DeviceName:  pulumi.String("string"),
    			Translation: pulumi.String("string"),
    		},
    	},
    	Description:            pulumi.String("string"),
    	LimitMemAvailStatus:    pulumi.String("string"),
    	LinkDiscovery:          pulumi.String("string"),
    	Monitor:                pulumi.String("string"),
    	LimitMemAvail:          pulumi.Int(0),
    	Partition:              pulumi.String("string"),
    	ProberFallback:         pulumi.String("string"),
    	ProberPool:             pulumi.String("string"),
    	LimitMaxPpsStatus:      pulumi.String("string"),
    	Product:                pulumi.String("string"),
    	VirtualServerDiscovery: pulumi.String("string"),
    	VirtualServers: f5bigip.GtmServerVirtualServerArray{
    		&f5bigip.GtmServerVirtualServerArgs{
    			Name:                      pulumi.String("string"),
    			Destination:               pulumi.String("string"),
    			LimitMaxConnectionsStatus: pulumi.String("string"),
    			LimitMaxBps:               pulumi.Int(0),
    			LimitMaxBpsStatus:         pulumi.String("string"),
    			LimitMaxConnections:       pulumi.Int(0),
    			DependsOn:                 pulumi.String("string"),
    			LimitMaxPps:               pulumi.Int(0),
    			LimitMaxPpsStatus:         pulumi.String("string"),
    			Monitor:                   pulumi.String("string"),
    			Enabled:                   pulumi.Bool(false),
    			TranslationAddress:        pulumi.String("string"),
    			TranslationPort:           pulumi.Int(0),
    		},
    	},
    })
    
    var gtmServerResource = new GtmServer("gtmServerResource", GtmServerArgs.builder()
        .name("string")
        .datacenter("string")
        .limitMaxPps(0)
        .proberPreference("string")
        .exposeRouteDomains(false)
        .iqAllowPath(false)
        .iqAllowServiceCheck(false)
        .iqAllowSnmp(false)
        .limitCpuUsage(0)
        .limitCpuUsageStatus("string")
        .limitMaxBps(0)
        .limitMaxBpsStatus("string")
        .limitMaxConnections(0)
        .limitMaxConnectionsStatus("string")
        .enabled(false)
        .addresses(GtmServerAddressArgs.builder()
            .name("string")
            .deviceName("string")
            .translation("string")
            .build())
        .description("string")
        .limitMemAvailStatus("string")
        .linkDiscovery("string")
        .monitor("string")
        .limitMemAvail(0)
        .partition("string")
        .proberFallback("string")
        .proberPool("string")
        .limitMaxPpsStatus("string")
        .product("string")
        .virtualServerDiscovery("string")
        .virtualServers(GtmServerVirtualServerArgs.builder()
            .name("string")
            .destination("string")
            .limitMaxConnectionsStatus("string")
            .limitMaxBps(0)
            .limitMaxBpsStatus("string")
            .limitMaxConnections(0)
            .dependsOn("string")
            .limitMaxPps(0)
            .limitMaxPpsStatus("string")
            .monitor("string")
            .enabled(false)
            .translationAddress("string")
            .translationPort(0)
            .build())
        .build());
    
    gtm_server_resource = f5bigip.GtmServer("gtmServerResource",
        name="string",
        datacenter="string",
        limit_max_pps=0,
        prober_preference="string",
        expose_route_domains=False,
        iq_allow_path=False,
        iq_allow_service_check=False,
        iq_allow_snmp=False,
        limit_cpu_usage=0,
        limit_cpu_usage_status="string",
        limit_max_bps=0,
        limit_max_bps_status="string",
        limit_max_connections=0,
        limit_max_connections_status="string",
        enabled=False,
        addresses=[{
            "name": "string",
            "device_name": "string",
            "translation": "string",
        }],
        description="string",
        limit_mem_avail_status="string",
        link_discovery="string",
        monitor="string",
        limit_mem_avail=0,
        partition="string",
        prober_fallback="string",
        prober_pool="string",
        limit_max_pps_status="string",
        product="string",
        virtual_server_discovery="string",
        virtual_servers=[{
            "name": "string",
            "destination": "string",
            "limit_max_connections_status": "string",
            "limit_max_bps": 0,
            "limit_max_bps_status": "string",
            "limit_max_connections": 0,
            "depends_on": "string",
            "limit_max_pps": 0,
            "limit_max_pps_status": "string",
            "monitor": "string",
            "enabled": False,
            "translation_address": "string",
            "translation_port": 0,
        }])
    
    const gtmServerResource = new f5bigip.GtmServer("gtmServerResource", {
        name: "string",
        datacenter: "string",
        limitMaxPps: 0,
        proberPreference: "string",
        exposeRouteDomains: false,
        iqAllowPath: false,
        iqAllowServiceCheck: false,
        iqAllowSnmp: false,
        limitCpuUsage: 0,
        limitCpuUsageStatus: "string",
        limitMaxBps: 0,
        limitMaxBpsStatus: "string",
        limitMaxConnections: 0,
        limitMaxConnectionsStatus: "string",
        enabled: false,
        addresses: [{
            name: "string",
            deviceName: "string",
            translation: "string",
        }],
        description: "string",
        limitMemAvailStatus: "string",
        linkDiscovery: "string",
        monitor: "string",
        limitMemAvail: 0,
        partition: "string",
        proberFallback: "string",
        proberPool: "string",
        limitMaxPpsStatus: "string",
        product: "string",
        virtualServerDiscovery: "string",
        virtualServers: [{
            name: "string",
            destination: "string",
            limitMaxConnectionsStatus: "string",
            limitMaxBps: 0,
            limitMaxBpsStatus: "string",
            limitMaxConnections: 0,
            dependsOn: "string",
            limitMaxPps: 0,
            limitMaxPpsStatus: "string",
            monitor: "string",
            enabled: false,
            translationAddress: "string",
            translationPort: 0,
        }],
    });
    
    type: f5bigip:GtmServer
    properties:
        addresses:
            - deviceName: string
              name: string
              translation: string
        datacenter: string
        description: string
        enabled: false
        exposeRouteDomains: false
        iqAllowPath: false
        iqAllowServiceCheck: false
        iqAllowSnmp: false
        limitCpuUsage: 0
        limitCpuUsageStatus: string
        limitMaxBps: 0
        limitMaxBpsStatus: string
        limitMaxConnections: 0
        limitMaxConnectionsStatus: string
        limitMaxPps: 0
        limitMaxPpsStatus: string
        limitMemAvail: 0
        limitMemAvailStatus: string
        linkDiscovery: string
        monitor: string
        name: string
        partition: string
        proberFallback: string
        proberPool: string
        proberPreference: string
        product: string
        virtualServerDiscovery: string
        virtualServers:
            - dependsOn: string
              destination: string
              enabled: false
              limitMaxBps: 0
              limitMaxBpsStatus: string
              limitMaxConnections: 0
              limitMaxConnectionsStatus: string
              limitMaxPps: 0
              limitMaxPpsStatus: string
              monitor: string
              name: string
              translationAddress: string
              translationPort: 0
    

    GtmServer Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The GtmServer resource accepts the following input properties:

    Datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    Name string
    Name of the GTM server. Must be unique within the partition.
    Addresses List<Pulumi.F5BigIP.Inputs.GtmServerAddress>
    List of IP addresses for the server. Each address block supports:
    Description string
    Description of the GTM server
    Enabled bool
    Enable or disable the GTM server
    ExposeRouteDomains bool
    Allow GTM server to expose route domains. Default is false.
    IqAllowPath bool
    Enable iQuery path probing. Default is true.
    IqAllowServiceCheck bool
    Enable iQuery service checking. Default is true.
    IqAllowSnmp bool
    Enable iQuery SNMP. Default is true.
    LimitCpuUsage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    LimitCpuUsageStatus string
    CPU usage limit status.
    LimitMaxBps int
    Maximum bits per second. 0 means no limit. Default is 0.
    LimitMaxBpsStatus string
    Maximum bps limit status.
    LimitMaxConnections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    LimitMaxConnectionsStatus string
    Maximum connections limit status.
    LimitMaxPps int
    Maximum packets per second. 0 means no limit. Default is 0.
    LimitMaxPpsStatus string
    Maximum pps limit status.
    LimitMemAvail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    LimitMemAvailStatus string
    Available memory limit status.
    LinkDiscovery string
    Link discovery mode. Valid values:
    Monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    Partition string
    Partition or tenant the server belongs to. Default is Common.
    ProberFallback string
    Fallback prober selection. Valid values:
    ProberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    ProberPreference string
    Preferred type of prober. Valid values:
    Product string
    Type of server. Valid values are:
    VirtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    VirtualServers List<Pulumi.F5BigIP.Inputs.GtmServerVirtualServer>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    Datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    Name string
    Name of the GTM server. Must be unique within the partition.
    Addresses []GtmServerAddressArgs
    List of IP addresses for the server. Each address block supports:
    Description string
    Description of the GTM server
    Enabled bool
    Enable or disable the GTM server
    ExposeRouteDomains bool
    Allow GTM server to expose route domains. Default is false.
    IqAllowPath bool
    Enable iQuery path probing. Default is true.
    IqAllowServiceCheck bool
    Enable iQuery service checking. Default is true.
    IqAllowSnmp bool
    Enable iQuery SNMP. Default is true.
    LimitCpuUsage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    LimitCpuUsageStatus string
    CPU usage limit status.
    LimitMaxBps int
    Maximum bits per second. 0 means no limit. Default is 0.
    LimitMaxBpsStatus string
    Maximum bps limit status.
    LimitMaxConnections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    LimitMaxConnectionsStatus string
    Maximum connections limit status.
    LimitMaxPps int
    Maximum packets per second. 0 means no limit. Default is 0.
    LimitMaxPpsStatus string
    Maximum pps limit status.
    LimitMemAvail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    LimitMemAvailStatus string
    Available memory limit status.
    LinkDiscovery string
    Link discovery mode. Valid values:
    Monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    Partition string
    Partition or tenant the server belongs to. Default is Common.
    ProberFallback string
    Fallback prober selection. Valid values:
    ProberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    ProberPreference string
    Preferred type of prober. Valid values:
    Product string
    Type of server. Valid values are:
    VirtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    VirtualServers []GtmServerVirtualServerArgs
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    datacenter String
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    name String
    Name of the GTM server. Must be unique within the partition.
    addresses List<GtmServerAddress>
    List of IP addresses for the server. Each address block supports:
    description String
    Description of the GTM server
    enabled Boolean
    Enable or disable the GTM server
    exposeRouteDomains Boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath Boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck Boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp Boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage Integer
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus String
    CPU usage limit status.
    limitMaxBps Integer
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus String
    Maximum bps limit status.
    limitMaxConnections Integer
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus String
    Maximum connections limit status.
    limitMaxPps Integer
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus String
    Maximum pps limit status.
    limitMemAvail Integer
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus String
    Available memory limit status.
    linkDiscovery String
    Link discovery mode. Valid values:
    monitor String
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    partition String
    Partition or tenant the server belongs to. Default is Common.
    proberFallback String
    Fallback prober selection. Valid values:
    proberPool String
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference String
    Preferred type of prober. Valid values:
    product String
    Type of server. Valid values are:
    virtualServerDiscovery String
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers List<GtmServerVirtualServer>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    name string
    Name of the GTM server. Must be unique within the partition.
    addresses GtmServerAddress[]
    List of IP addresses for the server. Each address block supports:
    description string
    Description of the GTM server
    enabled boolean
    Enable or disable the GTM server
    exposeRouteDomains boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage number
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus string
    CPU usage limit status.
    limitMaxBps number
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus string
    Maximum bps limit status.
    limitMaxConnections number
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus string
    Maximum connections limit status.
    limitMaxPps number
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus string
    Maximum pps limit status.
    limitMemAvail number
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus string
    Available memory limit status.
    linkDiscovery string
    Link discovery mode. Valid values:
    monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    partition string
    Partition or tenant the server belongs to. Default is Common.
    proberFallback string
    Fallback prober selection. Valid values:
    proberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference string
    Preferred type of prober. Valid values:
    product string
    Type of server. Valid values are:
    virtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers GtmServerVirtualServer[]
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    datacenter str
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    name str
    Name of the GTM server. Must be unique within the partition.
    addresses Sequence[GtmServerAddressArgs]
    List of IP addresses for the server. Each address block supports:
    description str
    Description of the GTM server
    enabled bool
    Enable or disable the GTM server
    expose_route_domains bool
    Allow GTM server to expose route domains. Default is false.
    iq_allow_path bool
    Enable iQuery path probing. Default is true.
    iq_allow_service_check bool
    Enable iQuery service checking. Default is true.
    iq_allow_snmp bool
    Enable iQuery SNMP. Default is true.
    limit_cpu_usage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limit_cpu_usage_status str
    CPU usage limit status.
    limit_max_bps int
    Maximum bits per second. 0 means no limit. Default is 0.
    limit_max_bps_status str
    Maximum bps limit status.
    limit_max_connections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limit_max_connections_status str
    Maximum connections limit status.
    limit_max_pps int
    Maximum packets per second. 0 means no limit. Default is 0.
    limit_max_pps_status str
    Maximum pps limit status.
    limit_mem_avail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    limit_mem_avail_status str
    Available memory limit status.
    link_discovery str
    Link discovery mode. Valid values:
    monitor str
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    partition str
    Partition or tenant the server belongs to. Default is Common.
    prober_fallback str
    Fallback prober selection. Valid values:
    prober_pool str
    Prober pool to use when prober_preference or prober_fallback is set to pool
    prober_preference str
    Preferred type of prober. Valid values:
    product str
    Type of server. Valid values are:
    virtual_server_discovery str
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtual_servers Sequence[GtmServerVirtualServerArgs]
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    datacenter String
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    name String
    Name of the GTM server. Must be unique within the partition.
    addresses List<Property Map>
    List of IP addresses for the server. Each address block supports:
    description String
    Description of the GTM server
    enabled Boolean
    Enable or disable the GTM server
    exposeRouteDomains Boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath Boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck Boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp Boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage Number
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus String
    CPU usage limit status.
    limitMaxBps Number
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus String
    Maximum bps limit status.
    limitMaxConnections Number
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus String
    Maximum connections limit status.
    limitMaxPps Number
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus String
    Maximum pps limit status.
    limitMemAvail Number
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus String
    Available memory limit status.
    linkDiscovery String
    Link discovery mode. Valid values:
    monitor String
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    partition String
    Partition or tenant the server belongs to. Default is Common.
    proberFallback String
    Fallback prober selection. Valid values:
    proberPool String
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference String
    Preferred type of prober. Valid values:
    product String
    Type of server. Valid values are:
    virtualServerDiscovery String
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers List<Property Map>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:

    Outputs

    All input properties are implicitly available as output properties. Additionally, the GtmServer resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing GtmServer Resource

    Get an existing GtmServer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: GtmServerState, opts?: CustomResourceOptions): GtmServer
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            addresses: Optional[Sequence[GtmServerAddressArgs]] = None,
            datacenter: Optional[str] = None,
            description: Optional[str] = None,
            enabled: Optional[bool] = None,
            expose_route_domains: Optional[bool] = None,
            iq_allow_path: Optional[bool] = None,
            iq_allow_service_check: Optional[bool] = None,
            iq_allow_snmp: Optional[bool] = None,
            limit_cpu_usage: Optional[int] = None,
            limit_cpu_usage_status: Optional[str] = None,
            limit_max_bps: Optional[int] = None,
            limit_max_bps_status: Optional[str] = None,
            limit_max_connections: Optional[int] = None,
            limit_max_connections_status: Optional[str] = None,
            limit_max_pps: Optional[int] = None,
            limit_max_pps_status: Optional[str] = None,
            limit_mem_avail: Optional[int] = None,
            limit_mem_avail_status: Optional[str] = None,
            link_discovery: Optional[str] = None,
            monitor: Optional[str] = None,
            name: Optional[str] = None,
            partition: Optional[str] = None,
            prober_fallback: Optional[str] = None,
            prober_pool: Optional[str] = None,
            prober_preference: Optional[str] = None,
            product: Optional[str] = None,
            virtual_server_discovery: Optional[str] = None,
            virtual_servers: Optional[Sequence[GtmServerVirtualServerArgs]] = None) -> GtmServer
    func GetGtmServer(ctx *Context, name string, id IDInput, state *GtmServerState, opts ...ResourceOption) (*GtmServer, error)
    public static GtmServer Get(string name, Input<string> id, GtmServerState? state, CustomResourceOptions? opts = null)
    public static GtmServer get(String name, Output<String> id, GtmServerState state, CustomResourceOptions options)
    resources:  _:    type: f5bigip:GtmServer    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Addresses List<Pulumi.F5BigIP.Inputs.GtmServerAddress>
    List of IP addresses for the server. Each address block supports:
    Datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    Description string
    Description of the GTM server
    Enabled bool
    Enable or disable the GTM server
    ExposeRouteDomains bool
    Allow GTM server to expose route domains. Default is false.
    IqAllowPath bool
    Enable iQuery path probing. Default is true.
    IqAllowServiceCheck bool
    Enable iQuery service checking. Default is true.
    IqAllowSnmp bool
    Enable iQuery SNMP. Default is true.
    LimitCpuUsage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    LimitCpuUsageStatus string
    CPU usage limit status.
    LimitMaxBps int
    Maximum bits per second. 0 means no limit. Default is 0.
    LimitMaxBpsStatus string
    Maximum bps limit status.
    LimitMaxConnections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    LimitMaxConnectionsStatus string
    Maximum connections limit status.
    LimitMaxPps int
    Maximum packets per second. 0 means no limit. Default is 0.
    LimitMaxPpsStatus string
    Maximum pps limit status.
    LimitMemAvail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    LimitMemAvailStatus string
    Available memory limit status.
    LinkDiscovery string
    Link discovery mode. Valid values:
    Monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    Name string
    Name of the GTM server. Must be unique within the partition.
    Partition string
    Partition or tenant the server belongs to. Default is Common.
    ProberFallback string
    Fallback prober selection. Valid values:
    ProberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    ProberPreference string
    Preferred type of prober. Valid values:
    Product string
    Type of server. Valid values are:
    VirtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    VirtualServers List<Pulumi.F5BigIP.Inputs.GtmServerVirtualServer>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    Addresses []GtmServerAddressArgs
    List of IP addresses for the server. Each address block supports:
    Datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    Description string
    Description of the GTM server
    Enabled bool
    Enable or disable the GTM server
    ExposeRouteDomains bool
    Allow GTM server to expose route domains. Default is false.
    IqAllowPath bool
    Enable iQuery path probing. Default is true.
    IqAllowServiceCheck bool
    Enable iQuery service checking. Default is true.
    IqAllowSnmp bool
    Enable iQuery SNMP. Default is true.
    LimitCpuUsage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    LimitCpuUsageStatus string
    CPU usage limit status.
    LimitMaxBps int
    Maximum bits per second. 0 means no limit. Default is 0.
    LimitMaxBpsStatus string
    Maximum bps limit status.
    LimitMaxConnections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    LimitMaxConnectionsStatus string
    Maximum connections limit status.
    LimitMaxPps int
    Maximum packets per second. 0 means no limit. Default is 0.
    LimitMaxPpsStatus string
    Maximum pps limit status.
    LimitMemAvail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    LimitMemAvailStatus string
    Available memory limit status.
    LinkDiscovery string
    Link discovery mode. Valid values:
    Monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    Name string
    Name of the GTM server. Must be unique within the partition.
    Partition string
    Partition or tenant the server belongs to. Default is Common.
    ProberFallback string
    Fallback prober selection. Valid values:
    ProberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    ProberPreference string
    Preferred type of prober. Valid values:
    Product string
    Type of server. Valid values are:
    VirtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    VirtualServers []GtmServerVirtualServerArgs
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    addresses List<GtmServerAddress>
    List of IP addresses for the server. Each address block supports:
    datacenter String
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    description String
    Description of the GTM server
    enabled Boolean
    Enable or disable the GTM server
    exposeRouteDomains Boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath Boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck Boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp Boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage Integer
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus String
    CPU usage limit status.
    limitMaxBps Integer
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus String
    Maximum bps limit status.
    limitMaxConnections Integer
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus String
    Maximum connections limit status.
    limitMaxPps Integer
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus String
    Maximum pps limit status.
    limitMemAvail Integer
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus String
    Available memory limit status.
    linkDiscovery String
    Link discovery mode. Valid values:
    monitor String
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    name String
    Name of the GTM server. Must be unique within the partition.
    partition String
    Partition or tenant the server belongs to. Default is Common.
    proberFallback String
    Fallback prober selection. Valid values:
    proberPool String
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference String
    Preferred type of prober. Valid values:
    product String
    Type of server. Valid values are:
    virtualServerDiscovery String
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers List<GtmServerVirtualServer>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    addresses GtmServerAddress[]
    List of IP addresses for the server. Each address block supports:
    datacenter string
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    description string
    Description of the GTM server
    enabled boolean
    Enable or disable the GTM server
    exposeRouteDomains boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage number
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus string
    CPU usage limit status.
    limitMaxBps number
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus string
    Maximum bps limit status.
    limitMaxConnections number
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus string
    Maximum connections limit status.
    limitMaxPps number
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus string
    Maximum pps limit status.
    limitMemAvail number
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus string
    Available memory limit status.
    linkDiscovery string
    Link discovery mode. Valid values:
    monitor string
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    name string
    Name of the GTM server. Must be unique within the partition.
    partition string
    Partition or tenant the server belongs to. Default is Common.
    proberFallback string
    Fallback prober selection. Valid values:
    proberPool string
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference string
    Preferred type of prober. Valid values:
    product string
    Type of server. Valid values are:
    virtualServerDiscovery string
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers GtmServerVirtualServer[]
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    addresses Sequence[GtmServerAddressArgs]
    List of IP addresses for the server. Each address block supports:
    datacenter str
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    description str
    Description of the GTM server
    enabled bool
    Enable or disable the GTM server
    expose_route_domains bool
    Allow GTM server to expose route domains. Default is false.
    iq_allow_path bool
    Enable iQuery path probing. Default is true.
    iq_allow_service_check bool
    Enable iQuery service checking. Default is true.
    iq_allow_snmp bool
    Enable iQuery SNMP. Default is true.
    limit_cpu_usage int
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limit_cpu_usage_status str
    CPU usage limit status.
    limit_max_bps int
    Maximum bits per second. 0 means no limit. Default is 0.
    limit_max_bps_status str
    Maximum bps limit status.
    limit_max_connections int
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limit_max_connections_status str
    Maximum connections limit status.
    limit_max_pps int
    Maximum packets per second. 0 means no limit. Default is 0.
    limit_max_pps_status str
    Maximum pps limit status.
    limit_mem_avail int
    Available memory limit (MB). 0 means no limit. Default is 0.
    limit_mem_avail_status str
    Available memory limit status.
    link_discovery str
    Link discovery mode. Valid values:
    monitor str
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    name str
    Name of the GTM server. Must be unique within the partition.
    partition str
    Partition or tenant the server belongs to. Default is Common.
    prober_fallback str
    Fallback prober selection. Valid values:
    prober_pool str
    Prober pool to use when prober_preference or prober_fallback is set to pool
    prober_preference str
    Preferred type of prober. Valid values:
    product str
    Type of server. Valid values are:
    virtual_server_discovery str
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtual_servers Sequence[GtmServerVirtualServerArgs]
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:
    addresses List<Property Map>
    List of IP addresses for the server. Each address block supports:
    datacenter String
    The datacenter where this server resides. Must be a valid datacenter name or full path (e.g., /Common/datacenter1).
    description String
    Description of the GTM server
    enabled Boolean
    Enable or disable the GTM server
    exposeRouteDomains Boolean
    Allow GTM server to expose route domains. Default is false.
    iqAllowPath Boolean
    Enable iQuery path probing. Default is true.
    iqAllowServiceCheck Boolean
    Enable iQuery service checking. Default is true.
    iqAllowSnmp Boolean
    Enable iQuery SNMP. Default is true.
    limitCpuUsage Number
    Maximum CPU usage allowed (percent). 0 means no limit. Default is 0.
    limitCpuUsageStatus String
    CPU usage limit status.
    limitMaxBps Number
    Maximum bits per second. 0 means no limit. Default is 0.
    limitMaxBpsStatus String
    Maximum bps limit status.
    limitMaxConnections Number
    Maximum concurrent connections. 0 means no limit. Default is 0.
    limitMaxConnectionsStatus String
    Maximum connections limit status.
    limitMaxPps Number
    Maximum packets per second. 0 means no limit. Default is 0.
    limitMaxPpsStatus String
    Maximum pps limit status.
    limitMemAvail Number
    Available memory limit (MB). 0 means no limit. Default is 0.
    limitMemAvailStatus String
    Available memory limit status.
    linkDiscovery String
    Link discovery mode. Valid values:
    monitor String
    Monitor assigned to check server health (e.g., /Common/bigip, /Common/tcp).
    name String
    Name of the GTM server. Must be unique within the partition.
    partition String
    Partition or tenant the server belongs to. Default is Common.
    proberFallback String
    Fallback prober selection. Valid values:
    proberPool String
    Prober pool to use when prober_preference or prober_fallback is set to pool
    proberPreference String
    Preferred type of prober. Valid values:
    product String
    Type of server. Valid values are:
    virtualServerDiscovery String
    Enable or disable virtual server discovery. Default is true. When enabled, GTM automatically discovers virtual servers on BIG-IP systems.
    virtualServers List<Property Map>
    List of virtual servers for the GTM server. This is particularly useful for generic-host servers where virtual server discovery is not available. Each virtual_servers block supports:

    Supporting Types

    GtmServerAddress, GtmServerAddressArgs

    Name string
    IP address
    DeviceName string
    Device name associated with the address
    Translation string
    IP translation address. Default is none
    Name string
    IP address
    DeviceName string
    Device name associated with the address
    Translation string
    IP translation address. Default is none
    name String
    IP address
    deviceName String
    Device name associated with the address
    translation String
    IP translation address. Default is none
    name string
    IP address
    deviceName string
    Device name associated with the address
    translation string
    IP translation address. Default is none
    name str
    IP address
    device_name str
    Device name associated with the address
    translation str
    IP translation address. Default is none
    name String
    IP address
    deviceName String
    Device name associated with the address
    translation String
    IP translation address. Default is none

    GtmServerVirtualServer, GtmServerVirtualServerArgs

    Destination string
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    Name string
    Name of the virtual server
    DependsOn string
    Virtual server dependency
    Enabled bool
    Enable the virtual server. Default is true
    LimitMaxBps int
    Maximum bits per second for this virtual server
    LimitMaxBpsStatus string
    Enable/disable the bps limit
    LimitMaxConnections int
    Maximum concurrent connections
    LimitMaxConnectionsStatus string
    Enable/disable the connections limit
    LimitMaxPps int
    Maximum packets per second
    LimitMaxPpsStatus string
    Enable/disable the pps limit
    Monitor string
    Monitor assigned to check virtual server health
    TranslationAddress string
    Translation address for NAT scenarios. Default is none
    TranslationPort int
    Translation port for NAT scenarios. Default is 0
    Destination string
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    Name string
    Name of the virtual server
    DependsOn string
    Virtual server dependency
    Enabled bool
    Enable the virtual server. Default is true
    LimitMaxBps int
    Maximum bits per second for this virtual server
    LimitMaxBpsStatus string
    Enable/disable the bps limit
    LimitMaxConnections int
    Maximum concurrent connections
    LimitMaxConnectionsStatus string
    Enable/disable the connections limit
    LimitMaxPps int
    Maximum packets per second
    LimitMaxPpsStatus string
    Enable/disable the pps limit
    Monitor string
    Monitor assigned to check virtual server health
    TranslationAddress string
    Translation address for NAT scenarios. Default is none
    TranslationPort int
    Translation port for NAT scenarios. Default is 0
    destination String
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    name String
    Name of the virtual server
    dependsOn String
    Virtual server dependency
    enabled Boolean
    Enable the virtual server. Default is true
    limitMaxBps Integer
    Maximum bits per second for this virtual server
    limitMaxBpsStatus String
    Enable/disable the bps limit
    limitMaxConnections Integer
    Maximum concurrent connections
    limitMaxConnectionsStatus String
    Enable/disable the connections limit
    limitMaxPps Integer
    Maximum packets per second
    limitMaxPpsStatus String
    Enable/disable the pps limit
    monitor String
    Monitor assigned to check virtual server health
    translationAddress String
    Translation address for NAT scenarios. Default is none
    translationPort Integer
    Translation port for NAT scenarios. Default is 0
    destination string
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    name string
    Name of the virtual server
    dependsOn string
    Virtual server dependency
    enabled boolean
    Enable the virtual server. Default is true
    limitMaxBps number
    Maximum bits per second for this virtual server
    limitMaxBpsStatus string
    Enable/disable the bps limit
    limitMaxConnections number
    Maximum concurrent connections
    limitMaxConnectionsStatus string
    Enable/disable the connections limit
    limitMaxPps number
    Maximum packets per second
    limitMaxPpsStatus string
    Enable/disable the pps limit
    monitor string
    Monitor assigned to check virtual server health
    translationAddress string
    Translation address for NAT scenarios. Default is none
    translationPort number
    Translation port for NAT scenarios. Default is 0
    destination str
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    name str
    Name of the virtual server
    depends_on str
    Virtual server dependency
    enabled bool
    Enable the virtual server. Default is true
    limit_max_bps int
    Maximum bits per second for this virtual server
    limit_max_bps_status str
    Enable/disable the bps limit
    limit_max_connections int
    Maximum concurrent connections
    limit_max_connections_status str
    Enable/disable the connections limit
    limit_max_pps int
    Maximum packets per second
    limit_max_pps_status str
    Enable/disable the pps limit
    monitor str
    Monitor assigned to check virtual server health
    translation_address str
    Translation address for NAT scenarios. Default is none
    translation_port int
    Translation port for NAT scenarios. Default is 0
    destination String
    Destination address in format <ip>:<port> (e.g., 192.168.1.100:80)
    name String
    Name of the virtual server
    dependsOn String
    Virtual server dependency
    enabled Boolean
    Enable the virtual server. Default is true
    limitMaxBps Number
    Maximum bits per second for this virtual server
    limitMaxBpsStatus String
    Enable/disable the bps limit
    limitMaxConnections Number
    Maximum concurrent connections
    limitMaxConnectionsStatus String
    Enable/disable the connections limit
    limitMaxPps Number
    Maximum packets per second
    limitMaxPpsStatus String
    Enable/disable the pps limit
    monitor String
    Monitor assigned to check virtual server health
    translationAddress String
    Translation address for NAT scenarios. Default is none
    translationPort Number
    Translation port for NAT scenarios. Default is 0

    Import

    GTM servers can be imported using the server name or full path:

    $ pulumi import f5bigip:index/gtmServer:GtmServer example /Common/server1
    

    or

    $ pulumi import f5bigip:index/gtmServer:GtmServer example server1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    f5 BIG-IP pulumi/pulumi-f5bigip
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the bigip Terraform Provider.
    f5bigip logo
    Viewing docs for f5 BIG-IP v3.20.0
    published on Wednesday, Mar 4, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.