2016-05-11 12 views
1

次のasgard自動スケーリンググループの作成を自動化する方法はありますか?私は展開したいAMIイメージIDを持っています。私は彼らのAPIの周りに突っ込んだし、これがどのように行われるのかは明らかではないようです。誰にも何か提案はありますか?次のグループの作成を自動化する

答えて

0

ここに来る人は、私はこれを単純なシェルスクリプトを使って解決しました。これを任意のREST APIまたは言語で包み込むことができますが、要点は

  • です。クラスターの準備エンドポイントを照会し、環境を組み込みます。あなたは準備JSONのAMIフィールドを設定
  • これはあなたの現在の起動設定を与える+そのソート昇順(最後のAMIが最新である)ので、そのクラスタ
  • のためのすべてのAMIさんのリストは、リストの最後のAMIを取得しますhttp://onoffswitch.net/scripting-deployment-clusters-asgard/

    :新しいAMI
  • ポストバック開始エンドポイント

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}" 
} 

ソースポストへの新しいJSONを使って引っ張っ

関連する問題