aws-sdk-personalize 1.103.0

AWS SDK for Amazon Personalize
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>An object that describes the deployment of a solution version. For more information on campaigns, see <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_CreateCampaign.html">CreateCampaign</a>.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Campaign {
    /// <p>The name of the campaign.</p>
    pub name: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the campaign.</p>
    pub campaign_arn: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Resource Name (ARN) of the solution version the campaign uses.</p>
    pub solution_version_arn: ::std::option::Option<::std::string::String>,
    /// <p>Specifies the requested minimum provisioned transactions (recommendations) per second. A high <code>minProvisionedTPS</code> will increase your bill. We recommend starting with 1 for <code>minProvisionedTPS</code> (the default). Track your usage using Amazon CloudWatch metrics, and increase the <code>minProvisionedTPS</code> as necessary.</p>
    pub min_provisioned_tps: ::std::option::Option<i32>,
    /// <p>The configuration details of a campaign.</p>
    pub campaign_config: ::std::option::Option<crate::types::CampaignConfig>,
    /// <p>The status of the campaign.</p>
    /// <p>A campaign can be in one of the following states:</p>
    /// <ul>
    /// <li>
    /// <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p></li>
    /// <li>
    /// <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p></li>
    /// </ul>
    pub status: ::std::option::Option<::std::string::String>,
    /// <p>If a campaign fails, the reason behind the failure.</p>
    pub failure_reason: ::std::option::Option<::std::string::String>,
    /// <p>The date and time (in Unix format) that the campaign was created.</p>
    pub creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>The date and time (in Unix format) that the campaign was last updated.</p>
    pub last_updated_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>Provides a summary of the properties of a campaign update. For a complete listing, call the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeCampaign.html">DescribeCampaign</a> API.</p><note>
    /// <p>The <code>latestCampaignUpdate</code> field is only returned when the campaign has had at least one <code>UpdateCampaign</code> call.</p>
    /// </note>
    pub latest_campaign_update: ::std::option::Option<crate::types::CampaignUpdateSummary>,
}
impl Campaign {
    /// <p>The name of the campaign.</p>
    pub fn name(&self) -> ::std::option::Option<&str> {
        self.name.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the campaign.</p>
    pub fn campaign_arn(&self) -> ::std::option::Option<&str> {
        self.campaign_arn.as_deref()
    }
    /// <p>The Amazon Resource Name (ARN) of the solution version the campaign uses.</p>
    pub fn solution_version_arn(&self) -> ::std::option::Option<&str> {
        self.solution_version_arn.as_deref()
    }
    /// <p>Specifies the requested minimum provisioned transactions (recommendations) per second. A high <code>minProvisionedTPS</code> will increase your bill. We recommend starting with 1 for <code>minProvisionedTPS</code> (the default). Track your usage using Amazon CloudWatch metrics, and increase the <code>minProvisionedTPS</code> as necessary.</p>
    pub fn min_provisioned_tps(&self) -> ::std::option::Option<i32> {
        self.min_provisioned_tps
    }
    /// <p>The configuration details of a campaign.</p>
    pub fn campaign_config(&self) -> ::std::option::Option<&crate::types::CampaignConfig> {
        self.campaign_config.as_ref()
    }
    /// <p>The status of the campaign.</p>
    /// <p>A campaign can be in one of the following states:</p>
    /// <ul>
    /// <li>
    /// <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p></li>
    /// <li>
    /// <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p></li>
    /// </ul>
    pub fn status(&self) -> ::std::option::Option<&str> {
        self.status.as_deref()
    }
    /// <p>If a campaign fails, the reason behind the failure.</p>
    pub fn failure_reason(&self) -> ::std::option::Option<&str> {
        self.failure_reason.as_deref()
    }
    /// <p>The date and time (in Unix format) that the campaign was created.</p>
    pub fn creation_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.creation_date_time.as_ref()
    }
    /// <p>The date and time (in Unix format) that the campaign was last updated.</p>
    pub fn last_updated_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.last_updated_date_time.as_ref()
    }
    /// <p>Provides a summary of the properties of a campaign update. For a complete listing, call the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeCampaign.html">DescribeCampaign</a> API.</p><note>
    /// <p>The <code>latestCampaignUpdate</code> field is only returned when the campaign has had at least one <code>UpdateCampaign</code> call.</p>
    /// </note>
    pub fn latest_campaign_update(&self) -> ::std::option::Option<&crate::types::CampaignUpdateSummary> {
        self.latest_campaign_update.as_ref()
    }
}
impl Campaign {
    /// Creates a new builder-style object to manufacture [`Campaign`](crate::types::Campaign).
    pub fn builder() -> crate::types::builders::CampaignBuilder {
        crate::types::builders::CampaignBuilder::default()
    }
}

