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}