使用API从StyleBooks创建配置
在构建StyleBook之后,您必须将其导入到Citrix应用程序交付和管理中,以便通过使用Citrix应用程序交付和管理或使用Citrix应用程序交付和管理api来使用它。当您导入StyleBook时,Citrix应用程序交付和管理将验证它,如果验证成功,您的StyleBook将出现在StyleBooks的Citrix应用程序交付和管理目录中,可以用于创建配置。
您现在可以使用StyleBook api来创建基于此StyleBook的配置。您可以使用任何工具(如cURL命令行工具或Postman chrome浏览器扩展)向Citrix应用程序交付和管理发送HTTP请求。
示例1
考虑到lb-vserver
中创建的StyleBook创建负载均衡虚拟服务器的样式书.使用REST API从这个StyleBook创建一个配置包,如下所示:
HTTP方法:帖子
URL:https:// < ADM-DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / lb-vserver / configpacks
请求头信息:
内容类型:application / json
接受:application / json
请求正文有效负载:
{" configpack ":{“参数”:{“名称”:“两”,“知识产权”:“10.102.117.31”},“目标”:[{" id ": " deecee30 a85041903410——f478 - 4446 - 9741 " } ] } }
在此HTTP请求中,id(例如“deecee30-f478-4446-9741-a85041903410”)为创建IP地址为10.102.117.31的负载均衡虚拟服务器lb1的Citrix ADC实例的实例id。Citrix ADC实例的实例ID从Citrix应用程序交付和管理中检索。
要获取由Citrix Application Delivery and Management管理的实例的ID,可以使用Citrix Application Delivery and Management api。例如,要检索实例ID或IP地址为192.168.153.160的Citrix ADC实例,可以使用以下API:
HTTP方法:得到
URL:https:// < IP > /硝基/ v1 / config / ns ? = ip_address过滤:192.168.153.160
请求头信息:
接受:application / json
响应包含json负载中的ID:
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{“错误代码”:0,“消息”:“完成”,“操作”:“得到”,“resourceType”:“ns”、“用户名”:“nsroot”、“tenant_name”:“老板”,“resourceName”:“”,“ns”:[{“is_grace”:“false”,“主机名”:“”,“std_bw_config”:“0”,“gateway_deployment”:“false”,“id”:“deecee30 a85041903410——f478 - 4446 - 9741 ", } ] }
如果配置(配置包)创建成功,您将收到以下HTTP响应:
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{" configpack ":{“config_id”:“1460806080”}}< !——NeedCopy >
您已经创建了第一个配置(配置包),使用id 1460806080唯一标识它。您可以使用此ID查询、更新或删除配置。
示例2
您可以使用相同的StyleBook创建另一个配置或配置包,并在相同或不同的Citrix ADC实例上运行它。在本例中,创建另一个配置,为虚拟服务器提供不同的名称和IP地址,并指定LEASTCONNECTION作为负载均衡方法。在两个Citrix ADC实例上部署此配置。
HTTP请求如下:
HTTP方法:帖子
URL:https:// < DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / lb-vserver / configpacks
请求头信息:
内容类型:application / json
接受:application / json
请求正文有效负载:
{" configpack": {" parameters": {" name": "lb2", "ip": "10.102.117.32", "lb-alg": "LEASTCONNECTION"}, "targets" [{"id": "deecee30-f478-4446-9741-a85041903410"}, {"id": "debecc60-d589-4557-8632-a74032802412"}}}
在此HTTP请求中,在两个Citrix ADC实例上创建了IP地址为10.102.117.32的负载均衡虚拟服务器lb2,分别由id“deecee30-f478-4446-9741-a85041903410”和“debecc60-d589-4557-8632-a74032802412”表示。
在成功创建配置包时,会收到以下HTTP响应:
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{" configpack ":{“config_id”:“1657696292”}}< !——NeedCopy >
这个新的配置包有一个不同的id 165769629。您可以使用此id更新或删除此配置。
示例3
考虑一下你已经创建的" basic-lb-config " StyleBook创建基本负载均衡配置的样式手册.使用REST API从这个StyleBook创建一个配置包,如下所示:
HTTP方法:帖子
URL:http:// < DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / basic-lb-config / configpacks
请求头信息:
内容类型:application / json
接受:application / json
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{" configpack ":{“参数”:{“名称”:“myapp”、“知识产权”:“10.70.122.25”、“svc-servers”:“192.168.100.11”、“192.168.100.12”,“svc-port”:8080},“目标”:[{" id ": " deecee30 - f478 - 4446 - 9741 - a85041903410”},{" id ": " debecc60 a74032802412——d589 - 4557 - 8632 " } ] } }
在这个HTTP请求中,负载平衡配置在两个Citrix ADC实例上运行。您可以登录到这些Citrix ADC实例,验证是否创建了虚拟服务器和绑定了两个服务的服务组。
示例4
考虑复合StyleBookcomposite-example你在创建一个复合样式书.使用REST API从这个StyleBook创建一个配置包,如下所示:
HTTP方法:帖子
URL:http:// < DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / composite-example / configpacks
请求头信息:
内容类型:application / json
接受:application / json
请求正文有效负载:
{" configpack ":{“参数”:{“名称”:“myapp”、“知识产权”:“2.2.2.2”、“svc-servers”:[“10.102.29.52”、“10.102.29.53”]},“目标”:[{" id ": " deecee30 - f478 - 4446 - 9741 - a85041903410”},{" id ": " debecc60 a74032802412——d589 - 4557 - 8632 " } ] } }
在这个HTTP请求中,配置是在两个由它们的id表示的Citrix ADC实例上创建的。如果您登录到Citrix ADC实例,您可以查看由导入到“composite-example”StyleBook的“basic-lb-config”StyleBook创建的配置对象。您还可以看到一个名为myapp-mon
这是“复合示例”StyleBook的一部分。
在成功创建配置包时,会收到以下HTTP响应:
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{" configpack ":{“config_id”:“4917276817”}}< !——NeedCopy >
更新配置
要更新此配置,例如,向负载均衡虚拟服务器添加一个IP地址为10.102.29.54的新后端服务器myapp
,使用API更新配置包,如下所示:
HTTP方法:把
URL:http:// < DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / composite-example / configpacks / 4917276817
请求头信息:
内容类型:application / json
接受:application / json
请求正文有效负载:
{" configpack ":{“参数”:{“名称”:“myapp”、“知识产权”:“2.2.2.2”、“svc-servers”:[“10.102.29.52”、“10.102.29.53”,“10.102.29.54”]},“目标”:[{" id ": " deecee30 - f478 - 4446 - 9741 - a85041903410”},{" id ": " debecc60 a74032802412——d589 - 4557 - 8632 " } ] } }
在成功更新配置包时,会收到以下HTTP响应:
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应体(成功后):
{" configpack ":{“config-id”:“4917276817”}}< !——NeedCopy >
删除配置
要删除该配置(从所有Citrix ADC实例中),您可以使用API删除配置包,如下所示:
在成功删除配置包时,会收到以下HTTP响应:
HTTP方法:删除
URL:http:// < DNS-or-IP > /样本/硝基/ v1 / config /样本/ com.example.stylebooks / 0.1 / composite-example / configpacks / 4917276817
请求头信息:
接受:application / json
预期的响应报头(成功):
200好了
内容类型:application / json
预期响应有效载荷(成功后):
{" configpack ":{“config_id”:“4917276817”}}< !——NeedCopy >
您可以登录到Citrix ADC实例,并验证作为该配置包一部分的所有配置对象都已删除。
如果您希望从特定的Citrix ADC实例而不是所有实例中删除配置,请使用上面描述的更新配置包操作并更改JSON有效负载中的“targets”属性以删除特定的Citrix ADC实例id。