Quick Start

If you are familiar with the BIG-IP system, and generally familiar with REST and using APIs, this section contains the minimum amount of information to get you up and running with AS3.

If you are not familiar with the BIG-IP and REST APIs, or want more detailed instructions, continue with Using AS3.

  1. Download the latest RPM package from F5 AS3 site on GitHub in the dist directory.
  2. Upload and install the RPM package on the using the BIG-IP GUI:
  3. Be sure to see the Known Issues and Warnings & Tips pages to review any known issues and other important information before you attempt to use AS3.
  4. Provide authorization (basic auth) to the BIG-IP system:
  5. Optional: Using a RESTful API client like Postman, POST an open and closed bracket ({}) to the URI https://<BIG-IP>/mgmt/shared/appsvcs/selftest to ensure AS3 is running properly.
  6. Copy one of the Example declarations which best matches the configuration you want to use. Alternatively, you can use the simple “Hello World” example below, which is a good start if you don’t have an example in mind.
  7. Paste the declaration into your API client, and modify names and IP addresses as applicable. See Appendix A: Schema Reference for additional options you can declare.
  8. POST to the URI https://<BIG-IP>/mgmt/shared/appsvcs/declare

Quick Start Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 {
     "class": "AS3",
     "action": "deploy",
     "persist": true,
     "declaration": {
         "class": "ADC",
         "schemaVersion": "3.0.0",
         "id": "urn:uuid:33045210-3ab8-4636-9b2a-c98d22ab915d",
         "label": "Sample 1",
         "remark": "Simple HTTP Service with Round-Robin Load Balancing",
         "Sample_01": {
             "class": "Tenant",
             "A1": {
                 "class": "Application",
                 "template": "http",
                 "serviceMain": {
                     "class": "Service_HTTP",
                     "virtualAddresses": [
                         "10.0.1.10"
                     ],
                     "pool": "web_pool"
                 },
                 "web_pool": {
                     "class": "Pool",
                     "monitors": [
                         "http"
                     ],
                     "members": [
                         {
                             "servicePort": 80,
                             "serverAddresses": [
                                 "192.0.1.10",
                                 "192.0.1.11"
                             ]
                         }
                     ]
                 }
             }
         }
     }
 }