f5bigip.As3
Explore with Pulumi AI
f5bigip.As3
provides details about bigip as3 resource
This resource is helpful to configure as3 declarative JSON on BIG-IP.
Example Usage
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", "utf8")});
// Example Usage for json file with tenant filter
const as3_example1Index_as3As3 = new f5bigip.As3("as3-example1Index/as3As3", {
as3Json: fs.readFileSync("example2.json", "utf8"),
tenantFilter: "Sample_03",
});
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")
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 {
// Example Usage for json file
_, err := f5bigip.NewAs3(ctx, "as3-example1As3", &f5bigip.As3Args{
As3Json: readFileOrPanic("example1.json"),
})
if err != nil {
return err
}
// Example Usage for json file with tenant filter
_, 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
})
}
using System.Collections.Generic;
using System.IO;
using System.Linq;
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 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());
}
}
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
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,
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.
Example
The following reference example uses placeholder values for all input properties.
var as3Resource = new F5BigIP.As3("as3Resource", new()
{
ApplicationList = "string",
As3Json = "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"),
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")
.ignoreMetadata(false)
.taskId("string")
.tenantFilter("string")
.tenantList("string")
.tenantName("string")
.build());
as3_resource = f5bigip.As3("as3Resource",
application_list="string",
as3_json="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",
ignoreMetadata: false,
taskId: "string",
tenantFilter: "string",
tenantList: "string",
tenantName: "string",
});
type: f5bigip:As3
properties:
applicationList: string
as3Json: 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
The As3 resource accepts the following input properties:
- Application
List string - Application deployed through AS3 Declaration
- As3Json string
- 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
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" ] } ] } } } } }
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- As3Json string
- 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
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" ] } ] } } } } }
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- as3Json String
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- as3Json string
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- 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
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" ] } ] } } } } }
- 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. 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 - Application deployed through AS3 Declaration
- as3Json String
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- 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 - Name of Tenant
- 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 define Perapp mode enabled on BIG-IP or not
- Id string
- The provider-assigned unique ID for this managed resource.
- Per
App boolMode - Will define Perapp mode enabled on BIG-IP or not
- id String
- The provider-assigned unique ID for this managed resource.
- per
App BooleanMode - Will define Perapp mode enabled on BIG-IP or not
- id string
- The provider-assigned unique ID for this managed resource.
- per
App booleanMode - Will define Perapp mode enabled on BIG-IP or not
- id str
- The provider-assigned unique ID for this managed resource.
- per_
app_ boolmode - Will define Perapp mode enabled on BIG-IP or not
- id String
- The provider-assigned unique ID for this managed resource.
- per
App BooleanMode - Will define Perapp mode enabled on BIG-IP or not
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,
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)
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.
- Application
List string - Application deployed through AS3 Declaration
- As3Json string
- 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
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" ] } ] } } } } }
- Per
App boolMode - Will define Perapp mode enabled on BIG-IP or not
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- As3Json string
- 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
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" ] } ] } } } } }
- Per
App boolMode - Will define Perapp mode enabled on BIG-IP or not
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- as3Json String
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- per
App BooleanMode - Will define Perapp mode enabled on BIG-IP or not
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- as3Json string
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- per
App booleanMode - Will define Perapp mode enabled on BIG-IP or not
- 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 - Name of Tenant
- 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 - Application deployed through AS3 Declaration
- 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
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" ] } ] } } } } }
- per_
app_ boolmode - Will define Perapp mode enabled on BIG-IP or not
- 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. 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 - Application deployed through AS3 Declaration
- as3Json String
- Path/Filename of Declarative AS3 JSON which is a json file used with builtin
file
function - 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" ] } ] } } } } }
- per
App BooleanMode - Will define Perapp mode enabled on BIG-IP or not
- 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 - Name of Tenant
- 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.
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.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 “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.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 “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
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.