f5bigip logo
f5 BIG-IP v3.11.0, Mar 21 23

f5bigip.As3

f5bigip.As3 provides details about bigip as3 resource

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

Example Usage

using System.Collections.Generic;
using System.IO;
using Pulumi;
using F5BigIP = Pulumi.F5BigIP;

return await Deployment.RunAsync(() => 
{
    // Example Usage for json file
    var as3_example1As3 = new F5BigIP.As3("as3-example1As3", new()
    {
        As3Json = File.ReadAllText("example1.json"),
    });

    // Example Usage for json file with tenant filter
    var as3_example1Index_as3As3 = new F5BigIP.As3("as3-example1Index/as3As3", new()
    {
        As3Json = File.ReadAllText("example2.json"),
        TenantFilter = "Sample_03",
    });

});
package main

import (
	"os"

	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := os.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := f5bigip.NewAs3(ctx, "as3-example1As3", &f5bigip.As3Args{
			As3Json: readFileOrPanic("example1.json"),
		})
		if err != nil {
			return err
		}
		_, err = f5bigip.NewAs3(ctx, "as3-example1Index/as3As3", &f5bigip.As3Args{
			As3Json:      readFileOrPanic("example2.json"),
			TenantFilter: pulumi.String("Sample_03"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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 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_example1As3 = new As3("as3-example1As3", As3Args.builder()        
            .as3Json(Files.readString(Paths.get("example1.json")))
            .build());

        var as3_example1Index_as3As3 = new As3("as3-example1Index/as3As3", As3Args.builder()        
            .as3Json(Files.readString(Paths.get("example2.json")))
            .tenantFilter("Sample_03")
            .build());

    }
}
import pulumi
import pulumi_f5bigip as f5bigip

# Example Usage for json file
as3_example1_as3 = f5bigip.As3("as3-example1As3", as3_json=(lambda path: open(path).read())("example1.json"))
# Example Usage for json file with tenant filter
as3_example1_index_as3_as3 = f5bigip.As3("as3-example1Index/as3As3",
    as3_json=(lambda path: open(path).read())("example2.json"),
    tenant_filter="Sample_03")
import * as pulumi from "@pulumi/pulumi";
import * as f5bigip from "@pulumi/f5bigip";
import * as fs from "fs";

// Example Usage for json file
const as3_example1As3 = new f5bigip.As3("as3-example1As3", {as3Json: fs.readFileSync("example1.json")});
// Example Usage for json file with tenant filter
const as3_example1Index_as3As3 = new f5bigip.As3("as3-example1Index/as3As3", {
    as3Json: fs.readFileSync("example2.json"),
    tenantFilter: "Sample_03",
});
resources:
  # Example Usage for json file
  as3-example1As3:
    type: f5bigip:As3
    properties:
      as3Json:
        fn::readFile: example1.json
  # Example Usage for json file with tenant filter
  as3-example1Index/as3As3:
    type: f5bigip:As3
    properties:
      as3Json:
        fn::readFile: example2.json
      tenantFilter: Sample_03

Create As3 Resource

new As3(name: string, args?: As3Args, opts?: CustomResourceOptions);
@overload
def As3(resource_name: str,
        opts: Optional[ResourceOptions] = None,
        application_list: Optional[str] = None,
        as3_json: Optional[str] = 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)
@overload
def As3(resource_name: str,
        args: Optional[As3Args] = None,
        opts: Optional[ResourceOptions] = 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.

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.

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

The As3 resource accepts the following input properties:

ApplicationList string

Name of Application

As3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

IgnoreMetadata bool

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

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

Name of Tenant

TenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

ApplicationList string

Name of Application

As3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

IgnoreMetadata bool

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

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

Name of Tenant

TenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList String

Name of Application

as3Json String

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata Boolean

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

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

Name of Tenant

tenantName String

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList string

Name of Application

as3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata boolean

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

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

Name of Tenant

tenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

application_list str

Name of Application

as3_json str

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignore_metadata bool

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

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

Name of Tenant

tenant_name str

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList String

Name of Application

as3Json String

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata Boolean

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

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

Name of Tenant

tenantName String

Name of Tenant

Deprecated:

this attribute is no longer in use

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.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing 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,
        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) -> 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)
Resource lookup is not supported in YAML
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

Name of Application

As3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

IgnoreMetadata bool

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

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

Name of Tenant

TenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

ApplicationList string

Name of Application

As3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

IgnoreMetadata bool

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

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

Name of Tenant

TenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList String

Name of Application

as3Json String

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata Boolean

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

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

Name of Tenant

tenantName String

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList string

Name of Application

as3Json string

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata boolean

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

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

Name of Tenant

tenantName string

Name of Tenant

Deprecated:

this attribute is no longer in use

application_list str

Name of Application

as3_json str

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignore_metadata bool

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

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

Name of Tenant

tenant_name str

Name of Tenant

Deprecated:

this attribute is no longer in use

applicationList String

Name of Application

as3Json String

Path/Filename of Declarative AS3 JSON which is a json file used with builtin file function

ignoreMetadata Boolean

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

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

Name of Tenant

tenantName String

Name of Tenant

Deprecated:

this attribute is no longer in use

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 bigip_as3.test Sample_http_01
 $ pulumi import f5bigip:index/as3:As3 bigip_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.testImporting from ID “Sample_http_01”… bigip_as3.testImport prepared!

Prepared bigip_as3 for import bigip_as3.testRefreshing 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.testresource “bigip_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

= “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.testImporting from ID “Sample_http_01,Sample_non_http_01”… bigip_as3.testImport prepared!

Prepared bigip_as3 for import bigip_as3.testRefreshing 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.testresource “bigip_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

= “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

Package Details

Repository
f5 BIG-IP pulumi/pulumi-f5bigip
License
Apache-2.0
Notes

This Pulumi package is based on the bigip Terraform Provider.