published on Thursday, Mar 19, 2026 by Pulumi
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)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:
- Application
List 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.
- Delete
Apps Pulumi.F5Big IP. Inputs. As3Delete Apps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- Task
Id string - ID of AS3 post declaration async task
- Tenant
Filter 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.
- Tenant
List string - List of tenants currently deployed on the Big-Ip
- Tenant
Name 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 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.
- Delete
Apps As3DeleteApps Args - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- Task
Id string - ID of AS3 post declaration async task
- Tenant
Filter 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.
- Tenant
List string - List of tenants currently deployed on the Big-Ip
- Tenant
Name 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 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.
- delete
Apps As3DeleteApps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- task
Id String - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List String - List of tenants currently deployed on the Big-Ip
- tenant
Name 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 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.
- delete
Apps As3DeleteApps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- task
Id string - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List string - List of tenants currently deployed on the Big-Ip
- tenant
Name 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 As3DeleteApps Args - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource 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.
- application
List 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.
- delete
Apps Property Map - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- task
Id String - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List String - List of tenants currently deployed on the Big-Ip
- tenant
Name 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.
- Per
App boolMode - 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.
- Per
App boolMode - 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.
- per
App BooleanMode - 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.
- per
App booleanMode - 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_ boolmode - 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.
- per
App BooleanMode - 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) -> As3func 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.
- Application
List 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.
- Delete
Apps Pulumi.F5Big IP. Inputs. As3Delete Apps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- Per
App boolMode - Will specify whether is deployment is done via Per-Application Way or Traditional Way
- Task
Id string - ID of AS3 post declaration async task
- Tenant
Filter 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.
- Tenant
List string - List of tenants currently deployed on the Big-Ip
- Tenant
Name 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 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.
- Delete
Apps As3DeleteApps Args - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- Per
App boolMode - Will specify whether is deployment is done via Per-Application Way or Traditional Way
- Task
Id string - ID of AS3 post declaration async task
- Tenant
Filter 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.
- Tenant
List string - List of tenants currently deployed on the Big-Ip
- Tenant
Name 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 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.
- delete
Apps As3DeleteApps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- per
App BooleanMode - Will specify whether is deployment is done via Per-Application Way or Traditional Way
- task
Id String - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List String - List of tenants currently deployed on the Big-Ip
- tenant
Name 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 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.
- delete
Apps As3DeleteApps - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- per
App booleanMode - Will specify whether is deployment is done via Per-Application Way or Traditional Way
- task
Id string - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List string - List of tenants currently deployed on the Big-Ip
- tenant
Name 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 As3DeleteApps Args - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- per_
app_ boolmode - 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.
- application
List 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.
- delete
Apps Property Map - Block for specifying tenant name and applications to delete from BIG-IP. Mutually exclusive with
as3_json: only one ofdelete_appsoras3_jsoncan be set in a resource block. - ignore
Metadata 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.As3resource allows you to post full AS3 declarations or selectively delete one or more applications from a specific tenant in BIG-IP.Note:
delete_appsandas3_jsonare mutually exclusive. You must use only one of them in a singlef5bigip.As3resource block.- per
App BooleanMode - Will specify whether is deployment is done via Per-Application Way or Traditional Way
- task
Id String - ID of AS3 post declaration async task
- tenant
Filter 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.
- tenant
List String - List of tenants currently deployed on the Big-Ip
- tenant
Name 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_appscannot be used together withas3_json.- Tenant
Name string - Name of the tenant containing the apps to delete.
- Apps []string
List of application names to delete from the specified tenant.
delete_appscannot be used together withas3_json.- Tenant
Name string - Name of the tenant containing the apps to delete.
- apps List<String>
List of application names to delete from the specified tenant.
delete_appscannot be used together withas3_json.- tenant
Name String - Name of the tenant containing the apps to delete.
- apps string[]
List of application names to delete from the specified tenant.
delete_appscannot be used together withas3_json.- tenant
Name string - Name of the tenant containing the apps to delete.
- apps Sequence[str]
List of application names to delete from the specified tenant.
delete_appscannot be used together withas3_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_appscannot be used together withas3_json.- tenant
Name 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
bigipTerraform Provider.
published on Thursday, Mar 19, 2026 by Pulumi
