自动创建 Asgard 下一个组

Automate Asgard next group creation

有没有办法自动创建下一个 asgard 自动缩放组?我有要用于部署的 AMI 映像 ID。我浏览了他们的 API,我似乎不清楚如何做到这一点。有人有什么建议吗?

对于来到这里的任何人,我已经使用一些简单的 shell 脚本解决了这个问题。您可以用任何 REST api 或您想要的语言来包装它,但要点是

  • 查询集群的准备端点并包括环境。这将为您提供当前的启动配置 + 该集群的所有 AMI 的列表
  • 获取列表中的最后一个 ami,因为它按升序排序(最后一个 ami 是最新的)
  • 设置您使用新 ami
  • 提取的 prepare json 的 ami 字段
  • Post新的json回到起始端点

function asgard(){
  verb=
  url="https://my.asgard.com/us-east-1/"
  shift
  http ${VERB} --verify=no "$url" -b
}

function next-ami(){
  cluster=

  prepare-ami $cluster true | \
    jq ".environment.images | reverse | .[0]"
}

function prepare-ami(){
  cluster=

  includeEnv=

  asgard GET "deployment/prepare/${cluster}?deploymentTemplateName=CreateAndCleanUpPreviousAsg&includeEnvironment=${includeEnv}"
}

function get-next-ami(){
  cluster=

  next=`next-ami ${cluster} | jq ".id"`

  prepare-ami ${cluster} "false" | jq ".lcOptions.imageId |= ${next}"
}

function start-deployment(){
  cluster=
  payload=

  echo $payload | asgard POST "deployment/start/${cluster}"
}

来源post:http://onoffswitch.net/scripting-deployment-clusters-asgard/