Где я могу найти информацию о таких функциях, как .filter () или .all () в библиотеке python boto3. Я использую в следующем коде, и он отображает всю информацию правильно.
импорт boto3
def Diff (li1, li2):
возврат (список (набор (li1) ^ набор (li2)))
def my_handler (событие, контекст):
Custom_filters_ec2=[{'Name': 'tag:Project','Values': ['Himanshu']},{'Name': 'tag:Email','Values': ['hima']},{'Name':'instance-state-name','Values':['running','stopped']}
]
Custom_filters_all=[{'Name': 'tag:Project','Values': ['Himanshu']},{'Name': 'tag:Email','Values': ['hima']},]
ec2=boto3.resource('ec2',region_name='us-east-1')
ec=boto3.client('ec2',region_name='us-east-1')
#Terminate Instances
valid_instance=ec2.instances.filter(Filters=Custom_filters_ec2)
all_instance=iec2.instances.all()
Untagged_Instances=[]
Untagged_Instances=Diff(valid_instance,all_instance)
for i in Untagged_Instances:
i.terminate()
#Terminate Snapshot
valid_snapshots = ec2.snapshots.filter(Filters=Custom_filters_all).filter(OwnerIds=["XXXXXXXXXXXX"]).all()
all_snapshots = ec2.snapshots.filter(OwnerIds=["XXXXXXXXXXXX"]).all()
Untagged_snapshots=Diff(valid_snapshots,all_snapshots)
for i in Untagged_snapshots:
i.delete()
но когда я делаю это:
ec2.SecurityGroup.all () или ec2.SecurityGroup.filter (Filters = Custom_filters_all) я получаю следующую ошибку:
SG = ec2.SecurityGroup.filter (Фильтры = Custom_filters_all)
AttributeError: у объекта 'function' нет атрибута 'filter'
Я ищу документацию о том, как использовать эти функции, такие как .all()
или `.filter () или другие функции, которые не документированы.
Почему это работает на ec2, снимок, но не при попытке получить группу безопасности.