pub struct EcsDeploy;Available on crate features
deploy and ecs_deploy only.Expand description
Represents an aws ecs deployment.
Implementations§
Source§impl EcsDeploy
impl EcsDeploy
Sourcepub fn add_ecs_process(&mut self) -> EcsDeployProcessSpec
pub fn add_ecs_process(&mut self) -> EcsDeployProcessSpec
Add an internal ecs process to the deployment.
Sourcepub fn add_ecs_cluster(&mut self, count: usize) -> EcsDeployClusterSpec
pub fn add_ecs_cluster(&mut self, count: usize) -> EcsDeployClusterSpec
Add an internal ecs cluster to the deployment.
Sourcepub fn add_external(&self, name: String) -> EcsDeployExternalSpec
pub fn add_external(&self, name: String) -> EcsDeployExternalSpec
Add an external process to the deployment.
Sourcepub fn export_for_cdk(&self, nodes: &DeployResult<'_, Self>) -> HydroManifest
pub fn export_for_cdk(&self, nodes: &DeployResult<'_, Self>) -> HydroManifest
Export deployment configuration for CDK consumption.
This generates a manifest with build instructions that can be consumed by CDK constructs. CDK will handle building the binaries and Docker images.
Trait Implementations§
Source§impl<'a> ClusterSpec<'a, EcsDeploy> for EcsDeployClusterSpec
impl<'a> ClusterSpec<'a, EcsDeploy> for EcsDeployClusterSpec
Source§impl<'a> Deploy<'a> for EcsDeploy
impl<'a> Deploy<'a> for EcsDeploy
Source§type InstantiateEnv = EcsDeploy
type InstantiateEnv = EcsDeploy
Available on crate feature
build only.Source§type Process = EcsDeployProcess
type Process = EcsDeployProcess
Available on crate feature
build only.Source§type Cluster = EcsDeployCluster
type Cluster = EcsDeployCluster
Available on crate feature
build only.Source§type External = EcsDeployExternal
type External = EcsDeployExternal
Available on crate feature
build only.Source§fn o2o_sink_source(
p1: &Self::Process,
p1_port: &<Self::Process as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
) -> (Expr, Expr)
fn o2o_sink_source( p1: &Self::Process, p1_port: &<Self::Process as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, ) -> (Expr, Expr)
Available on crate feature
build only.Source§fn o2o_connect(
p1: &Self::Process,
p1_port: &<Self::Process as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
) -> Box<dyn FnOnce()>
fn o2o_connect( p1: &Self::Process, p1_port: &<Self::Process as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, ) -> Box<dyn FnOnce()>
Available on crate feature
build only.Source§fn o2m_sink_source(
p1: &Self::Process,
p1_port: &<Self::Process as Node>::Port,
c2: &Self::Cluster,
c2_port: &<Self::Cluster as Node>::Port,
) -> (Expr, Expr)
fn o2m_sink_source( p1: &Self::Process, p1_port: &<Self::Process as Node>::Port, c2: &Self::Cluster, c2_port: &<Self::Cluster as Node>::Port, ) -> (Expr, Expr)
Available on crate feature
build only.Source§fn o2m_connect(
p1: &Self::Process,
p1_port: &<Self::Process as Node>::Port,
c2: &Self::Cluster,
c2_port: &<Self::Cluster as Node>::Port,
) -> Box<dyn FnOnce()>
fn o2m_connect( p1: &Self::Process, p1_port: &<Self::Process as Node>::Port, c2: &Self::Cluster, c2_port: &<Self::Cluster as Node>::Port, ) -> Box<dyn FnOnce()>
Available on crate feature
build only.Source§fn m2o_sink_source(
c1: &Self::Cluster,
c1_port: &<Self::Cluster as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
) -> (Expr, Expr)
fn m2o_sink_source( c1: &Self::Cluster, c1_port: &<Self::Cluster as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, ) -> (Expr, Expr)
Available on crate feature
build only.Source§fn m2o_connect(
c1: &Self::Cluster,
c1_port: &<Self::Cluster as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
) -> Box<dyn FnOnce()>
fn m2o_connect( c1: &Self::Cluster, c1_port: &<Self::Cluster as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, ) -> Box<dyn FnOnce()>
Available on crate feature
build only.Source§fn m2m_sink_source(
c1: &Self::Cluster,
c1_port: &<Self::Cluster as Node>::Port,
c2: &Self::Cluster,
c2_port: &<Self::Cluster as Node>::Port,
) -> (Expr, Expr)
fn m2m_sink_source( c1: &Self::Cluster, c1_port: &<Self::Cluster as Node>::Port, c2: &Self::Cluster, c2_port: &<Self::Cluster as Node>::Port, ) -> (Expr, Expr)
Available on crate feature
build only.Source§fn m2m_connect(
c1: &Self::Cluster,
c1_port: &<Self::Cluster as Node>::Port,
c2: &Self::Cluster,
c2_port: &<Self::Cluster as Node>::Port,
) -> Box<dyn FnOnce()>
fn m2m_connect( c1: &Self::Cluster, c1_port: &<Self::Cluster as Node>::Port, c2: &Self::Cluster, c2_port: &<Self::Cluster as Node>::Port, ) -> Box<dyn FnOnce()>
Available on crate feature
build only.Source§fn e2o_many_source(
extra_stmts: &mut Vec<Stmt>,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
codec_type: &Type,
shared_handle: String,
) -> Expr
fn e2o_many_source( extra_stmts: &mut Vec<Stmt>, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, codec_type: &Type, shared_handle: String, ) -> Expr
Available on crate feature
build only.Source§fn e2o_many_sink(shared_handle: String) -> Expr
fn e2o_many_sink(shared_handle: String) -> Expr
Available on crate feature
build only.Source§fn e2o_source(
extra_stmts: &mut Vec<Stmt>,
p1: &Self::External,
p1_port: &<Self::External as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
codec_type: &Type,
shared_handle: String,
) -> Expr
fn e2o_source( extra_stmts: &mut Vec<Stmt>, p1: &Self::External, p1_port: &<Self::External as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, codec_type: &Type, shared_handle: String, ) -> Expr
Available on crate feature
build only.Source§fn e2o_connect(
p1: &Self::External,
p1_port: &<Self::External as Node>::Port,
p2: &Self::Process,
p2_port: &<Self::Process as Node>::Port,
many: bool,
server_hint: NetworkHint,
) -> Box<dyn FnOnce()>
fn e2o_connect( p1: &Self::External, p1_port: &<Self::External as Node>::Port, p2: &Self::Process, p2_port: &<Self::Process as Node>::Port, many: bool, server_hint: NetworkHint, ) -> Box<dyn FnOnce()>
Available on crate feature
build only.Source§fn o2e_sink(
p1: &Self::Process,
p1_port: &<Self::Process as Node>::Port,
p2: &Self::External,
p2_port: &<Self::External as Node>::Port,
shared_handle: String,
) -> Expr
fn o2e_sink( p1: &Self::Process, p1_port: &<Self::Process as Node>::Port, p2: &Self::External, p2_port: &<Self::External as Node>::Port, shared_handle: String, ) -> Expr
Available on crate feature
build only.Source§fn cluster_ids(
of_cluster: LocationKey,
) -> impl QuotedWithContext<'a, &'a [TaglessMemberId], ()> + Clone + 'a
fn cluster_ids( of_cluster: LocationKey, ) -> impl QuotedWithContext<'a, &'a [TaglessMemberId], ()> + Clone + 'a
Available on crate feature
build only.Source§fn cluster_self_id() -> impl QuotedWithContext<'a, TaglessMemberId, ()> + Clone + 'a
fn cluster_self_id() -> impl QuotedWithContext<'a, TaglessMemberId, ()> + Clone + 'a
Available on crate feature
build only.Source§fn cluster_membership_stream(
location_id: &LocationId,
) -> impl QuotedWithContext<'a, Box<dyn Stream<Item = (TaglessMemberId, MembershipEvent)> + Unpin>, ()>
fn cluster_membership_stream( location_id: &LocationId, ) -> impl QuotedWithContext<'a, Box<dyn Stream<Item = (TaglessMemberId, MembershipEvent)> + Unpin>, ()>
Available on crate feature
build only.Source§impl<'a> ExternalSpec<'a, EcsDeploy> for EcsDeployExternalSpec
impl<'a> ExternalSpec<'a, EcsDeploy> for EcsDeployExternalSpec
Source§impl<'a> ProcessSpec<'a, EcsDeploy> for EcsDeployProcessSpec
impl<'a> ProcessSpec<'a, EcsDeploy> for EcsDeployProcessSpec
Source§impl<'a> RegisterPort<'a, EcsDeploy> for EcsDeployExternal
impl<'a> RegisterPort<'a, EcsDeploy> for EcsDeployExternal
Source§fn register(&self, external_port_id: ExternalPortId, port: Self::Port)
fn register(&self, external_port_id: ExternalPortId, port: Self::Port)
Available on crate feature
build only.Source§fn as_bytes_bidi(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = Result<BytesMut, Error>>>>, Pin<Box<dyn Sink<Bytes, Error = Error>>>)> + 'a
fn as_bytes_bidi( &self, _external_port_id: ExternalPortId, ) -> impl Future<Output = (Pin<Box<dyn Stream<Item = Result<BytesMut, Error>>>>, Pin<Box<dyn Sink<Bytes, Error = Error>>>)> + 'a
Available on crate feature
build only.Source§fn as_bincode_bidi<InT, OutT>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = OutT>>>, Pin<Box<dyn Sink<InT, Error = Error>>>)> + 'awhere
InT: Serialize + 'static,
OutT: DeserializeOwned + 'static,
fn as_bincode_bidi<InT, OutT>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = (Pin<Box<dyn Stream<Item = OutT>>>, Pin<Box<dyn Sink<InT, Error = Error>>>)> + 'awhere
InT: Serialize + 'static,
OutT: DeserializeOwned + 'static,
Available on crate feature
build only.Source§fn as_bincode_sink<T>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = Pin<Box<dyn Sink<T, Error = Error>>>> + 'awhere
T: Serialize + 'static,
fn as_bincode_sink<T>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = Pin<Box<dyn Sink<T, Error = Error>>>> + 'awhere
T: Serialize + 'static,
Available on crate feature
build only.Source§fn as_bincode_source<T>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = Pin<Box<dyn Stream<Item = T>>>> + 'awhere
T: DeserializeOwned + 'static,
fn as_bincode_source<T>(
&self,
_external_port_id: ExternalPortId,
) -> impl Future<Output = Pin<Box<dyn Stream<Item = T>>>> + 'awhere
T: DeserializeOwned + 'static,
Available on crate feature
build only.Auto Trait Implementations§
impl Freeze for EcsDeploy
impl RefUnwindSafe for EcsDeploy
impl Send for EcsDeploy
impl Sync for EcsDeploy
impl Unpin for EcsDeploy
impl UnwindSafe for EcsDeploy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.