使用API从样本创建配置
构建样本后,您必须将其导入到Citrix ADM,以便使用Citrix ADM或Citrix ADM API来使用样本。Citrix ADM会在导入样本时验证样本,如果验证成功,样本将显示在Citrix ADM样本目录中,可用于创建配置。
现在可以使用样本API基于此样本创建配置。您可以使用cURL命令行工具或邮差chrome浏览器扩展程序等任何工具向Citrix ADM发送HTTP请求。
示例 1
假设您在用于创建负载平衡虚拟服务器的样本中创建了lb-vserver
样书。使用rest API从此样书创建配置包,如下所示:
HTTP方法:帖子
网址: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的负载平衡虚拟服务器两派的Citrix ADC实例的实例ID。从Citrix ADM检索Citrix ADC实例的实例ID。
要获取由Citrix ADM管理的实例的ID,可以使用Citrix ADM API。例如,要检索实例ID或IP地址为192.168.153.160的Citrix ADC实例,可以使用以下API:
HTTP方法:得到
网址:https:// < ADM-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
您可以使用相同的样书创建另一个配置或配置包,然后在相同或不同的Citrix ADC实例上运行它。在此示例中,创建另一个配置并为虚拟服务器提供不同的名称和IP地址,另外还指定LEASTCONNECTION作为负载平衡方法。在两个Citrix ADC实例上部署此配置。
HTTP请求如下:
HTTP方法:帖子
网址:https:// < ADM-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请求中,在由ID deecee30-f478-4446-9741-a85041903410和debecc60-d589-4557-8632-a74032802412表示的两个Citrix ADC实例上创建IP地址为10.102.117.32的负载平衡虚拟服务器lb2。
成功创建配置包后,将收到以下HTTP响应:
预期响应标题(成功):
200好了
内容类型:application / json
预期反应正文(关于成功):
{" configpack ":{“config_id”:“1657696292”}}< !——NeedCopy >
这个新的配置包具有不同的id 165769629。您可以通过使用此id更新或删除此配置。
示例 3
考虑您在中创建的"基本Lb-config "样本用于创建基本负载平衡配置的样本。使用rest API从此样书创建配置包,如下所示:
HTTP方法:帖子
网址:http:// < ADM-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
考虑您在中创建的复合样本合成示例创建复合样本/en-us/citrix-application-delivery-management-service/stylebooks/how-to-create-custom-stylebooks/create-composite-stylebook.html[()]。使用rest API从此样书创建配置包,如下所示:
HTTP方法:帖子
网址:http:// < ADM-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实例,则可以查看导入到“复合示例”样本中的“基本lb-config”样本创建的配置对象。您还可以看到一个名为myapp-mon
的新HTTP监视器作为" composite-example "样书的一部分。
成功创建配置包后,将收到以下HTTP响应:
预期响应标题(成功):
200好了
内容类型:application / json
预期反应机构(关于成功):
{" configpack ":{“config_id”:“4917276817”}}< !——NeedCopy >
更新配置
要更新此配置,例如,通过向负载平衡虚拟服务器添加具有IP地址10.102.29.54的新后端服务器myapp
,请使用API更新配置包,如下所示:
HTTP方法:把
网址:http:// < ADM-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方法:删除
网址:http:// < ADM-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负载中的“目标”属性以删除特定的Citrix ADC实例ID。