Service Catalog Template¶
Overview¶
A template is composed of a template state and a set of template configuration objects. The template configuration objects serve as prototypes of config objects. You can use an apply-template task to create an application and deploy it to BIG-IPs. The template state is a static state of the template, containing references to those prototypes, that is used by the task to create the application configuration object and user scripts. This document describes the template state REST API. A template state is composed of resources representing configuration objects that a user can generate when using the task to create an application. The resource contains a prototype describing the configuration that will be created by that resource and a parameter section which indicates which fields from the prototype a user is able to modify.
REST Endpoint: /mgmt/cm/global/templates¶
Requests¶
GET /mgmt/cm/global/templates/<id>¶
Request Parameters¶
None
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
name | string | Name of the template |
description | string | Description of the template |
resources | map_between_string_and_object | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | A string literal provided by users to represent the resource name |
prompt | string | Optional prompt label of the template resource |
prototypeReference | reference | Reference to template config object which is the prototype of the resource |
link | string | URI link of the reference. |
shadowPrototypeReferences | array_of_references | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | URI link of the reference. |
parameters | map_between_string_and_object | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of the resource. Default is false |
subcollectionResources | map_of_string_and_object | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | A string literal provided by users to represent the subcollection resource name |
prompt | string | Optional prompt label for the template subcollection resource |
prototypeReference | reference | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | URI link of the reference. |
parameters | map_of_string_and_string | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of this subcollection resource. Default is false |
userScripts | array_of_objects | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | Reference to the user script that is associated with the template |
link | string | URI link of the reference. |
isDefault | boolean | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to error conditions. Detailed error message will be in the response.
HTTP/1.1 401 Unauthorized
This response happens when access is denied due to invalid credentials (no Permission).
HTTP/1.1 404 Not Found
This response happens when public URI path not registered.
Permissions¶
Role | Allow |
---|---|
Application_Editor | Yes |
Application_Viewer | Yes |
Service_Catalog_Viewer | Yes |
Application_Manager | Yes |
Service_Catalog_Editor | No |
POST /mgmt/cm/global/templates¶
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
name | string | True | Name of the template |
description | string | False | Description of the template |
resources | map_between_string_and_object | False | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | False | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | False | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | False | A string literal provided by users to represent the subcollection resource name |
prompt | string | False | Optional prompt label for the template subcollection resource |
prototypeReference | reference | False | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | True | URI link of the reference. |
parameters | map_of_string_and_string | False | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | False | Optional prompt label of the template resource |
prototypeReference | reference | False | Reference to template config object which is the prototype of the resource |
link | string | True | URI link of the reference. |
shadowPrototypeReferences | array_of_references | False | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | True | URI link of the reference. |
parameters | map_between_string_and_string | False | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | False | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | False | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | False | Reference to the user script that is associated with the template |
link | string | True | URI link of the reference. |
isDefault | boolean | False | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | False | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | False | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
name | string | Name of the template |
description | string | Description of the template |
resources | map_between_string_and_object | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | A string literal provided by users to represent the subcollection resource name |
prompt | string | Optional prompt label for the template subcollection resource |
prototypeReference | reference | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | URI link of the reference. |
parameters | map_of_string_and_string | Key-value define that defines which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | Optional prompt label of the template resource |
prototypeReference | reference | Reference to template config object which is the prototype of the resource |
link | string | URI link of the reference. |
shadowPrototypeReferences | array_of_references | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | URI link of the reference. |
parameters | map_between_string_and_string | Key-value define that defines which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | Reference to the user script that is associated with the template |
link | string | URI link of the reference. |
isDefault | boolean | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to error conditions. Detailed error message will be in the response.
HTTP/1.1 401 Unauthorized
This response happens when access is denied due to invalid credentials (no Permission).
Permissions¶
Role | Allow |
---|---|
Application_Editor | No |
Application_Viewer | No |
Service_Catalog_Viewer | No |
Application_Manager | No |
Service_Catalog_Editor | Yes |
PUT /mgmt/cm/global/templates/<id>¶
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
name | string | True | Name of the template |
description | string | False | Description of the template |
resources | map_between_string_and_object | False | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | False | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | False | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | False | A string literal provided by users to represent the subcollection resource name |
prompt | string | False | Optional prompt label for the template subcollection resource |
prototypeReference | reference | False | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | True | URI link of the reference. |
parameters | map_of_string_and_string | False | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | False | Optional prompt label of the template resource |
prototypeReference | reference | False | Reference to template config object which is the prototype of the resource |
link | string | True | URI link of the reference. |
shadowPrototypeReferences | array_of_references | False | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | True | URI link of the reference. |
parameters | map_between_string_and_string | False | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | False | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | False | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | False | Reference to the user script that is associated with the template |
link | string | False | URI link of the reference. |
isDefault | boolean | False | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | False | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | False | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
name | string | Name of the template |
description | string | Description of the template |
resources | map_between_string_and_object | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | A string literal provided by users to represent the subcollection resource name |
prompt | string | Optional prompt label for the template subcollection resource |
prototypeReference | reference | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | URI link of the reference. |
parameters | map_of_string_and_string | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | Optional prompt label of the template resource |
prototypeReference | reference | Reference to template config object which is the prototype of the resource |
link | string | URI link of the reference. |
shadowPrototypeReferences | array_of_references | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | URI link of the reference. |
parameters | map_between_string_and_string | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | Reference to the user script that is associated with the template |
link | string | URI link of the reference. |
isDefault | boolean | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to error conditions. Detailed error message will be in the response.
HTTP/1.1 401 Unauthorized
This response happens when access is denied due to invalid credentials (no Permission).
Permissions¶
Role | Allow |
---|---|
Application_Editor | No |
Application_Viewer | No |
Service_Catalog_Viewer | No |
Application_Manager | No |
Service_Catalog_Editor | Yes |
PATCH /mgmt/cm/global/templates/<id>¶
Request Parameters¶
Name | Type | Required | Description |
---|---|---|---|
description | string | False | Description of the template |
resources | map_between_string_and_object | False | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | False | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | False | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | False | A string literal provided by users to represent the subcollection resource name |
prompt | string | False | Optional prompt label for the template subcollection resource |
prototypeReference | reference | False | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | True | URI link of the reference. |
parameters | map_of_string_and_string | False | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | False | Optional prompt label of the template resource |
prototypeReference | reference | False | Reference to template config object which is the prototype of the resource |
link | string | True | URI link of the reference. |
shadowPrototypeReferences | array_of_references | False | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | True | URI link of the reference. |
parameters | map_between_string_and_string | False | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | False | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | False | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | False | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | False | Reference to the user script that is associated with the template |
link | string | True | URI link of the reference. |
addressSharing | boolean | False | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | False | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
name | string | Name of the template |
description | string | Description of the template |
resources | map_between_string_and_object | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | A string literal provided by users to represent the subcollection resource name |
prompt | string | Optional prompt label for the template subcollection resource |
prototypeReference | reference | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | URI link of the reference. |
parameters | map_of_string_and_string | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | Optional prompt label of the template resource |
prototypeReference | reference | Reference to template config object which is the prototype of the resource |
link | string | URI link of the reference. |
shadowPrototypeReferences | array_of_references | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | URI link of the reference. |
parameters | map_between_string_and_string | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | Reference to the user script that is associated with the template |
link | string | URI link of the reference. |
isDefault | boolean | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to error conditions. Detailed error message will be in the response.
HTTP/1.1 401 Unauthorized
This response happens when access is denied due to invalid credentials (no Permission).
Permissions¶
Role | Allow |
---|---|
Application_Editor | No |
Application_Viewer | No |
Service_Catalog_Viewer | No |
Application_Manager | No |
Service_Catalog_Editor | Yes |
DELETE /mgmt/cm/global/templates/<id>¶
Request Parameters¶
None
Query Parameters¶
None
Response¶
HTTP/1.1 200 OK
Name | Type | Description |
---|---|---|
name | string | Name of the template |
description | string | Description of the template |
resources | map_between_string_and_object | Map between resource name and prototypes of the config objects that can be created and deployed in the device. It also defines which default parameters can be override by users during application creation or application update |
name | string | A string literal provided by users to represent the resource name |
subcollectionResources | map_of_string_and_object | Map between subcollection resource name and prototypes of the subcollection config objects that can be referenced by the parent resource. It also defines which default parameters can be override by users during application creation/update |
name | string | A string literal provided by users to represent the subcollection resource name |
prompt | string | Optional prompt label for the template subcollection resource |
prototypeReference | reference | Reference to the template-config object which is the prototype of the subcollection resource |
link | string | URI link of the reference. |
parameters | map_of_string_and_string | Key-value pairs that define which parameters can be modified in the subcollection resources’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of this subcollection resource. Default is false |
prompt | string | Optional prompt label of the template resource |
prototypeReference | reference | Reference to template config object which is the prototype of the resource |
link | string | URI link of the reference. |
shadowPrototypeReferences | array_of_references | References to template config objects that act as a shadow object to the prototype of the resource. A shadow object is an object synced from LTM to other modules. It is not created by the user directly. |
link | string | URI link of the reference. |
parameters | map_between_string_and_string | Key-value pairs that define which parameters can be modified in the resource’s prototype. Key is the parameter name whose value can be modified by users during application creation/update. Value is an empty json object |
allowMultiple | boolean | True if users allow multiple instantiations of the resource. Default is false |
userScripts | array_of_objects | A list of user defined scripts that associated with this template, which will run on a device after an application is created based on this template and deployed to the device |
type | string | Type of the user script. PostCreation script will run when creating an application, PostUpdate script will run when updating an application, and PostDelete script will run when deleting an application |
userScriptReference | reference | Reference to the user script that is associated with the template |
link | string | URI link of the reference. |
isDefault | boolean | Flag to distinguish between built-in template and non built-in template |
addressSharing | boolean | Flag to allow sharing address among different virtual servers in the app, when the destinationAddress is allocated from IpPool |
published | boolean | Flag to indicate service-template is published. For an application to be created, the value must be true. |
Error Response¶
HTTP/1.1 400 Bad Request
This response status is related to error conditions. Detailed error message will be in the response.
HTTP/1.1 401 Unauthorized
This response happens when access is denied due to invalid credentials (no Permission).
HTTP/1.1 404 Not Found
This response happens when public URI path not registered.
Permissions¶
Role | Allow |
---|---|
Application_Editor | No |
Application_Viewer | No |
Service_Catalog_Viewer | No |
Application_Manager | No |
Service_Catalog_Editor | Yes |
Examples¶
Get a template¶
GET /mgmt/cm/global/templates/<id>
Response¶
HTTP/1.1 200 OK
{
"items": [
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"isDefault": false,
"addressSharing": false
"published": true
}
]
}
Create a template¶
POST /mgmt/cm/global/templates
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
},
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"userScripts": [
{
"type": "PostCreation",
"userScriptReference": {
"link": "https://localhost/mgmt/shared/user-scripts/42788307-4e16-433e-bcc8-9734cc07ddd8"
}
}
],
"isDefault": false,
"addressSharing": false
"published": true
}
Response¶
HTTP/1.1 200 OK
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"userScripts": [
{
"type": "PostCreation",
"userScriptReference": {
"link": "https://localhost/mgmt/shared/user-scripts/42788307-4e16-433e-bcc8-9734cc07ddd8"
}
}
],
"isDefault": false,
"addressSharing": false
"published": true
}
Edit a template¶
PUT /mgmt/cm/global/templates/<id>
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"userScripts": [
{
"type": "PostCreation",
"userScriptReference": {
"link": "https://localhost/mgmt/shared/user-scripts/42788307-4e16-433e-bcc8-9734cc07ddd8"
}
}
],
"isDefault": false,
"addressSharing": true
"published": true
}
Response¶
HTTP/1.1 200 OK
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"userScripts": [
{
"type": "PostCreation",
"userScriptReference": {
"link": "https://localhost/mgmt/shared/user-scripts/42788307-4e16-433e-bcc8-9734cc07ddd8"
}
}
],
"isDefault": false,
"addressSharing": true
}
Edit a template¶
PATCH /mgmt/cm/global/templates/<id>
{
"userScripts": []
}
Response¶
HTTP/1.1 200 OK
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"isDefault": false,
"addressSharing": true
"published": true
}
Delete a template¶
DELETE /mgmt/cm/global/templates/<id>
Response¶
HTTP/1.1 200 OK
{
"name": "MyTemplate",
"description": "For load balancing an HTTPS application on port 443 with a Web Application Firewall using an ASM Rapid Deployment policy.",
"resources": {
"MyVirtualServerResource_1": {
"prompt": "Add object of type: ltm virtual",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362"
},
"parameters": {
"name": {},
"destinationAddress": {},
"mask": {},
"destinationPort": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyVirtualProfileTCPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/febe580f-b151-3c8d-95a0-43ce8df2147c"
},
"parameters": {},
"allowMultiple": true
},
"MyVirtualProfileHTTPResource_1": {
"prompt": "Attach a profile",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/virtual/0693aecf-2932-3fc3-a322-f0f7af86c362/profiles/ad348aed-0309-36d5-b5cd-c5b9e00cbb26"
},
"parameters": {},
"allowMultiple": true
}
}
},
"MyPoolResource_1": {
"prompt": "Add object of type: ltm pool",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9"
},
"parameters": {
"name": {}
},
"allowMultiple": false,
"subcollectionResources": {
"MyPoolMemberResource_1": {
"prompt": "Add object of type: ltm pool members",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/pool/7f920413-5594-3665-94db-6dcc5b6619c9/members/75821b71-c21a-35f8-be17-188fe23d860d"
},
"parameters": {
"port": {},
"nodeReference": {}
},
"allowMultiple": true
}
}
},
"MyNodeResource_1": {
"prompt": "Add a node",
"prototypeReference": {
"link": "https://localhost/mgmt/cm/adc-core/template-config/ltm/node/dc475a99-31f9-3dbe-907b-95af794ff19e"
},
"parameters": {
"name": {},
"address": {}
},
"allowMultiple": true
}
},
"isDefault": false,
"addressSharing": true
"published": true
}