2016-05-11 16 views
1

Есть ли способ автоматизировать создание следующей группы автоматического масштабирования asgard? У меня есть идентификатор изображения AMI, с которым я хочу развернуть. Я ткнул их API, и мне не показалось, как это можно сделать. У кого-нибудь есть предложения?Автоматизация создания следующей группы Asgard

ответ

0

Для всех, кто придет сюда, я решил это, используя некоторые простые сценарии оболочки. Вы можете обернуть это на любой REST api или язык, который вам нужен, но суть

  • Запросить конечную точку подготовки для вашего кластера и включить среду. Это дает вам текущую конфигурацию запуска + список всех AMI для этого кластера
  • Получить последний ami в списке с момента его сортировки по возрастанию (последний ami является последним)
  • Установите поле ami для подготовки json you вытащил с помощью нового 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}" 
} 

Источник сообщение: http://onoffswitch.net/scripting-deployment-clusters-asgard/

Смежные вопросы