1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateLifecyclePolicy`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_name):<br>required: **true**<br><p>The name of the lifecycle policy to create.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_description):<br>required: **false**<br><p>Optional description for the lifecycle policy.</p><br>
    ///   - [`status(LifecyclePolicyStatus)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::status) / [`set_status(Option<LifecyclePolicyStatus>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_status):<br>required: **false**<br><p>Indicates whether the lifecycle policy resource is enabled.</p><br>
    ///   - [`execution_role(impl Into<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::execution_role) / [`set_execution_role(Option<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_execution_role):<br>required: **true**<br><p>The role name or Amazon Resource Name (ARN) for the IAM role that grants Image Builder access to run lifecycle actions.</p><br>
    ///   - [`resource_type(LifecyclePolicyResourceType)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::resource_type) / [`set_resource_type(Option<LifecyclePolicyResourceType>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_resource_type):<br>required: **true**<br><p>The type of Image Builder resource that the lifecycle policy applies to.</p><br>
    ///   - [`policy_details(LifecyclePolicyDetail)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::policy_details) / [`set_policy_details(Option<Vec::<LifecyclePolicyDetail>>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_policy_details):<br>required: **true**<br><p>Configuration details for the lifecycle policy rules.</p><br>
    ///   - [`resource_selection(LifecyclePolicyResourceSelection)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::resource_selection) / [`set_resource_selection(Option<LifecyclePolicyResourceSelection>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_resource_selection):<br>required: **true**<br><p>Selection criteria for the resources that the lifecycle policy applies to. </p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_tags):<br>required: **false**<br><p>Tags to apply to the lifecycle policy resource.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::set_client_token):<br>required: **true**<br><p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p><br>
    /// - On success, responds with [`CreateLifecyclePolicyOutput`](crate::operation::create_lifecycle_policy::CreateLifecyclePolicyOutput) with field(s):
    ///   - [`client_token(Option<String>)`](crate::operation::create_lifecycle_policy::CreateLifecyclePolicyOutput::client_token): <p>The client token that uniquely identifies the request.</p>
    ///   - [`lifecycle_policy_arn(Option<String>)`](crate::operation::create_lifecycle_policy::CreateLifecyclePolicyOutput::lifecycle_policy_arn): <p>The Amazon Resource Name (ARN) of the lifecycle policy that the request created.</p>
    /// - On failure, responds with [`SdkError<CreateLifecyclePolicyError>`](crate::operation::create_lifecycle_policy::CreateLifecyclePolicyError)
    pub fn create_lifecycle_policy(&self) -> crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder {
        crate::operation::create_lifecycle_policy::builders::CreateLifecyclePolicyFluentBuilder::new(self.handle.clone())
    }
}