Reputation: 1853
client = boto3.client('ec2',
aws_access_key_id=key,
aws_secret_access_key=secret,
region_name='ap-southeast-1')
response = client.create_instances(
DryRun=True,
ImageId=ami1,
MinCount=1,
MaxCount=1,
KeyName='my-key',
SecurityGroupIds=[sg1, sg2],
InstanceType='m3.medium',
Placement={
'AvailabilityZone': 'ap-southeast-1a'
},
SubnetId=sb1,
NetworkInterfaces=[
{
'NetworkInterfaceId': vpc1,
'SubnetId': sb1,
'Description': 'Description'
}
]
)
print response
getting error while making api call to create instance, I have verified other operation like describe_images is working fine so keys are proper.
am I missing something ?
Upvotes: 13
Views: 34944
Reputation: 127
Have you tried using run_instances https://boto3.readthedocs.org/en/latest/reference/services/ec2.html#EC2.Client.run_instances
Upvotes: 2
Reputation:
EC2.Client
does not provide create_instances
, as the error message indicates.
Instead, it is EC2.ServiceResource
that provides it, according to the boto3 documentation
You need to update the first instruction:
client = boto3.resource('ec2',
aws_access_key_id=key,
aws_secret_access_key=secret,
region_name='ap-southeast-1')
Upvotes: 15