#[non_exhaustive]pub struct Automation {
pub name: String,
pub uid: String,
pub description: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub annotations: HashMap<String, String>,
pub labels: HashMap<String, String>,
pub etag: String,
pub suspended: bool,
pub service_account: String,
pub selector: Option<AutomationResourceSelector>,
pub rules: Vec<AutomationRule>,
/* private fields */
}
Expand description
An Automation
resource in the Cloud Deploy API.
An Automation
enables the automation of manually driven actions for
a Delivery Pipeline, which includes Release promotion among Targets,
Rollout repair and Rollout deployment strategy advancement. The intention
of Automation is to reduce manual intervention in the continuous delivery
process.
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.name: String
Output only. Name of the Automation
. Format is
projects/{project}/locations/{location}/deliveryPipelines/{delivery_pipeline}/automations/{automation}
.
uid: String
Output only. Unique identifier of the Automation
.
description: String
Optional. Description of the Automation
. Max length is 255 characters.
create_time: Option<Timestamp>
Output only. Time at which the automation was created.
update_time: Option<Timestamp>
Output only. Time at which the automation was updated.
annotations: HashMap<String, String>
Optional. User annotations. These attributes can only be set and used by the user, and not by Cloud Deploy. Annotations must meet the following constraints:
- Annotations are key/value pairs.
- Valid annotation keys have two segments: an optional prefix and name,
separated by a slash (
/
). - The name segment is required and must be 63 characters or less,
beginning and ending with an alphanumeric character (
[a-z0-9A-Z]
) with dashes (-
), underscores (_
), dots (.
), and alphanumerics between. - The prefix is optional. If specified, the prefix must be a DNS subdomain:
a series of DNS labels separated by dots(
.
), not longer than 253 characters in total, followed by a slash (/
).
See https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set for more details.
labels: HashMap<String, String>
Optional. Labels are attributes that can be set and used by both the user and by Cloud Deploy. Labels must meet the following constraints:
- Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes.
- All characters must use UTF-8 encoding, and international characters are allowed.
- Keys must start with a lowercase letter or international character.
- Each resource is limited to a maximum of 64 labels.
Both keys and values are additionally constrained to be <= 63 characters.
etag: String
Optional. The weak etag of the Automation
resource.
This checksum is computed by the server based on the value of other
fields, and may be sent on update and delete requests to ensure the
client has an up-to-date value before proceeding.
suspended: bool
Optional. When Suspended, automation is deactivated from execution.
service_account: String
Required. Email address of the user-managed IAM service account that creates Cloud Deploy release and rollout resources.
selector: Option<AutomationResourceSelector>
Required. Selected resources to which the automation will be applied.
rules: Vec<AutomationRule>
Required. List of Automation rules associated with the Automation resource. Must have at least one rule and limited to 250 rules per Delivery Pipeline. Note: the order of the rules here is not the same as the order of execution.
Implementations§
Source§impl Automation
impl Automation
pub fn new() -> Self
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
Sourcepub fn set_annotations<T, K, V>(self, v: T) -> Self
pub fn set_annotations<T, K, V>(self, v: T) -> Self
Sets the value of annotations.
Sourcepub fn set_labels<T, K, V>(self, v: T) -> Self
pub fn set_labels<T, K, V>(self, v: T) -> Self
Sets the value of labels.
Sourcepub fn set_suspended<T: Into<bool>>(self, v: T) -> Self
pub fn set_suspended<T: Into<bool>>(self, v: T) -> Self
Sets the value of suspended.
Sourcepub fn set_service_account<T: Into<String>>(self, v: T) -> Self
pub fn set_service_account<T: Into<String>>(self, v: T) -> Self
Sets the value of service_account.
Sourcepub fn set_selector<T>(self, v: T) -> Selfwhere
T: Into<AutomationResourceSelector>,
pub fn set_selector<T>(self, v: T) -> Selfwhere
T: Into<AutomationResourceSelector>,
Sets the value of selector.
Sourcepub fn set_or_clear_selector<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutomationResourceSelector>,
pub fn set_or_clear_selector<T>(self, v: Option<T>) -> Selfwhere
T: Into<AutomationResourceSelector>,
Sets or clears the value of selector.
Trait Implementations§
Source§impl Clone for Automation
impl Clone for Automation
Source§fn clone(&self) -> Automation
fn clone(&self) -> Automation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more