summaryrefslogtreecommitdiff
path: root/src/converge.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/converge.rs')
-rw-r--r--src/converge.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/converge.rs b/src/converge.rs
index d25a82b..f0746f9 100644
--- a/src/converge.rs
+++ b/src/converge.rs
@@ -4,12 +4,11 @@ use std::fmt::Debug;
use anyhow::Result;
use aws_sdk_route53::types::ResourceRecordSet;
use futures::try_join;
-use trust_dns_proto::rr::Name;
use crate::autoscaling::{propose_asg_recordsets, AutoScaling};
use crate::ec2::Ec2;
use crate::hashable::Hashable;
-use crate::route53::{zone_actual_recordsets, zone_for_domain, Route53};
+use crate::route53::{zone_actual_recordsets, zone_for_name, Route53, Target};
#[derive(Debug)]
pub struct Changes<T> {
@@ -20,18 +19,17 @@ pub struct Changes<T> {
pub async fn named_asg_changes<C>(
aws_context: &C,
+ target: &Target,
asg_name: &str,
- dns_name: &Name,
- dns_ttl: i64,
) -> Result<Changes<impl IntoIterator<Item = ResourceRecordSet> + Debug>>
where
C: AutoScaling + Ec2 + Route53,
{
- let zone = zone_for_domain(aws_context, dns_name).await?;
+ let zone = zone_for_name(aws_context, target.name()).await?;
let (proposed, actual) = try_join!(
- propose_asg_recordsets(aws_context, asg_name, dns_name, dns_ttl),
- zone_actual_recordsets(aws_context, &zone.id, dns_name),
+ propose_asg_recordsets(aws_context, target, asg_name),
+ zone_actual_recordsets(aws_context, &zone.id, target.name()),
)?;
let changes = changes_for_records(&zone.id, &proposed, &actual);