Как получить имя группы безопасности экземпляра динамически через Boto3 - PullRequest
0 голосов
/ 05 июля 2018

Я сделал образ исходного экземпляра, и теперь мне пришлось клонировать новый экземпляр. Таким образом, я жестко закодировал имя группы безопасности исходного экземпляра при создании целевого экземпляра. Теперь я хочу, чтобы это было динамически. Ниже мой код:

    ec2 = boto3.resource('ec2',region_name='region') 
    instance = ec2.create_instances( ImageId=image, InstanceType='t2.micro', KeyName='keyName', SecurityGroups=['sgr-ssh-http-public'], MaxCount=1, MinCount=1 ) 

1 Ответ

0 голосов
/ 10 июля 2018

Вот один из многих способов достижения желаемого результата.

    import boto3
    client = boto3.client('ec2',region_name='ap-south-1')
    response = client.describe_instances()
    for i in response['Reservations']:
       for j in i['Instances']:
          if (j['InstanceId']=="yourparentinstanceid"):
              for k in j['SecurityGroups']:
                sgname=k['GroupId']
    ec2 = boto3.resource('ec2',region_name='ap-south-1')
    instance = ec2.create_instances( ImageId='imageid', InstanceType='t2.micro', KeyName='keyname',SecurityGroupIds=[sgname], MaxCount=1, MinCount=1,SubnetId='subnetid',)

Примечание: Пожалуйста, сначала изучите правила, как задать вопрос здесь в stackoverflow, а также как его отформатировать. Так как вы, кажется, новичок здесь в stackoverflow, я не отмечаю ваш вопрос. Пожалуйста, избегайте этих ошибок в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...