aws_sdk_connectcampaigns/operation/create_campaign/
_create_campaign_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// The request for Create Campaign API.
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateCampaignInput {
7    /// The name of an Amazon Connect Campaign name.
8    pub name: ::std::option::Option<::std::string::String>,
9    /// Amazon Connect Instance Id
10    pub connect_instance_id: ::std::option::Option<::std::string::String>,
11    /// The possible types of dialer config parameters
12    pub dialer_config: ::std::option::Option<crate::types::DialerConfig>,
13    /// The configuration used for outbound calls.
14    pub outbound_call_config: ::std::option::Option<crate::types::OutboundCallConfig>,
15    /// Tag map with key and value.
16    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
17}
18impl CreateCampaignInput {
19    /// The name of an Amazon Connect Campaign name.
20    pub fn name(&self) -> ::std::option::Option<&str> {
21        self.name.as_deref()
22    }
23    /// Amazon Connect Instance Id
24    pub fn connect_instance_id(&self) -> ::std::option::Option<&str> {
25        self.connect_instance_id.as_deref()
26    }
27    /// The possible types of dialer config parameters
28    pub fn dialer_config(&self) -> ::std::option::Option<&crate::types::DialerConfig> {
29        self.dialer_config.as_ref()
30    }
31    /// The configuration used for outbound calls.
32    pub fn outbound_call_config(&self) -> ::std::option::Option<&crate::types::OutboundCallConfig> {
33        self.outbound_call_config.as_ref()
34    }
35    /// Tag map with key and value.
36    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
37        self.tags.as_ref()
38    }
39}
40impl CreateCampaignInput {
41    /// Creates a new builder-style object to manufacture [`CreateCampaignInput`](crate::operation::create_campaign::CreateCampaignInput).
42    pub fn builder() -> crate::operation::create_campaign::builders::CreateCampaignInputBuilder {
43        crate::operation::create_campaign::builders::CreateCampaignInputBuilder::default()
44    }
45}
46
47/// A builder for [`CreateCampaignInput`](crate::operation::create_campaign::CreateCampaignInput).
48#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
49#[non_exhaustive]
50pub struct CreateCampaignInputBuilder {
51    pub(crate) name: ::std::option::Option<::std::string::String>,
52    pub(crate) connect_instance_id: ::std::option::Option<::std::string::String>,
53    pub(crate) dialer_config: ::std::option::Option<crate::types::DialerConfig>,
54    pub(crate) outbound_call_config: ::std::option::Option<crate::types::OutboundCallConfig>,
55    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
56}
57impl CreateCampaignInputBuilder {
58    /// The name of an Amazon Connect Campaign name.
59    /// This field is required.
60    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
61        self.name = ::std::option::Option::Some(input.into());
62        self
63    }
64    /// The name of an Amazon Connect Campaign name.
65    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
66        self.name = input;
67        self
68    }
69    /// The name of an Amazon Connect Campaign name.
70    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
71        &self.name
72    }
73    /// Amazon Connect Instance Id
74    /// This field is required.
75    pub fn connect_instance_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
76        self.connect_instance_id = ::std::option::Option::Some(input.into());
77        self
78    }
79    /// Amazon Connect Instance Id
80    pub fn set_connect_instance_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
81        self.connect_instance_id = input;
82        self
83    }
84    /// Amazon Connect Instance Id
85    pub fn get_connect_instance_id(&self) -> &::std::option::Option<::std::string::String> {
86        &self.connect_instance_id
87    }
88    /// The possible types of dialer config parameters
89    /// This field is required.
90    pub fn dialer_config(mut self, input: crate::types::DialerConfig) -> Self {
91        self.dialer_config = ::std::option::Option::Some(input);
92        self
93    }
94    /// The possible types of dialer config parameters
95    pub fn set_dialer_config(mut self, input: ::std::option::Option<crate::types::DialerConfig>) -> Self {
96        self.dialer_config = input;
97        self
98    }
99    /// The possible types of dialer config parameters
100    pub fn get_dialer_config(&self) -> &::std::option::Option<crate::types::DialerConfig> {
101        &self.dialer_config
102    }
103    /// The configuration used for outbound calls.
104    /// This field is required.
105    pub fn outbound_call_config(mut self, input: crate::types::OutboundCallConfig) -> Self {
106        self.outbound_call_config = ::std::option::Option::Some(input);
107        self
108    }
109    /// The configuration used for outbound calls.
110    pub fn set_outbound_call_config(mut self, input: ::std::option::Option<crate::types::OutboundCallConfig>) -> Self {
111        self.outbound_call_config = input;
112        self
113    }
114    /// The configuration used for outbound calls.
115    pub fn get_outbound_call_config(&self) -> &::std::option::Option<crate::types::OutboundCallConfig> {
116        &self.outbound_call_config
117    }
118    /// Adds a key-value pair to `tags`.
119    ///
120    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
121    ///
122    /// Tag map with key and value.
123    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
124        let mut hash_map = self.tags.unwrap_or_default();
125        hash_map.insert(k.into(), v.into());
126        self.tags = ::std::option::Option::Some(hash_map);
127        self
128    }
129    /// Tag map with key and value.
130    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
131        self.tags = input;
132        self
133    }
134    /// Tag map with key and value.
135    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
136        &self.tags
137    }
138    /// Consumes the builder and constructs a [`CreateCampaignInput`](crate::operation::create_campaign::CreateCampaignInput).
139    pub fn build(
140        self,
141    ) -> ::std::result::Result<crate::operation::create_campaign::CreateCampaignInput, ::aws_smithy_types::error::operation::BuildError> {
142        ::std::result::Result::Ok(crate::operation::create_campaign::CreateCampaignInput {
143            name: self.name,
144            connect_instance_id: self.connect_instance_id,
145            dialer_config: self.dialer_config,
146            outbound_call_config: self.outbound_call_config,
147            tags: self.tags,
148        })
149    }
150}