Skip to content

Commit

Permalink
Doc Added for Per-App
Browse files Browse the repository at this point in the history
  • Loading branch information
ramaniprateek committed Jun 11, 2024
1 parent f971baf commit 9208e95
Showing 1 changed file with 39 additions and 9 deletions.
48 changes: 39 additions & 9 deletions docs/resources/bigip_as3.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ This resource is helpful to configure AS3 declarative JSON on BIG-IP.
~> For Deploying AS3 JSON in Per-App mode, this resource provided with a attribute [tenant_name](#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 Specific application/s details needs to be passed and rest application can be added in the update call , without passing the entire declaration. Tenant name needs to be passed else random tenant name will be generated. 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>

## Example Usage

```hcl
Expand All @@ -35,7 +40,33 @@ resource "bigip_as3" "as3-example1" {
}
```

## Example Usage for Per-App mode deployment
# Per-Application Deployment - Example Usage for json file with tenant name
resource "bigip_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 "bigip_as3" "as3-example1" {
as3_json = file("perApplication_example.json")
}

# Per-Application Deployment - Delete Example
resource "bigip_as3" "as3-example1" {
tenant_name = "Test"
as3_json = file("as3_per_app_example1.json")

}

resource "bigip_as3" "as3-example2" {
tenant_name = "Test"
as3_json = file("as3_per_app_example2.json")

}

on running above 2 resources , we will be able to deploy Applications - `path_app1 , path_app2` on Tenant `Test`
now, if we run `terraform destroy -target=bigip_as3.as3-example2` , only `path_app2` will be deleted from Tenant.


[perApplication as3](#perApplication_example)

Expand Down Expand Up @@ -200,13 +231,12 @@ resource "bigip_as3" "as3-example1" {

```json
{
"schemaVersion": "3.50.1",
"Application1": {
"class": "Application",
"service": {
"class": "Service_HTTP",
"virtualAddresses": [
"192.1.1.1"
"192.0.2.1"
],
"pool": "pool"
},
Expand All @@ -216,19 +246,19 @@ resource "bigip_as3" "as3-example1" {
{
"servicePort": 80,
"serverAddresses": [
"192.0.1.10",
"192.0.1.20"
"192.0.2.10",
"192.0.2.20"
]
}
]
}
},
},
"Application2": {
"class": "Application",
"service": {
"class": "Service_HTTP",
"virtualAddresses": [
"192.1.2.1"
"192.0.3.2"
],
"pool": "pool"
},
Expand All @@ -238,8 +268,8 @@ resource "bigip_as3" "as3-example1" {
{
"servicePort": 80,
"serverAddresses": [
"192.0.2.10",
"192.0.2.20"
"192.0.3.30",
"192.0.3.40"
]
}
]
Expand Down

0 comments on commit 9208e95

Please sign in to comment.