[−][src]Macro rusoto_ec2::filter
Filter
structure is a bit verbose to set up, and since it is used in many places
filter!
macro provides an ergononic way of creating it.
filter!
expects its arguments to be ToString
.
The first argument is the name field of the Filter
, while the rest of them (if any) become the values.
Filter
structure is used in various Ec2Client::describe_*()
calls.
For example:
let filter = filter!("region-name", "us-east-1"); let input = DescribeAvailabilityZonesRequest { filters: Some(vec![filter]), ..DescribeAvailabilityZonesRequest::default() }; let output = Ec2Client::new(Region::default()) .describe_availability_zones(input) .await?;
let empty = filter!("empty"); let direct = rusoto_ec2::Filter { name: Some(String::from("empty")), values: Some(vec![]) }; assert_eq!(empty, direct); let single = filter!("owner", "bozo"); let direct = rusoto_ec2::Filter { name: Some(String::from("owner")), values: Some(vec![String::from("bozo")]) }; assert_eq!(single, direct); let list = filter!("groups", "sg-xxxxx", "sg-yyyyy"); let direct = rusoto_ec2::Filter { name: Some(String::from("groups")), values: Some( vec![ String::from("sg-xxxxx"), String::from("sg-yyyyy"), ]) }; assert_eq!(list, direct);