Amazon AWS LAMBDA – Ligar apenas algumas instâncias automaticamente – Python 2.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- coding: utf-8 -*-
"""
Script para ligar instancias em Amazon AWS EC2
"""
# webserve SDK AWS para Python
import boto3
# Instancia o tipo de serviço que será consulmido da importação boto3
client=boto3.client('ec2')
 
# Função manipuladora - É uma espécie de int main, como em C++
def lambda_handler(event, context):
 
    # Instancia do método que será usada. Neste caso o método describe_instances() mapeia as instâncias existentes
    response=client.describe_instances()
 
    # Array contendo somente as maquinas que serão ligadas
    onlyInstances=["i-00f0a3dfas654df", "i-00f0a31ad0lq154df", "i-11156456as654df"]
 
    # Laço no objeto response para Reservations
    for reservation in response["Reservations"]:
 
        # Laço no objeto reservation para Instances
        for instance in reservation["Instances"]:
 
            # Observe o formato: id deve ser um Array [], a ser passado para o método client.start_instances(InstanceIds=[...])
            id=[instance["InstanceId"]]
 
            # Verifica se registro contém no array de exceção.
            if instance["InstanceId"] in onlyInstances:
                print(instance["InstanceId"] + " starting")
                client.start_instances(InstanceIds=id)
            else:
                print(instance["InstanceId"] + " in exception, not starting.")
 
 
    return "Fim da execucao."

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *