Struct aws_manager::ec2::Droplet
source · pub struct Droplet {
pub instance_id: String,
pub launched_at_utc: DateTime<Utc>,
pub instance_state_code: i32,
pub instance_state_name: String,
pub availability_zone: String,
pub public_hostname: String,
pub public_ipv4: String,
pub block_device_mappings: Vec<BlockDeviceMapping>,
}Expand description
Represents the underlying EC2 instance.
Fields§
§instance_id: String§launched_at_utc: DateTime<Utc>Represents the data format in RFC3339. ref. https://serde.rs/custom-date-format.html
instance_state_code: i32§instance_state_name: String§availability_zone: String§public_hostname: String§public_ipv4: String§block_device_mappings: Vec<BlockDeviceMapping>Implementations§
source§impl Droplet
impl Droplet
sourcepub fn new(inst: &Instance) -> Self
pub fn new(inst: &Instance) -> Self
Examples found in repository?
src/ec2/mod.rs (line 480)
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485
pub async fn list_asg(&self, asg_name: &str) -> Result<Vec<Droplet>> {
let filter = Filter::builder()
.set_name(Some(String::from("tag:aws:autoscaling:groupName")))
.set_values(Some(vec![String::from(asg_name)]))
.build();
let resp = match self
.cli
.describe_instances()
.set_filters(Some(vec![filter]))
.send()
.await
{
Ok(r) => r,
Err(e) => {
return Err(API {
message: format!("failed describe_instances {:?}", e),
is_retryable: is_error_retryable(&e),
});
}
};
let reservations = match resp.reservations {
Some(rvs) => rvs,
None => {
log::warn!("empty reservation from describe_instances response");
return Ok(vec![]);
}
};
let mut droplets: Vec<Droplet> = Vec::new();
for rsv in reservations.iter() {
let instances = rsv.instances().unwrap();
for instance in instances {
let instance_id = instance.instance_id().unwrap();
log::info!("instance {}", instance_id);
droplets.push(Droplet::new(instance));
}
}
Ok(droplets)
}Trait Implementations§
source§impl<'de> Deserialize<'de> for Droplet
impl<'de> Deserialize<'de> for Droplet
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<Droplet> for Droplet
impl PartialEq<Droplet> for Droplet
impl Eq for Droplet
impl StructuralEq for Droplet
impl StructuralPartialEq for Droplet
Auto Trait Implementations§
impl RefUnwindSafe for Droplet
impl Send for Droplet
impl Sync for Droplet
impl Unpin for Droplet
impl UnwindSafe for Droplet
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.