I'm trying to create an auto-scaling group with different templates and types using boto3,
hopefully, someone can assist me here :) This is the code I used:
import boto3
client = boto3.client('autoscaling')
def create_auto_scaling_group(**kwargs):
response = client.create_auto_scaling_group(
AutoScalingGroupName='TEST-ASG',
LaunchTemplate={
'LaunchTemplateName': 'TEST-Template',
'Version': '5'
},
MixedInstancesPolicy={
'LaunchTemplate': {
'LaunchTemplateSpecification': {
'LaunchTemplateName': 'TEST-Template',
'Version': '5'
},
'Overrides': [
{
'InstanceType': 'g4dn.xlarge',
'LaunchTemplateSpecification': {
'LaunchTemplateName': 'TEST-Template',
'Version': '5'
}
},
{
'InstanceType': 'g3s.xlarge',
'LaunchTemplateSpecification': {
'LaunchTemplateName': 'TEST-Template',
'Version': '4'
}
},
{
'InstanceType': 'p3.2xlarge',
'LaunchTemplateSpecification': {
'LaunchTemplateName': 'TEST-Template',
'Version': '6'
}
},
]
},
'InstancesDistribution': {
'OnDemandBaseCapacity': 0,
'OnDemandPercentageAboveBaseCapacity': 0,
'SpotAllocationStrategy': 'capacity-optimized',
}
},
MinSize=0,
MaxSize=0,
DesiredCapacity=0,
AvailabilityZones=[
'string',
'string',
'string',
],
Tags=[
{
'ResourceId': 'TEST-ASG',
'ResourceType': 'auto-scaling-group',
'Key': 'Name',
'Value': 'TEST-ASG',
'PropagateAtLaunch': True
},
],
)
create_auto_scaling_group()
I am getting the following response and cant seem to find whats causing it:
Traceback (most recent call last):
File "c:/Users/bena/PycharmProjects/pythonProject/pythonProject/New/AutoScaleOverride.py", line 69, in <module>
create_auto_scaling_group()
File "c:/Users/bena/PycharmProjects/pythonProject/pythonProject/New/AutoScaleOverride.py", line 8, in create_auto_scaling_group
response = client.create_auto_scaling_group(
File "C:\Users\bena\AppData\Local\Programs\Python\Python38\lib\site-packages\botocore\client.py", line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\bena\AppData\Local\Programs\Python\Python38\lib\site-packages\botocore\client.py", line 676, in _make_api_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (ValidationError) when calling the CreateAutoScalingGroup operation: Valid requests must contain either LaunchTemplate, LaunchConfigurationName, InstanceId or MixedInstancesPolicy parameter.
On a separate aws-cli script I tried, it worked, meaning everything was created without errors.
First time trying this, so any help would be very much appreciated.
Thanks