#[non_exhaustive]pub struct DeploymentLifecycleHook {
pub hook_target_arn: Option<String>,
pub role_arn: Option<String>,
pub lifecycle_stages: Option<Vec<DeploymentLifecycleHookStage>>,
}
Expand description
A deployment lifecycle hook runs custom logic at specific stages of the deployment process. Currently, you can use Lambda functions as hook targets.
For more information, see Lifecycle hooks for Amazon ECS service deployments in the Amazon Elastic Container Service Developer Guide.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.hook_target_arn: Option<String>
The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.
You must provide this parameter when configuring a deployment lifecycle hook.
role_arn: Option<String>
The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.
For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
lifecycle_stages: Option<Vec<DeploymentLifecycleHookStage>>
The lifecycle stages at which to run the hook. Choose from these valid values:
-
RECONCILE_SERVICE
The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.
You can use a lifecycle hook for this stage.
-
PRE_SCALE_UP
The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
You can use a lifecycle hook for this stage.
-
POST_SCALE_UP
The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
You can use a lifecycle hook for this stage.
-
TEST_TRAFFIC_SHIFT
The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.
You can use a lifecycle hook for this stage.
-
POST_TEST_TRAFFIC_SHIFT
The test traffic shift is complete. The green service revision handles 100% of the test traffic.
You can use a lifecycle hook for this stage.
-
PRODUCTION_TRAFFIC_SHIFT
Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.
You can use a lifecycle hook for this stage.
-
POST_PRODUCTION_TRAFFIC_SHIFT
The production traffic shift is complete.
You can use a lifecycle hook for this stage.
You must provide this parameter when configuring a deployment lifecycle hook.
Implementations§
Source§impl DeploymentLifecycleHook
impl DeploymentLifecycleHook
Sourcepub fn hook_target_arn(&self) -> Option<&str>
pub fn hook_target_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.
You must provide this parameter when configuring a deployment lifecycle hook.
Sourcepub fn role_arn(&self) -> Option<&str>
pub fn role_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.
For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
Sourcepub fn lifecycle_stages(&self) -> &[DeploymentLifecycleHookStage]
pub fn lifecycle_stages(&self) -> &[DeploymentLifecycleHookStage]
The lifecycle stages at which to run the hook. Choose from these valid values:
-
RECONCILE_SERVICE
The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.
You can use a lifecycle hook for this stage.
-
PRE_SCALE_UP
The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
You can use a lifecycle hook for this stage.
-
POST_SCALE_UP
The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
You can use a lifecycle hook for this stage.
-
TEST_TRAFFIC_SHIFT
The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.
You can use a lifecycle hook for this stage.
-
POST_TEST_TRAFFIC_SHIFT
The test traffic shift is complete. The green service revision handles 100% of the test traffic.
You can use a lifecycle hook for this stage.
-
PRODUCTION_TRAFFIC_SHIFT
Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.
You can use a lifecycle hook for this stage.
-
POST_PRODUCTION_TRAFFIC_SHIFT
The production traffic shift is complete.
You can use a lifecycle hook for this stage.
You must provide this parameter when configuring a deployment lifecycle hook.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .lifecycle_stages.is_none()
.
Source§impl DeploymentLifecycleHook
impl DeploymentLifecycleHook
Sourcepub fn builder() -> DeploymentLifecycleHookBuilder
pub fn builder() -> DeploymentLifecycleHookBuilder
Creates a new builder-style object to manufacture DeploymentLifecycleHook
.
Trait Implementations§
Source§impl Clone for DeploymentLifecycleHook
impl Clone for DeploymentLifecycleHook
Source§fn clone(&self) -> DeploymentLifecycleHook
fn clone(&self) -> DeploymentLifecycleHook
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DeploymentLifecycleHook
impl Debug for DeploymentLifecycleHook
Source§impl PartialEq for DeploymentLifecycleHook
impl PartialEq for DeploymentLifecycleHook
impl StructuralPartialEq for DeploymentLifecycleHook
Auto Trait Implementations§
impl Freeze for DeploymentLifecycleHook
impl RefUnwindSafe for DeploymentLifecycleHook
impl Send for DeploymentLifecycleHook
impl Sync for DeploymentLifecycleHook
impl Unpin for DeploymentLifecycleHook
impl UnwindSafe for DeploymentLifecycleHook
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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>
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);