Меня смущает использование официантов boto3.Я хочу остановить экземпляры rds, которые находятся в состоянии available .Перед тем как остановиться, мне нужно внести некоторые изменения (развернутые экземпляры MultiAZ ни к одному).Поэтому я хочу подождать, пока экземпляр не будет изменен, и быть в доступном состоянии.Как я могу прийти через это. Вот мой сценарий:
import boto3
client = boto3.client('rds')
dbmultiAZ=[]
def lambda_handler(event,context):
response=client.describe_db_instances()
for i in response['DBInstances']:
if i['DBInstanceStatus'] == 'available':
dbmultiAZ.append(i['DBInstanceIdentifier'])
for j in dbmultiAZ:
if i['MultiAZ']==True:
response1 = client.modify_db_instance(
DBInstanceIdentifier=i['DBInstanceIdentifier'],
ApplyImmediately=True,
MultiAZ=False
)
dbmultiAZ.append(i['DBInstanceIdentifier'])
else:
dbmultiAZ.append(i['DBInstanceIdentifier'])
for z in dbmultiAZ:
waiter = client.get_waiter('db_instance_available')
waiter.wait(
DBInstanceIdentifier=z )
response2 = client.stop_db_instance(
DBInstanceIdentifier=z
)