Skip to main content

aws_sdk_customerprofiles/operation/create_domain/
_create_domain_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateDomainInput {
6    /// <p>The unique name of the domain.</p>
7    pub domain_name: ::std::option::Option<::std::string::String>,
8    /// <p>The default number of days until the data within the domain expires.</p>
9    pub default_expiration_days: ::std::option::Option<i32>,
10    /// <p>The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.</p>
11    pub default_encryption_key: ::std::option::Option<::std::string::String>,
12    /// <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.</p>
13    pub dead_letter_queue_url: ::std::option::Option<::std::string::String>,
14    /// <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.</p>
15    /// <p>After the Identity Resolution Job completes, use the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a> API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from S3.</p>
16    pub matching: ::std::option::Option<crate::types::MatchingRequest>,
17    /// <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true, Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can download the results from S3.</p>
18    pub rule_based_matching: ::std::option::Option<crate::types::RuleBasedMatchingRequest>,
19    /// <p>Set to true to enabled data store for this domain.</p>
20    pub data_store: ::std::option::Option<crate::types::DataStoreRequest>,
21    /// <p>The tags used to organize, track, or control access for this resource.</p>
22    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
23}
24impl CreateDomainInput {
25    /// <p>The unique name of the domain.</p>
26    pub fn domain_name(&self) -> ::std::option::Option<&str> {
27        self.domain_name.as_deref()
28    }
29    /// <p>The default number of days until the data within the domain expires.</p>
30    pub fn default_expiration_days(&self) -> ::std::option::Option<i32> {
31        self.default_expiration_days
32    }
33    /// <p>The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.</p>
34    pub fn default_encryption_key(&self) -> ::std::option::Option<&str> {
35        self.default_encryption_key.as_deref()
36    }
37    /// <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.</p>
38    pub fn dead_letter_queue_url(&self) -> ::std::option::Option<&str> {
39        self.dead_letter_queue_url.as_deref()
40    }
41    /// <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.</p>
42    /// <p>After the Identity Resolution Job completes, use the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a> API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from S3.</p>
43    pub fn matching(&self) -> ::std::option::Option<&crate::types::MatchingRequest> {
44        self.matching.as_ref()
45    }
46    /// <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true, Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can download the results from S3.</p>
47    pub fn rule_based_matching(&self) -> ::std::option::Option<&crate::types::RuleBasedMatchingRequest> {
48        self.rule_based_matching.as_ref()
49    }
50    /// <p>Set to true to enabled data store for this domain.</p>
51    pub fn data_store(&self) -> ::std::option::Option<&crate::types::DataStoreRequest> {
52        self.data_store.as_ref()
53    }
54    /// <p>The tags used to organize, track, or control access for this resource.</p>
55    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
56        self.tags.as_ref()
57    }
58}
59impl CreateDomainInput {
60    /// Creates a new builder-style object to manufacture [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
61    pub fn builder() -> crate::operation::create_domain::builders::CreateDomainInputBuilder {
62        crate::operation::create_domain::builders::CreateDomainInputBuilder::default()
63    }
64}
65
66/// A builder for [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
67#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
68#[non_exhaustive]
69pub struct CreateDomainInputBuilder {
70    pub(crate) domain_name: ::std::option::Option<::std::string::String>,
71    pub(crate) default_expiration_days: ::std::option::Option<i32>,
72    pub(crate) default_encryption_key: ::std::option::Option<::std::string::String>,
73    pub(crate) dead_letter_queue_url: ::std::option::Option<::std::string::String>,
74    pub(crate) matching: ::std::option::Option<crate::types::MatchingRequest>,
75    pub(crate) rule_based_matching: ::std::option::Option<crate::types::RuleBasedMatchingRequest>,
76    pub(crate) data_store: ::std::option::Option<crate::types::DataStoreRequest>,
77    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
78}
79impl CreateDomainInputBuilder {
80    /// <p>The unique name of the domain.</p>
81    /// This field is required.
82    pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
83        self.domain_name = ::std::option::Option::Some(input.into());
84        self
85    }
86    /// <p>The unique name of the domain.</p>
87    pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
88        self.domain_name = input;
89        self
90    }
91    /// <p>The unique name of the domain.</p>
92    pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
93        &self.domain_name
94    }
95    /// <p>The default number of days until the data within the domain expires.</p>
96    /// This field is required.
97    pub fn default_expiration_days(mut self, input: i32) -> Self {
98        self.default_expiration_days = ::std::option::Option::Some(input);
99        self
100    }
101    /// <p>The default number of days until the data within the domain expires.</p>
102    pub fn set_default_expiration_days(mut self, input: ::std::option::Option<i32>) -> Self {
103        self.default_expiration_days = input;
104        self
105    }
106    /// <p>The default number of days until the data within the domain expires.</p>
107    pub fn get_default_expiration_days(&self) -> &::std::option::Option<i32> {
108        &self.default_expiration_days
109    }
110    /// <p>The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.</p>
111    pub fn default_encryption_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
112        self.default_encryption_key = ::std::option::Option::Some(input.into());
113        self
114    }
115    /// <p>The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.</p>
116    pub fn set_default_encryption_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
117        self.default_encryption_key = input;
118        self
119    }
120    /// <p>The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.</p>
121    pub fn get_default_encryption_key(&self) -> &::std::option::Option<::std::string::String> {
122        &self.default_encryption_key
123    }
124    /// <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.</p>
125    pub fn dead_letter_queue_url(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
126        self.dead_letter_queue_url = ::std::option::Option::Some(input.into());
127        self
128    }
129    /// <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.</p>
130    pub fn set_dead_letter_queue_url(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
131        self.dead_letter_queue_url = input;
132        self
133    }
134    /// <p>The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.</p>
135    pub fn get_dead_letter_queue_url(&self) -> &::std::option::Option<::std::string::String> {
136        &self.dead_letter_queue_url
137    }
138    /// <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.</p>
139    /// <p>After the Identity Resolution Job completes, use the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a> API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from S3.</p>
140    pub fn matching(mut self, input: crate::types::MatchingRequest) -> Self {
141        self.matching = ::std::option::Option::Some(input);
142        self
143    }
144    /// <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.</p>
145    /// <p>After the Identity Resolution Job completes, use the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a> API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from S3.</p>
146    pub fn set_matching(mut self, input: ::std::option::Option<crate::types::MatchingRequest>) -> Self {
147        self.matching = input;
148        self
149    }
150    /// <p>The process of matching duplicate profiles. If <code>Matching</code> = <code>true</code>, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.</p>
151    /// <p>After the Identity Resolution Job completes, use the <a href="https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html">GetMatches</a> API to return and review the results. Or, if you have configured <code>ExportingConfig</code> in the <code>MatchingRequest</code>, you can download the results from S3.</p>
152    pub fn get_matching(&self) -> &::std::option::Option<crate::types::MatchingRequest> {
153        &self.matching
154    }
155    /// <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true, Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can download the results from S3.</p>
156    pub fn rule_based_matching(mut self, input: crate::types::RuleBasedMatchingRequest) -> Self {
157        self.rule_based_matching = ::std::option::Option::Some(input);
158        self
159    }
160    /// <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true, Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can download the results from S3.</p>
161    pub fn set_rule_based_matching(mut self, input: ::std::option::Option<crate::types::RuleBasedMatchingRequest>) -> Self {
162        self.rule_based_matching = input;
163        self
164    }
165    /// <p>The process of matching duplicate profiles using the Rule-Based matching. If <code>RuleBasedMatching</code> = true, Connect Customer Customer Profiles will start to match and merge your profiles according to your configuration in the <code>RuleBasedMatchingRequest</code>. You can use the <code>ListRuleBasedMatches</code> and <code>GetSimilarProfiles</code> API to return and review the results. Also, if you have configured <code>ExportingConfig</code> in the <code>RuleBasedMatchingRequest</code>, you can download the results from S3.</p>
166    pub fn get_rule_based_matching(&self) -> &::std::option::Option<crate::types::RuleBasedMatchingRequest> {
167        &self.rule_based_matching
168    }
169    /// <p>Set to true to enabled data store for this domain.</p>
170    pub fn data_store(mut self, input: crate::types::DataStoreRequest) -> Self {
171        self.data_store = ::std::option::Option::Some(input);
172        self
173    }
174    /// <p>Set to true to enabled data store for this domain.</p>
175    pub fn set_data_store(mut self, input: ::std::option::Option<crate::types::DataStoreRequest>) -> Self {
176        self.data_store = input;
177        self
178    }
179    /// <p>Set to true to enabled data store for this domain.</p>
180    pub fn get_data_store(&self) -> &::std::option::Option<crate::types::DataStoreRequest> {
181        &self.data_store
182    }
183    /// Adds a key-value pair to `tags`.
184    ///
185    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
186    ///
187    /// <p>The tags used to organize, track, or control access for this resource.</p>
188    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
189        let mut hash_map = self.tags.unwrap_or_default();
190        hash_map.insert(k.into(), v.into());
191        self.tags = ::std::option::Option::Some(hash_map);
192        self
193    }
194    /// <p>The tags used to organize, track, or control access for this resource.</p>
195    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
196        self.tags = input;
197        self
198    }
199    /// <p>The tags used to organize, track, or control access for this resource.</p>
200    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
201        &self.tags
202    }
203    /// Consumes the builder and constructs a [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
204    pub fn build(
205        self,
206    ) -> ::std::result::Result<crate::operation::create_domain::CreateDomainInput, ::aws_smithy_types::error::operation::BuildError> {
207        ::std::result::Result::Ok(crate::operation::create_domain::CreateDomainInput {
208            domain_name: self.domain_name,
209            default_expiration_days: self.default_expiration_days,
210            default_encryption_key: self.default_encryption_key,
211            dead_letter_queue_url: self.dead_letter_queue_url,
212            matching: self.matching,
213            rule_based_matching: self.rule_based_matching,
214            data_store: self.data_store,
215            tags: self.tags,
216        })
217    }
218}