Я использую этот код для создания экземпляра RDS (PostgreSQL в моем случае) через CloudFormation:
cf_client = boto3.client('cloudformation')
template = open("my_rds.yaml", 'r').read()
cf_client.validate_template(TemplateBody=template)
stack_result = cf_client.create_stack(**params)
waiter = cf_client.get_waiter('stack_create_complete')
print("waiting for stack to be ready...")
waiter.wait(StackName=stack_name)
Это работает нормально, если экземпляр еще не создан. В последнем случае будет выдано исключение. Каков хороший способ справиться с этой ситуацией, например, сборка, только если необходимо, в противном случае продолжить? Я знаю, что можно проверить, существует ли уже экземпляр, используя boto3 describe_db_instances
или для некоторых примеров, которые я нашел в Интернете, попробуйте / поймайте некоторые исключения. Но мне интересно, есть ли лучший способ сделать это.