2016-05-11 88 views
1

有没有办法自动创建下一个asgard自动缩放组?我有我想要部署的AMI图像ID。我对他们的API进行了探索,我不清楚这是如何做到的。有没有人有什么建议?自动化Asgard下一组创建

回答

0

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

  • 查询您的群集的准备端点并包含环境。这使您当前的启动配置+的所有AMI的该群集
  • 获得最后阿米里因为它的升序排列的名单(最后AMI是最近)
  • 将准备JSON的AMI领域的列表中,您http://onoffswitch.net/scripting-deployment-clusters-asgard/

    :使用新的AMI
  • 后新的JSON回到起点终点

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

function next-ami(){ 
    cluster=$1 

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

function prepare-ami(){ 
    cluster=$1 

    includeEnv=$2 

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

function get-next-ami(){ 
    cluster=$1 

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

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

function start-deployment(){ 
    cluster=$1 
    payload=$2 

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

源后拉到