/// A builder for [`Campaign`](crate::types::Campaign).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CampaignBuilder {
    pub(crate) name: ::std::option::Option<::std::string::String>,
    pub(crate) campaign_arn: ::std::option::Option<::std::string::String>,
    pub(crate) solution_version_arn: ::std::option::Option<::std::string::String>,
    pub(crate) min_provisioned_tps: ::std::option::Option<i32>,
    pub(crate) campaign_config: ::std::option::Option<crate::types::CampaignConfig>,
    pub(crate) status: ::std::option::Option<::std::string::String>,
    pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
    pub(crate) creation_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) last_updated_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) latest_campaign_update: ::std::option::Option<crate::types::CampaignUpdateSummary>,
}
impl CampaignBuilder {
    /// <p>The name of the campaign.</p>
    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the campaign.</p>
    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.name = input;
        self
    }
    /// <p>The name of the campaign.</p>
    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.name
    }
    /// <p>The Amazon Resource Name (ARN) of the campaign.</p>
    pub fn campaign_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.campaign_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the campaign.</p>
    pub fn set_campaign_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.campaign_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the campaign.</p>
    pub fn get_campaign_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.campaign_arn
    }
    /// <p>The Amazon Resource Name (ARN) of the solution version the campaign uses.</p>
    pub fn solution_version_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.solution_version_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the solution version the campaign uses.</p>
    pub fn set_solution_version_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.solution_version_arn = input;
        self
    }
    /// <p>The Amazon Resource Name (ARN) of the solution version the campaign uses.</p>
    pub fn get_solution_version_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.solution_version_arn
    }
    /// <p>Specifies the requested minimum provisioned transactions (recommendations) per second. A high <code>minProvisionedTPS</code> will increase your bill. We recommend starting with 1 for <code>minProvisionedTPS</code> (the default). Track your usage using Amazon CloudWatch metrics, and increase the <code>minProvisionedTPS</code> as necessary.</p>
    pub fn min_provisioned_tps(mut self, input: i32) -> Self {
        self.min_provisioned_tps = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies the requested minimum provisioned transactions (recommendations) per second. A high <code>minProvisionedTPS</code> will increase your bill. We recommend starting with 1 for <code>minProvisionedTPS</code> (the default). Track your usage using Amazon CloudWatch metrics, and increase the <code>minProvisionedTPS</code> as necessary.</p>
    pub fn set_min_provisioned_tps(mut self, input: ::std::option::Option<i32>) -> Self {
        self.min_provisioned_tps = input;
        self
    }
    /// <p>Specifies the requested minimum provisioned transactions (recommendations) per second. A high <code>minProvisionedTPS</code> will increase your bill. We recommend starting with 1 for <code>minProvisionedTPS</code> (the default). Track your usage using Amazon CloudWatch metrics, and increase the <code>minProvisionedTPS</code> as necessary.</p>
    pub fn get_min_provisioned_tps(&self) -> &::std::option::Option<i32> {
        &self.min_provisioned_tps
    }
    /// <p>The configuration details of a campaign.</p>
    pub fn campaign_config(mut self, input: crate::types::CampaignConfig) -> Self {
        self.campaign_config = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration details of a campaign.</p>
    pub fn set_campaign_config(mut self, input: ::std::option::Option<crate::types::CampaignConfig>) -> Self {
        self.campaign_config = input;
        self
    }
    /// <p>The configuration details of a campaign.</p>
    pub fn get_campaign_config(&self) -> &::std::option::Option<crate::types::CampaignConfig> {
        &self.campaign_config
    }
    /// <p>The status of the campaign.</p>
    /// <p>A campaign can be in one of the following states:</p>
    /// <ul>
    /// <li>
    /// <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p></li>
    /// <li>
    /// <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p></li>
    /// </ul>
    pub fn status(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.status = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The status of the campaign.</p>
    /// <p>A campaign can be in one of the following states:</p>
    /// <ul>
    /// <li>
    /// <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p></li>
    /// <li>
    /// <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p></li>
    /// </ul>
    pub fn set_status(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.status = input;
        self
    }
    /// <p>The status of the campaign.</p>
    /// <p>A campaign can be in one of the following states:</p>
    /// <ul>
    /// <li>
    /// <p>CREATE PENDING &gt; CREATE IN_PROGRESS &gt; ACTIVE -or- CREATE FAILED</p></li>
    /// <li>
    /// <p>DELETE PENDING &gt; DELETE IN_PROGRESS</p></li>
    /// </ul>
    pub fn get_status(&self) -> &::std::option::Option<::std::string::String> {
        &self.status
    }
    /// <p>If a campaign fails, the reason behind the failure.</p>
    pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.failure_reason = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>If a campaign fails, the reason behind the failure.</p>
    pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.failure_reason = input;
        self
    }
    /// <p>If a campaign fails, the reason behind the failure.</p>
    pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
        &self.failure_reason
    }
    /// <p>The date and time (in Unix format) that the campaign was created.</p>
    pub fn creation_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.creation_date_time = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date and time (in Unix format) that the campaign was created.</p>
    pub fn set_creation_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.creation_date_time = input;
        self
    }
    /// <p>The date and time (in Unix format) that the campaign was created.</p>
    pub fn get_creation_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.creation_date_time
    }
    /// <p>The date and time (in Unix format) that the campaign was last updated.</p>
    pub fn last_updated_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.last_updated_date_time = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date and time (in Unix format) that the campaign was last updated.</p>
    pub fn set_last_updated_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.last_updated_date_time = input;
        self
    }
    /// <p>The date and time (in Unix format) that the campaign was last updated.</p>
    pub fn get_last_updated_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.last_updated_date_time
    }
    /// <p>Provides a summary of the properties of a campaign update. For a complete listing, call the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeCampaign.html">DescribeCampaign</a> API.</p><note>
    /// <p>The <code>latestCampaignUpdate</code> field is only returned when the campaign has had at least one <code>UpdateCampaign</code> call.</p>
    /// </note>
    pub fn latest_campaign_update(mut self, input: crate::types::CampaignUpdateSummary) -> Self {
        self.latest_campaign_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Provides a summary of the properties of a campaign update. For a complete listing, call the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeCampaign.html">DescribeCampaign</a> API.</p><note>
    /// <p>The <code>latestCampaignUpdate</code> field is only returned when the campaign has had at least one <code>UpdateCampaign</code> call.</p>
    /// </note>
    pub fn set_latest_campaign_update(mut self, input: ::std::option::Option<crate::types::CampaignUpdateSummary>) -> Self {
        self.latest_campaign_update = input;
        self
    }
    /// <p>Provides a summary of the properties of a campaign update. For a complete listing, call the <a href="https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeCampaign.html">DescribeCampaign</a> API.</p><note>
    /// <p>The <code>latestCampaignUpdate</code> field is only returned when the campaign has had at least one <code>UpdateCampaign</code> call.</p>
    /// </note>
    pub fn get_latest_campaign_update(&self) -> &::std::option::Option<crate::types::CampaignUpdateSummary> {
        &self.latest_campaign_update
    }
    /// Consumes the builder and constructs a [`Campaign`](crate::types::Campaign).
    pub fn build(self) -> crate::types::Campaign {
        crate::types::Campaign {
            name: self.name,
            campaign_arn: self.campaign_arn,
            solution_version_arn: self.solution_version_arn,
            min_provisioned_tps: self.min_provisioned_tps,
            campaign_config: self.campaign_config,
            status: self.status,
            failure_reason: self.failure_reason,
            creation_date_time: self.creation_date_time,
            last_updated_date_time: self.last_updated_date_time,
            latest_campaign_update: self.latest_campaign_update,
        }
    }
}