1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateCampaign`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl ::std::convert::Into<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_name): <p> The name of the campaign to create. </p>
    ///   - [`description(impl ::std::convert::Into<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_description): <p>An optional description of the campaign to help identify its purpose.</p>
    ///   - [`signal_catalog_arn(impl ::std::convert::Into<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::signal_catalog_arn) / [`set_signal_catalog_arn(Option<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_signal_catalog_arn): <p>(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate with the campaign. </p>
    ///   - [`target_arn(impl ::std::convert::Into<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::target_arn) / [`set_target_arn(Option<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_target_arn): <p> The ARN of the vehicle or fleet to deploy a campaign to. </p>
    ///   - [`start_time(DateTime)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::start_time) / [`set_start_time(Option<DateTime>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_start_time): <p>(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If it's not specified, <code>0</code> is used.</p>  <p>Default: <code>0</code> </p>
    ///   - [`expiry_time(DateTime)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::expiry_time) / [`set_expiry_time(Option<DateTime>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_expiry_time): <p> (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires. </p>  <p>Default: 253402214400 (December 31, 9999, 00:00:00 UTC)</p>
    ///   - [`post_trigger_collection_duration(i64)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::post_trigger_collection_duration) / [`set_post_trigger_collection_duration(Option<i64>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_post_trigger_collection_duration): <p> (Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection. If it's not specified, <code>0</code> is used.</p>  <p>Default: <code>0</code> </p>
    ///   - [`diagnostics_mode(DiagnosticsMode)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::diagnostics_mode) / [`set_diagnostics_mode(Option<DiagnosticsMode>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_diagnostics_mode): <p> (Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use <code>SEND_ACTIVE_DTCS</code>. If it's not specified, <code>OFF</code> is used.</p>  <p>Default: <code>OFF</code> </p>
    ///   - [`spooling_mode(SpoolingMode)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::spooling_mode) / [`set_spooling_mode(Option<SpoolingMode>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_spooling_mode): <p>(Optional) Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the cloud, use <code>TO_DISK</code>. If it's not specified, <code>OFF</code> is used.</p>  <p>Default: <code>OFF</code> </p>
    ///   - [`compression(Compression)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::compression) / [`set_compression(Option<Compression>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_compression): <p> (Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you don't want to compress the signals, use <code>OFF</code>. If it's not specified, <code>SNAPPY</code> is used. </p>  <p>Default: <code>SNAPPY</code> </p>
    ///   - [`priority(i32)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::priority) / [`set_priority(Option<i32>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_priority): <p>(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, <code>0</code> is used. </p>  <p>Default: <code>0</code> </p>
    ///   - [`signals_to_collect(Vec<SignalInformation>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::signals_to_collect) / [`set_signals_to_collect(Option<Vec<SignalInformation>>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_signals_to_collect): <p>(Optional) A list of information about signals to collect. </p>
    ///   - [`collection_scheme(CollectionScheme)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::collection_scheme) / [`set_collection_scheme(Option<CollectionScheme>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_collection_scheme): <p> The data collection scheme associated with the campaign. You can specify a scheme that collects data based on time or an event.</p>
    ///   - [`data_extra_dimensions(Vec<String>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::data_extra_dimensions) / [`set_data_extra_dimensions(Option<Vec<String>>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_data_extra_dimensions): <p> (Optional) A list of vehicle attributes to associate with a campaign. </p>  <p>Enrich the data with specified vehicle attributes. For example, add <code>make</code> and <code>model</code> to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against <code>make</code> and <code>model</code>.</p>  <p>Default: An empty array</p>
    ///   - [`tags(Vec<Tag>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::set_tags): <p>Metadata that can be used to manage the campaign.</p>
    /// - On success, responds with [`CreateCampaignOutput`](crate::operation::create_campaign::CreateCampaignOutput) with field(s):
    ///   - [`name(Option<String>)`](crate::operation::create_campaign::CreateCampaignOutput::name): <p>The name of the created campaign.</p>
    ///   - [`arn(Option<String>)`](crate::operation::create_campaign::CreateCampaignOutput::arn): <p> The ARN of the created campaign. </p>
    /// - On failure, responds with [`SdkError<CreateCampaignError>`](crate::operation::create_campaign::CreateCampaignError)
    pub fn create_campaign(
        &self,
    ) -> crate::operation::create_campaign::builders::CreateCampaignFluentBuilder {
        crate::operation::create_campaign::builders::CreateCampaignFluentBuilder::new(
            self.handle.clone(),
        )
    }
}