Declarative Onboarding¶
Overview¶
You can use this API to transmit a declarative onboarding declaration to BIG-IQ to use Declarative Onboarding (DO) to configure your BIG-IPs. After you onboard the BIG-IPs, you can start managing them from the BIG-IQ. For more information about declarative onboarding, see the F5 Declarative Onboarding Documentation .
For information about the compatibility of BIG-IQ and BIG-IP with F5 Application Services 3 Extension (AS3) and F5 Declarative Onboarding (DO) releases, please refer to the support article: K54909607: BIG-IQ Centralized Management compatibility with F5 Application Services 3 Extension and F5 Declarative Onboarding .
Requests¶
Examples¶
POST to onboard a BIG-IP VE in AWS for first time¶
To transmit a DO declaration for the initial onboarding of a BIG-IP VE in an AWS cloud environment, you can send the POST request to the declarative-onboarding endpoint on the BIG-IQ with the declaration in the body. For more information about Declaration Onboarding in an AWS environment, refer to Adding and Configuring BIG-IP VE Devices in an AWS Cloud .
On the BIG-IQ, your POST can look similar to the following example.
POST https://192.0.2.242/mgmt/shared/declarative-onboarding
The JSON in the body of the POST can look similar to the following.
{
"class": "DO",
"declaration": {
"schemaVersion": "1.5.0",
"class": "Device",
"async": true,
"Common": {
"class": "Tenant",
"myProvision": {
"ltm": "nominal",
"class": "Provision"
},
"admin": {
"class": "User",
"userType": "regular",
"password": "privatepassword",
"partitionAccess": {
"all-partitions": {
"role": "admin"
}
}
},
"hostname": "aws.ve.do.demo"
}
},
"targetUsername": "admin",
"targetHost": "54.10.10.10",
"targetSshKey": {
"path": "/var/ssh/restnoded/private.pem"
},
"bigIqSettings": {
"failImportOnConflict": false,
"conflictPolicy": "USE_BIGIQ",
"deviceConflictPolicy": "USE_BIGIP",
"versionedConflictPolicy": "KEEP_VERSION"
}
}
POST to onboard a BIG-IP VE in Azure¶
To transmit a DO declaration in an Azure cloud environment, you can send the POST request to the declarative-onboarding endpoint on the BIG-IQ with the declaration in the body. For more information about Declaration Onboarding in an Azure environment, refer to Adding and Configuring BIG-IP VE Devices in an Azure Cloud .
On the BIG-IQ, your POST can look similar to the following example.
POST https://192.0.2.242/mgmt/shared/declarative-onboarding
The JSON in the body of the POST can look similar to the following.
{
"class": "DO",
"declaration": {
"schemaVersion": "1.5.0",
"class": "Device",
"async": true,
"Common": {
"class": "Tenant",
"myLicense": {
"class": "License",
"licenseType": "regKey",
"regKey": "xxx-xxx-xxx-xx"
},
"myProvision": {
"class": "Provision",
"ltm": "nominal"
},
"myNtp": {
"class": "NTP",
"servers": [
"time.nist.gov"
],
"timezone": "UTC"
},
"admin": {
"class": "User",
"userType": "regular",
"partitionAccess": {
"all-partitions": {
"role": "admin"
}
},
"shell": "tmsh",
"password": "adminpassword"
},
"root": {
"class": "User",
"userType": "root",
"newPassword": "rootpassword",
"oldPassword": "adminpassword"
}
}
},
"targetHost": "54.10.10.10",
"targetUsername": "admin",
"targetPassphrase": "admin",
"bigIqSettings": {
"failImportOnConflict": false,
"conflictPolicy": "USE_BIGIQ",
"deviceConflictPolicy": "USE_BIGIP",
"versionedConflictPolicy": "KEEP_VERSION",
"statsConfig": {
"enabled": true,
"zone": "default"
},
"snapshotWorkingConfig": false
}
}
POST to onboard a BIG-IP VE in VMware cloud environment¶
To post a DO declaration in a VMware cloud environment, you can send the POST request to the declarative-onboarding endpoint on the BIG-IQ with the declaration in the body. For more information about Declaration Onboarding in an VMware environment, refer to Adding and Configuring BIG-IP VE Devices in a VMware Environment .
On the BIG-IQ, your POST can look similar to the following example.
POST https://192.0.2.242/mgmt/shared/declarative-onboarding
The JSON in the body of the POST can look similar to the following.
{
"class": "DO",
"declaration": {
"schemaVersion": "1.5.0",
"class": "Device",
"async": true,
"Common": {
"class": "Tenant",
"myLicense": {
"class": "License",
"licenseType": "regKey",
"regKey": "xxx-xx-xx-xxx"
},
"myProvision": {
"class": "Provision",
"ltm": "nominal"
},
"myNtp": {
"class": "NTP",
"servers": [
"ntp1.ntp.com"
]
},
"hostname": "mybigip_no3.mycompany.domain.com"
}
},
"targetHost": "10.10.75.23",
"targetUsername": "admin",
"targetPassphrase": "Password",
"bigIqSettings": {
"failImportOnConflict": false,
"conflictPolicy": "USE_BIGIQ",
"deviceConflictPolicy": "USE_BIGIP",
"versionedConflictPolicy": "KEEP_VERSION"
}
}
GET to get information about DO declaration¶
You can send a GET to the selflink uri returned in the body of the POST response to get the result of a specific DO task.
GET /mgmt/shared/declarative-onboarding/task/<id>