1. Packages
  2. F5bigip Provider
  3. API Docs
  4. As3
Viewing docs for f5 BIG-IP v3.20.1
published on Thursday, Mar 19, 2026 by Pulumi
f5bigip logo
Viewing docs for f5 BIG-IP v3.20.1
published on Thursday, Mar 19, 2026 by Pulumi

    f5bigip.As3 provides details about bigip as3 resource

    This resource is helpful to configure AS3 declarative JSON on BIG-IP.

    This Resource also supports Per-Application mode of AS3 deployment, more information on Per-Application mode can be found Per-App

    For Supporting AS3 Per-App mode of deployment, AS3 version on BIG-IP should be > v3.50

    For Deploying AS3 JSON in Per-App mode, this resource provided with a attribute tenant_name to be passed to add application on specified tenant, else random tenant name will be generated.

    As3 Declaration can be deployed in Traditional way as well as Per-Application Way :

    • Traditional Way - Entire Declaration needs to be passed in during the create and update call along with the tenant details in the declaration.
    • Per-Application Way - Only application details needs to be passed in the as3_json. Tenant name needs to be passed else random tenant name will be generated.

    Note: : PerApplication needs to be turned true as a Prerequisite on the Big-IP (BIG-IP AS3 version >3.50) device. For details : https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/per-app-declarations.html

    Delete Specific Applications from a Tenant

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const as3AppDeletion = new f5bigip.As3("as3_app_deletion", {deleteApps: {
        tenantName: "Tenant-2",
        apps: [
            "terraform_vs_http",
            "legacy_app",
        ],
    }});
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    as3_app_deletion = f5bigip.As3("as3_app_deletion", delete_apps={
        "tenant_name": "Tenant-2",
        "apps": [
            "terraform_vs_http",
            "legacy_app",
        ],
    })
    
    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 {
    		_, err := f5bigip.NewAs3(ctx, "as3_app_deletion", &f5bigip.As3Args{
    			DeleteApps: &f5bigip.As3DeleteAppsArgs{
    				TenantName: pulumi.String("Tenant-2"),
    				Apps: pulumi.StringArray{
    					pulumi.String("terraform_vs_http"),
    					pulumi.String("legacy_app"),
    				},
    			},
    		})
    		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 as3AppDeletion = new F5BigIP.As3("as3_app_deletion", new()
        {
            DeleteApps = new F5BigIP.Inputs.As3DeleteAppsArgs
            {
                TenantName = "Tenant-2",
                Apps = new[]
                {
                    "terraform_vs_http",
                    "legacy_app",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.As3;
    import com.pulumi.f5bigip.As3Args;
    import com.pulumi.f5bigip.inputs.As3DeleteAppsArgs;
    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 as3AppDeletion = new As3("as3AppDeletion", As3Args.builder()
                .deleteApps(As3DeleteAppsArgs.builder()
                    .tenantName("Tenant-2")
                    .apps(                
                        "terraform_vs_http",
                        "legacy_app")
                    .build())
                .build());
    
        }
    }
    
    resources:
      as3AppDeletion:
        type: f5bigip:As3
        name: as3_app_deletion
        properties:
          deleteApps:
            tenantName: Tenant-2
            apps:
              - terraform_vs_http
              - legacy_app
    

    Example of controls parameters

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    import * as std from "@pulumi/std";
    
    const as3_example1 = new f5bigip.As3("as3-example1", {
        as3Json: std.file({
            input: "example1.json",
        }).then(invoke => invoke.result),
        controls: {
            dry_run: "no",
            trace: "yes",
            trace_response: "yes",
            log_level: "debug",
            user_agent: "dummy agent",
        },
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    import pulumi_std as std
    
    as3_example1 = f5bigip.As3("as3-example1",
        as3_json=std.file(input="example1.json").result,
        controls={
            "dry_run": "no",
            "trace": "yes",
            "trace_response": "yes",
            "log_level": "debug",
            "user_agent": "dummy agent",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
    	"github.com/pulumi/pulumi-std/sdk/v2/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		invokeFile, err := std.File(ctx, &std.FileArgs{
    			Input: "example1.json",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = f5bigip.NewAs3(ctx, "as3-example1", &f5bigip.As3Args{
    			As3Json: pulumi.String(invokeFile.Result),
    			Controls: pulumi.StringMap{
    				"dry_run":        pulumi.String("no"),
    				"trace":          pulumi.String("yes"),
    				"trace_response": pulumi.String("yes"),
    				"log_level":      pulumi.String("debug"),
    				"user_agent":     pulumi.String("dummy agent"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var as3_example1 = new F5BigIP.As3("as3-example1", new()
        {
            As3Json = Std.File.Invoke(new()
            {
                Input = "example1.json",
            }).Apply(invoke => invoke.Result),
            Controls = 
            {
                { "dry_run", "no" },
                { "trace", "yes" },
                { "trace_response", "yes" },
                { "log_level", "debug" },
                { "user_agent", "dummy agent" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.As3;
    import com.pulumi.f5bigip.As3Args;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.FileArgs;
    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 as3_example1 = new As3("as3-example1", As3Args.builder()
                .as3Json(StdFunctions.file(FileArgs.builder()
                    .input("example1.json")
                    .build()).result())
                .controls(Map.ofEntries(
                    Map.entry("dry_run", "no"),
                    Map.entry("trace", "yes"),
                    Map.entry("trace_response", "yes"),
                    Map.entry("log_level", "debug"),
                    Map.entry("user_agent", "dummy agent")
                ))
                .build());
    
        }
    }
    
    resources:
      as3-example1:
        type: f5bigip:As3
        properties:
          as3Json:
            fn::invoke:
              function: std:file
              arguments:
                input: example1.json
              return: result
          controls:
            dry_run: no
            trace: yes
            trace_response: yes
            log_level: debug
            user_agent: dummy agent
    

    Per-Application Deployment - Example Usage for json file with tenant name

    resource <span pulumi-lang-nodejs=““f5bigip.As3"” pulumi-lang-dotnet=““f5bigip.As3"” pulumi-lang-go=““As3"” pulumi-lang-python=““As3"” pulumi-lang-yaml=““f5bigip.As3"” pulumi-lang-java=““f5bigip.As3"">“f5bigip.As3” “as3-example1” { as3_json = file(“perApplication_example.json”) tenant_name = “Test” }

    Per-Application Deployment - Example Usage for json file without tenant name - Tenant with Random name is generated in this case

    resource <span pulumi-lang-nodejs=““f5bigip.As3"” pulumi-lang-dotnet=““f5bigip.As3"” pulumi-lang-go=““As3"” pulumi-lang-python=““As3"” pulumi-lang-yaml=““f5bigip.As3"” pulumi-lang-java=““f5bigip.As3"">“f5bigip.As3” “as3-example1” { as3_json = file(“perApplication_example.json”) }

    Behavior

    When delete_apps is used, Terraform logs “Creating…”, but the underlying logic performs application deletion via REST API calls.

    Each app in the apps list is deleted using:

    DELETE /mgmt/shared/appsvcs/declare/{tenant}/applications/{app}
    

    A synthetic resource ID is assigned to keep Terraform state consistent after successful deletion.


    Outputs

    • task_id – AS3 task ID used in BIG-IP.
    • application_list – List of deleted applications (if applicable).
    • tenant_list – List of affected tenants.

    Create As3 Resource

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

    Constructor syntax

    new As3(name: string, args?: As3Args, opts?: CustomResourceOptions);
    @overload
    def As3(resource_name: str,
            args: Optional[As3Args] = None,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def As3(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            application_list: Optional[str] = None,
            as3_json: Optional[str] = None,
            controls: Optional[Mapping[str, str]] = None,
            delete_apps: Optional[As3DeleteAppsArgs] = None,
            ignore_metadata: Optional[bool] = None,
            task_id: Optional[str] = None,
            tenant_filter: Optional[str] = None,
            tenant_list: Optional[str] = None,
            tenant_name: Optional[str] = None)
    func NewAs3(ctx *Context, name string, args *As3Args, opts ...ResourceOption) (*As3, error)
    public As3(string name, As3Args? args = null, CustomResourceOptions? opts = null)
    public As3(String name, As3Args args)
    public As3(String name, As3Args args, CustomResourceOptions options)
    
    type: f5bigip:As3
    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 As3Args
    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 As3Args
    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 As3Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args As3Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args As3Args
    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 as3Resource = new F5BigIP.As3("as3Resource", new()
    {
        ApplicationList = "string",
        As3Json = "string",
        Controls = 
        {
            { "string", "string" },
        },
        DeleteApps = new F5BigIP.Inputs.As3DeleteAppsArgs
        {
            Apps = new[]
            {
                "string",
            },
            TenantName = "string",
        },
        IgnoreMetadata = false,
        TaskId = "string",
        TenantFilter = "string",
        TenantList = "string",
        TenantName = "string",
    });
    
    example, err := f5bigip.NewAs3(ctx, "as3Resource", &f5bigip.As3Args{
    	ApplicationList: pulumi.String("string"),
    	As3Json:         pulumi.String("string"),
    	Controls: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DeleteApps: &f5bigip.As3DeleteAppsArgs{
    		Apps: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		TenantName: pulumi.String("string"),
    	},
    	IgnoreMetadata: pulumi.Bool(false),
    	TaskId:         pulumi.String("string"),
    	TenantFilter:   pulumi.String("string"),
    	TenantList:     pulumi.String("string"),
    	TenantName:     pulumi.String("string"),
    })
    
    var as3Resource = new As3("as3Resource", As3Args.builder()
        .applicationList("string")
        .as3Json("string")
        .controls(Map.of("string", "string"))
        .deleteApps(As3DeleteAppsArgs.builder()
            .apps("string")
            .tenantName("string")
            .build())
        .ignoreMetadata(false)
        .taskId("string")
        .tenantFilter("string")
        .tenantList("string")
        .tenantName("string")
        .build());
    
    as3_resource = f5bigip.As3("as3Resource",
        application_list="string",
        as3_json="string",
        controls={
            "string": "string",
        },
        delete_apps={
            "apps": ["string"],
            "tenant_name": "string",
        },
        ignore_metadata=False,
        task_id="string",
        tenant_filter="string",
        tenant_list="string",
        tenant_name="string")
    
    const as3Resource = new f5bigip.As3("as3Resource", {
        applicationList: "string",
        as3Json: "string",
        controls: {
            string: "string",
        },
        deleteApps: {
            apps: ["string"],
            tenantName: "string",
        },
        ignoreMetadata: false,
        taskId: "string",
        tenantFilter: "string",
        tenantList: "string",
        tenantName: "string",
    });
    
    type: f5bigip:As3
    properties:
        applicationList: string
        as3Json: string
        controls:
            string: string
        deleteApps:
            apps:
                - string
            tenantName: string
        ignoreMetadata: false
        taskId: string
        tenantFilter: string
        tenantList: string
        tenantName: string
    

    As3 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 As3 resource accepts the following input properties:

    ApplicationList string
    List of applications currently deployed on the Big-Ip
    As3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    Controls Dictionary<string, string>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    DeleteApps Pulumi.F5BigIP.Inputs.As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    IgnoreMetadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    TaskId string
    ID of AS3 post declaration async task
    TenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    TenantList string
    List of tenants currently deployed on the Big-Ip
    TenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    ApplicationList string
    List of applications currently deployed on the Big-Ip
    As3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    Controls map[string]string
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    DeleteApps As3DeleteAppsArgs
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    IgnoreMetadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    TaskId string
    ID of AS3 post declaration async task
    TenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    TenantList string
    List of tenants currently deployed on the Big-Ip
    TenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList String
    List of applications currently deployed on the Big-Ip
    as3Json String
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Map<String,String>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata Boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    taskId String
    ID of AS3 post declaration async task
    tenantFilter String
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList String
    List of tenants currently deployed on the Big-Ip
    tenantName String
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList string
    List of applications currently deployed on the Big-Ip
    as3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls {[key: string]: string}
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    taskId string
    ID of AS3 post declaration async task
    tenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList string
    List of tenants currently deployed on the Big-Ip
    tenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    application_list str
    List of applications currently deployed on the Big-Ip
    as3_json str
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Mapping[str, str]
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    delete_apps As3DeleteAppsArgs
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignore_metadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    task_id str
    ID of AS3 post declaration async task
    tenant_filter str
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenant_list str
    List of tenants currently deployed on the Big-Ip
    tenant_name str
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList String
    List of applications currently deployed on the Big-Ip
    as3Json String
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Map<String>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps Property Map
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata Boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    taskId String
    ID of AS3 post declaration async task
    tenantFilter String
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList String
    List of tenants currently deployed on the Big-Ip
    tenantName String
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    PerAppMode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    Id string
    The provider-assigned unique ID for this managed resource.
    PerAppMode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    id String
    The provider-assigned unique ID for this managed resource.
    perAppMode Boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    id string
    The provider-assigned unique ID for this managed resource.
    perAppMode boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    id str
    The provider-assigned unique ID for this managed resource.
    per_app_mode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    id String
    The provider-assigned unique ID for this managed resource.
    perAppMode Boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way

    Look up Existing As3 Resource

    Get an existing As3 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?: As3State, opts?: CustomResourceOptions): As3
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_list: Optional[str] = None,
            as3_json: Optional[str] = None,
            controls: Optional[Mapping[str, str]] = None,
            delete_apps: Optional[As3DeleteAppsArgs] = None,
            ignore_metadata: Optional[bool] = None,
            per_app_mode: Optional[bool] = None,
            task_id: Optional[str] = None,
            tenant_filter: Optional[str] = None,
            tenant_list: Optional[str] = None,
            tenant_name: Optional[str] = None) -> As3
    func GetAs3(ctx *Context, name string, id IDInput, state *As3State, opts ...ResourceOption) (*As3, error)
    public static As3 Get(string name, Input<string> id, As3State? state, CustomResourceOptions? opts = null)
    public static As3 get(String name, Output<String> id, As3State state, CustomResourceOptions options)
    resources:  _:    type: f5bigip:As3    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:
    ApplicationList string
    List of applications currently deployed on the Big-Ip
    As3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    Controls Dictionary<string, string>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    DeleteApps Pulumi.F5BigIP.Inputs.As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    IgnoreMetadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    PerAppMode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    TaskId string
    ID of AS3 post declaration async task
    TenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    TenantList string
    List of tenants currently deployed on the Big-Ip
    TenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    ApplicationList string
    List of applications currently deployed on the Big-Ip
    As3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    Controls map[string]string
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    DeleteApps As3DeleteAppsArgs
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    IgnoreMetadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    PerAppMode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    TaskId string
    ID of AS3 post declaration async task
    TenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    TenantList string
    List of tenants currently deployed on the Big-Ip
    TenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList String
    List of applications currently deployed on the Big-Ip
    as3Json String
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Map<String,String>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata Boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    perAppMode Boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    taskId String
    ID of AS3 post declaration async task
    tenantFilter String
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList String
    List of tenants currently deployed on the Big-Ip
    tenantName String
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList string
    List of applications currently deployed on the Big-Ip
    as3Json string
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls {[key: string]: string}
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps As3DeleteApps
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    perAppMode boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    taskId string
    ID of AS3 post declaration async task
    tenantFilter string
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList string
    List of tenants currently deployed on the Big-Ip
    tenantName string
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    application_list str
    List of applications currently deployed on the Big-Ip
    as3_json str
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Mapping[str, str]
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    delete_apps As3DeleteAppsArgs
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignore_metadata bool

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    per_app_mode bool
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    task_id str
    ID of AS3 post declaration async task
    tenant_filter str
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenant_list str
    List of tenants currently deployed on the Big-Ip
    tenant_name str
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.
    applicationList String
    List of applications currently deployed on the Big-Ip
    as3Json String
    Path/Filename of Declarative AS3 JSON which is a json file used with builtin <span pulumi-lang-nodejs="`file`" pulumi-lang-dotnet="`File`" pulumi-lang-go="`file`" pulumi-lang-python="`file`" pulumi-lang-yaml="`file`" pulumi-lang-java="`file`">`file`</span> function
    controls Map<String>
    A map that allows you to configure specific behavior controls for the AS3 declaration. Each key represents a particular control setting, and the corresponding value defines its configuration.
    deleteApps Property Map
    Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with as3_json: only one of delete_apps or as3_json can be set in a resource block.
    ignoreMetadata Boolean

    Set True if you want to ignore metadata changes during update. By default it is set to false

    • as3_example1.json - Example AS3 Declarative JSON file with single tenant
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_01": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_1": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.0.2.10"
    ],
    "pool": "web_pool"
    },
    "web_pool": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.1.100",
    "192.0.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • as3_example2.json - Example AS3 Declarative JSON file with multiple tenants
    
    {
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
    "class": "ADC",
    "schemaVersion": "3.0.0",
    "id": "example-declaration-01",
    "label": "Sample 1",
    "remark": "Simple HTTP application with round robin pool",
    "Sample_02": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_2": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.2.2.10"
    ],
    "pool": "web_pool2"
    },
    "web_pool2": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.2.1.100",
    "192.2.1.110"
    ]
    }
    ]
    }
    }
    },
    "Sample_03": {
    "class": "Tenant",
    "defaultRouteDomain": 0,
    "Application_3": {
    "class": "Application",
    "template": "http",
    "serviceMain": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "10.1.2.10"
    ],
    "pool": "web_pool3"
    },
    "web_pool3": {
    "class": "Pool",
    "monitors": [
    "http"
    ],
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.3.1.100",
    "192.3.1.110"
    ]
    }
    ]
    }
    }
    }
    }
    }
    

    • perApplication_example - Per Application Example - JSON file with multiple Applications (and no Tenant Details)
    {
    "Application1": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.2.1"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.2.10",
    "192.0.2.20"
    ]
    }
    ]
    }
    },
    "Application2": {
    "class": "Application",
    "service": {
    "class": "Service_HTTP",
    "virtualAddresses": [
    "192.0.3.2"
    ],
    "pool": "pool"
    },
    "pool": {
    "class": "Pool",
    "members": [
    {
    "servicePort": 80,
    "serverAddresses": [
    "192.0.3.30",
    "192.0.3.40"
    ]
    }
    ]
    }
    }
    }
    

    # f5bigip.As3 delete one or more applications

    The f5bigip.As3 resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.

    Note: delete_apps and as3_json are mutually exclusive. You must use only one of them in a single f5bigip.As3 resource block.

    perAppMode Boolean
    Will specify whether is deployment is done via Per-Application Way or Traditional Way
    taskId String
    ID of AS3 post declaration async task
    tenantFilter String
    If there are multiple tenants on a BIG-IP, this attribute helps the user to set a particular tenant to which he want to reflect the changes. Other tenants will neither be created nor be modified.
    tenantList String
    List of tenants currently deployed on the Big-Ip
    tenantName String
    Name of Tenant. This name is used only in the case of Per-Application Deployment. If it is not provided, then a random name would be generated.

    Supporting Types

    As3DeleteApps, As3DeleteAppsArgs

    Apps List<string>

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    TenantName string
    Name of the tenant containing the apps to delete.
    Apps []string

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    TenantName string
    Name of the tenant containing the apps to delete.
    apps List<String>

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    tenantName String
    Name of the tenant containing the apps to delete.
    apps string[]

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    tenantName string
    Name of the tenant containing the apps to delete.
    apps Sequence[str]

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    tenant_name str
    Name of the tenant containing the apps to delete.
    apps List<String>

    List of application names to delete from the specified tenant.

    delete_apps cannot be used together with as3_json.

    tenantName String
    Name of the tenant containing the apps to delete.

    Import

    As3 resources can be imported using the partition name, e.g., ( use comma separated partition names if there are multiple partitions in as3 deployments )

       $ pulumi import f5bigip:index/as3:As3 test Sample_http_01
       $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01
    

    Import examples ( single and multiple partitions )

    
    $ pulumi import f5bigip:index/as3:As3 test Sample_http_01
    bigip_as3.test: Importing from ID "Sample_http_01"...
    bigip_as3.test: Import prepared!
      Prepared bigip_as3 for import
    bigip_as3.test: Refreshing state... [id=Sample_http_01]
    
    Import successful!
    
    The resources that were imported are shown above. These resources are now in
    your Terraform state and will henceforth be managed by Terraform.
    
    $ terraform show
    

    bigip_as3.test: resource <span pulumi-lang-nodejs=““f5bigip.As3"” pulumi-lang-dotnet=““f5bigip.As3"” pulumi-lang-go=““As3"” pulumi-lang-python=““As3"” pulumi-lang-yaml=““f5bigip.As3"” pulumi-lang-java=““f5bigip.As3"">“f5bigip.As3” “test” { as3_json = jsonencode( { action = “deploy” class = “AS3” declaration = { Sample_http_01 = { A1 = { class = “Application” jsessionid = { class = “Persist” cookieMethod = “hash” cookieName = “JSESSIONID” persistenceMethod = “cookie” } service = { class = “Service_HTTP” persistenceMethods = [ { use = “jsessionid” }, ] pool = <span pulumi-lang-nodejs=““webPool”” pulumi-lang-dotnet=““WebPool”” pulumi-lang-go=““webPool”” pulumi-lang-python=““web_pool”” pulumi-lang-yaml=““webPool”” pulumi-lang-java=““webPool”">“web_pool” virtualAddresses = [ “10.0.2.10”, ] } web_pool = { class = “Pool” members = [ { serverAddresses = [ “192.0.2.10”, “192.0.2.11”, ] servicePort = 80 }, ] monitors = [ “http”, ] } } class = “Tenant” } class = “ADC” id = “UDP_DNS_Sample” label = “UDP_DNS_Sample” remark = “Sample of a UDP DNS Load Balancer Service” schemaVersion = “3.0.0” } persist = true } ) id = “Sample_http_01” tenant_filter = “Sample_http_01” tenant_list = “Sample_http_01” }

    $ pulumi import f5bigip:index/as3:As3 test Sample_http_01,Sample_non_http_01
    bigip_as3.test: Importing from ID "Sample_http_01,Sample_non_http_01"...
    bigip_as3.test: Import prepared!
      Prepared bigip_as3 for import
    bigip_as3.test: Refreshing state... [id=Sample_http_01,Sample_non_http_01]
    
    Import successful!
    
    The resources that were imported are shown above. These resources are now in
    your Terraform state and will henceforth be managed by Terraform.
    
    $ terraform show
    

    bigip_as3.test: resource <span pulumi-lang-nodejs=““f5bigip.As3"” pulumi-lang-dotnet=““f5bigip.As3"” pulumi-lang-go=““As3"” pulumi-lang-python=““As3"” pulumi-lang-yaml=““f5bigip.As3"” pulumi-lang-java=““f5bigip.As3"">“f5bigip.As3” “test” { as3_json = jsonencode( { action = “deploy” class = “AS3” declaration = { Sample_http_01 = { A1 = { class = “Application” jsessionid = { class = “Persist” cookieMethod = “hash” cookieName = “JSESSIONID” persistenceMethod = “cookie” } service = { class = “Service_HTTP” persistenceMethods = [ { use = “jsessionid” }, ] pool = <span pulumi-lang-nodejs=““webPool”” pulumi-lang-dotnet=““WebPool”” pulumi-lang-go=““webPool”” pulumi-lang-python=““web_pool”” pulumi-lang-yaml=““webPool”” pulumi-lang-java=““webPool”">“web_pool” virtualAddresses = [ “10.0.2.10”, ] } web_pool = { class = “Pool” members = [ { serverAddresses = [ “192.0.2.10”, “192.0.2.11”, ] servicePort = 80 }, ] monitors = [ “http”, ] } } class = “Tenant” } Sample_non_http_01 = { DNS_Service = { Pool1 = { class = “Pool” members = [ { serverAddresses = [ “10.1.10.100”, ] servicePort = 53 }, { serverAddresses = [ “10.1.10.101”, ] servicePort = 53 }, ] monitors = [ “icmp”, ] } class = “Application” service = { class = “Service_UDP” pool = “Pool1” virtualAddresses = [ “10.1.20.121”, ] virtualPort = 53 } } class = “Tenant” } class = “ADC” id = “UDP_DNS_Sample” label = “UDP_DNS_Sample” remark = “Sample of a UDP DNS Load Balancer Service” schemaVersion = “3.0.0” } persist = true } ) id = “Sample_http_01,Sample_non_http_01” tenant_filter = “Sample_http_01,Sample_non_http_01” tenant_list = “Sample_http_01,Sample_non_http_01” }

    • AS3 documentation - https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/userguide/composing-a-declaration.html

    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.1
    published on Thursday, Mar 19, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.