Nutanix®Frame®桌面AS-A-Service(DAAS)解决方案,该解决方案允许管理员创建非持久桌面的池和应用程序,以供内部和外部用户使用。当在公共云基础架构之一(AWS®,Azure®或GCP®云)上使用时,此服务可以很快扩展,并提高组织支持各种用例的能力
一种用例为临时提供培训或贸易展览/会议演示目的的申请。此用例对于关闭框架帐户上的所有活动会议可能很重要,以允许对云资源的剥夺。该博客将为您介绍如何使用powershell脚本来实现此目标的框架管理API。
操作的概念
操作的概念非常简单:
- 获取帐户所有框架生产池的池ID
- 获取主动会议列表
- 如果在生产池中关闭主动会议
先决条件
为了使此脚本运行,您将需要以下值:
- 客户ID和客户秘密:这些是用于调用框架管理API的凭据。可以通过遵循框架文档来获得它们如何提供API凭据。您授予凭据的许可将需要对您正在使用的框架帐户进行管理访问。
- 帐户ID:帐户ID是框架帐户的普遍唯一标识符(UUID),您将在其中更新弹性设置。您可以通过转到帧admin UI并选择计划更改弹性参数的帐户中的“更新”来找到该值。
在浏览器的位置栏中,您会看到类似的东西:
https://frame.nutanix.com/frame/account/1F86E290-8CD2-4950-9C5A-9D3F7ED332E7/basic-info
一些休息基础
使用帧管理器API,我们使用REST调用与帧控制平面进行交互。一些电话是查询或信息请求,它们使用HTTPS获取请求来收集该信息。其余的调用要求框架执行称为“突变”的东西。这些调用使用HTTPS帖子或删除请求,因为它们旨在更改框架控制平面中的某些内容。
在PowerShell中,请求的方法类型是在HTTPS调用中作为参数发送的:
$响应=Invoke-Restmethod-方法获取-Uri$ API-标题$标题
为了执行正确的错误处理,开发的脚本具有两个不同的功能:
- 这获取Frameapicall功能实现HTTPS“获取”请求,并用于收集有关池和会话的信息
- 这删除 - 弗拉米普卡尔功能实现HTTPS“删除”请求,用于关闭会话
剧本
定义这些功能后,脚本的主要部分是非常自我解释的。首先,收集所有生产池ID,并将它们放入名为的列表中$池。
$ req_string=“ https://api.console.nutanix.com/v1/accounts/”+$ acct_id+“/池”
$ res=获取Frameapicall-client_id$ clnt_id-client_secret$ clnt_secret-API$ req_string
$池=@(()
foreach(($ j在$ res)
{
如果(($ j。种类-eq“生产”)
{
$池+=$ j。external_id
}
}
然后,您将获得活动会议的列表。
$ req_string=“ https://api.console.nutanix.com/v1/accounts/”+$ acct_id+“/活跃期”
$ res=获取Frameapicall-client_id$ clnt_id-client_secret$ clnt_secret-API$ req_string
现在,您循环浏览所有活动会话,如果pool_id值匹配$ pools中的ID,则使用delete-frameapicall关闭会话。
foreach(($ i在$ res)
{
#检查每个生产pool_id
foreach(($ j在$池)
{
如果(((($ i。ID-ne$ null)-和(($ i。pool_id-eq$ j))
{
写宿主“关闭”$ i。ID
$ req_string=“ https://api.console.nutanix.com/v1/accounts/”+$ acct_id+“/sessions/”+$ i。ID
$ res=删除 - 弗拉米普尔-client_id$ clnt_id-client_secret$ clnt_secret-API$ req_string
}
}
}
会议将立即关闭,用户将获得管理关闭对话框。
结论
这个相对简单的脚本显示了框架管理员API查询框架控制平面以获取帐户信息的功能,并使用REST突变来指示平台在框架帐户中执行操作。有关帐户端点的完整列表,请查看找到的框架文档这里。
作者
更多的内容由大卫·霍瓦斯(David Horvath)
David Horvath是Nutanix框架的高级解决方案建筑师。他已经成为框架团队的一部分已有近五年了,在此之前,他花了20年的时间与美国情报界的各种信息技术项目进行咨询。
©2020-2022 Nutanix,Inc。保留所有权利。Nutanix,Nutanix徽标和所有Nutanix产品,此处提到的功能和服务名称是美国和其他国家的Nutanix,Inc。的注册商标或商标。本文提到的所有其他品牌名称仅用于识别目的,可能是其各自持有人的商标。这篇文章可能包含指向不属于Nutanix.com一部分的外部网站的链接。Nutanix不控制这些站点,并对任何外部站点的内容或准确性不承担所有责任。我们决定链接到外部站点的决定不应被视为对该站点上任何内容的认可。本文中包含的某些信息可能与从第三方来源以及我们自己的内部估计和研究获得的研究,出版物,调查和其他数据有关。尽管我们认为这些第三方研究,出版物,调查和其他数据是在本文之日起可靠的,但它们尚未独立验证,并且我们对任何信息的充分性,公平性,准确性或完整性都没有任何陈述从第三方来源获得。