1#[derive(Debug, Default)]
5pub struct DataSource {
6 properties: DataSourceProperties
7}
8
9#[derive(Debug, Default)]
11pub struct DataSourceProperties {
12 pub data_source_configuration: Option<::Value<self::data_source::DataSourceConfiguration>>,
17 pub description: Option<::Value<String>>,
22 pub index_id: ::Value<String>,
27 pub name: ::Value<String>,
32 pub role_arn: Option<::Value<String>>,
37 pub schedule: Option<::Value<String>>,
42 pub tags: Option<::ValueList<::Tag>>,
47 pub r#type: ::Value<String>,
52}
53
54impl ::serde::Serialize for DataSourceProperties {
55 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
56 let mut map = ::serde::Serializer::serialize_map(s, None)?;
57 if let Some(ref data_source_configuration) = self.data_source_configuration {
58 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceConfiguration", data_source_configuration)?;
59 }
60 if let Some(ref description) = self.description {
61 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Description", description)?;
62 }
63 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexId", &self.index_id)?;
64 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
65 if let Some(ref role_arn) = self.role_arn {
66 ::serde::ser::SerializeMap::serialize_entry(&mut map, "RoleArn", role_arn)?;
67 }
68 if let Some(ref schedule) = self.schedule {
69 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Schedule", schedule)?;
70 }
71 if let Some(ref tags) = self.tags {
72 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Tags", tags)?;
73 }
74 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Type", &self.r#type)?;
75 ::serde::ser::SerializeMap::end(map)
76 }
77}
78
79impl<'de> ::serde::Deserialize<'de> for DataSourceProperties {
80 fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<DataSourceProperties, D::Error> {
81 struct Visitor;
82
83 impl<'de> ::serde::de::Visitor<'de> for Visitor {
84 type Value = DataSourceProperties;
85
86 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
87 write!(f, "a struct of type DataSourceProperties")
88 }
89
90 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
91 let mut data_source_configuration: Option<::Value<self::data_source::DataSourceConfiguration>> = None;
92 let mut description: Option<::Value<String>> = None;
93 let mut index_id: Option<::Value<String>> = None;
94 let mut name: Option<::Value<String>> = None;
95 let mut role_arn: Option<::Value<String>> = None;
96 let mut schedule: Option<::Value<String>> = None;
97 let mut tags: Option<::ValueList<::Tag>> = None;
98 let mut r#type: Option<::Value<String>> = None;
99
100 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
101 match __cfn_key.as_ref() {
102 "DataSourceConfiguration" => {
103 data_source_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
104 }
105 "Description" => {
106 description = ::serde::de::MapAccess::next_value(&mut map)?;
107 }
108 "IndexId" => {
109 index_id = ::serde::de::MapAccess::next_value(&mut map)?;
110 }
111 "Name" => {
112 name = ::serde::de::MapAccess::next_value(&mut map)?;
113 }
114 "RoleArn" => {
115 role_arn = ::serde::de::MapAccess::next_value(&mut map)?;
116 }
117 "Schedule" => {
118 schedule = ::serde::de::MapAccess::next_value(&mut map)?;
119 }
120 "Tags" => {
121 tags = ::serde::de::MapAccess::next_value(&mut map)?;
122 }
123 "Type" => {
124 r#type = ::serde::de::MapAccess::next_value(&mut map)?;
125 }
126 _ => {}
127 }
128 }
129
130 Ok(DataSourceProperties {
131 data_source_configuration: data_source_configuration,
132 description: description,
133 index_id: index_id.ok_or(::serde::de::Error::missing_field("IndexId"))?,
134 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
135 role_arn: role_arn,
136 schedule: schedule,
137 tags: tags,
138 r#type: r#type.ok_or(::serde::de::Error::missing_field("Type"))?,
139 })
140 }
141 }
142
143 d.deserialize_map(Visitor)
144 }
145}
146
147impl ::Resource for DataSource {
148 type Properties = DataSourceProperties;
149 const TYPE: &'static str = "AWS::Kendra::DataSource";
150 fn properties(&self) -> &DataSourceProperties {
151 &self.properties
152 }
153 fn properties_mut(&mut self) -> &mut DataSourceProperties {
154 &mut self.properties
155 }
156}
157
158impl ::private::Sealed for DataSource {}
159
160impl From<DataSourceProperties> for DataSource {
161 fn from(properties: DataSourceProperties) -> DataSource {
162 DataSource { properties }
163 }
164}
165
166#[derive(Debug, Default)]
168pub struct Faq {
169 properties: FaqProperties
170}
171
172#[derive(Debug, Default)]
174pub struct FaqProperties {
175 pub description: Option<::Value<String>>,
180 pub file_format: Option<::Value<String>>,
185 pub index_id: ::Value<String>,
190 pub name: ::Value<String>,
195 pub role_arn: ::Value<String>,
200 pub s3_path: ::Value<self::faq::S3Path>,
205 pub tags: Option<::ValueList<::Tag>>,
210}
211
212impl ::serde::Serialize for FaqProperties {
213 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
214 let mut map = ::serde::Serializer::serialize_map(s, None)?;
215 if let Some(ref description) = self.description {
216 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Description", description)?;
217 }
218 if let Some(ref file_format) = self.file_format {
219 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FileFormat", file_format)?;
220 }
221 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexId", &self.index_id)?;
222 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
223 ::serde::ser::SerializeMap::serialize_entry(&mut map, "RoleArn", &self.role_arn)?;
224 ::serde::ser::SerializeMap::serialize_entry(&mut map, "S3Path", &self.s3_path)?;
225 if let Some(ref tags) = self.tags {
226 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Tags", tags)?;
227 }
228 ::serde::ser::SerializeMap::end(map)
229 }
230}
231
232impl<'de> ::serde::Deserialize<'de> for FaqProperties {
233 fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<FaqProperties, D::Error> {
234 struct Visitor;
235
236 impl<'de> ::serde::de::Visitor<'de> for Visitor {
237 type Value = FaqProperties;
238
239 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
240 write!(f, "a struct of type FaqProperties")
241 }
242
243 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
244 let mut description: Option<::Value<String>> = None;
245 let mut file_format: Option<::Value<String>> = None;
246 let mut index_id: Option<::Value<String>> = None;
247 let mut name: Option<::Value<String>> = None;
248 let mut role_arn: Option<::Value<String>> = None;
249 let mut s3_path: Option<::Value<self::faq::S3Path>> = None;
250 let mut tags: Option<::ValueList<::Tag>> = None;
251
252 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
253 match __cfn_key.as_ref() {
254 "Description" => {
255 description = ::serde::de::MapAccess::next_value(&mut map)?;
256 }
257 "FileFormat" => {
258 file_format = ::serde::de::MapAccess::next_value(&mut map)?;
259 }
260 "IndexId" => {
261 index_id = ::serde::de::MapAccess::next_value(&mut map)?;
262 }
263 "Name" => {
264 name = ::serde::de::MapAccess::next_value(&mut map)?;
265 }
266 "RoleArn" => {
267 role_arn = ::serde::de::MapAccess::next_value(&mut map)?;
268 }
269 "S3Path" => {
270 s3_path = ::serde::de::MapAccess::next_value(&mut map)?;
271 }
272 "Tags" => {
273 tags = ::serde::de::MapAccess::next_value(&mut map)?;
274 }
275 _ => {}
276 }
277 }
278
279 Ok(FaqProperties {
280 description: description,
281 file_format: file_format,
282 index_id: index_id.ok_or(::serde::de::Error::missing_field("IndexId"))?,
283 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
284 role_arn: role_arn.ok_or(::serde::de::Error::missing_field("RoleArn"))?,
285 s3_path: s3_path.ok_or(::serde::de::Error::missing_field("S3Path"))?,
286 tags: tags,
287 })
288 }
289 }
290
291 d.deserialize_map(Visitor)
292 }
293}
294
295impl ::Resource for Faq {
296 type Properties = FaqProperties;
297 const TYPE: &'static str = "AWS::Kendra::Faq";
298 fn properties(&self) -> &FaqProperties {
299 &self.properties
300 }
301 fn properties_mut(&mut self) -> &mut FaqProperties {
302 &mut self.properties
303 }
304}
305
306impl ::private::Sealed for Faq {}
307
308impl From<FaqProperties> for Faq {
309 fn from(properties: FaqProperties) -> Faq {
310 Faq { properties }
311 }
312}
313
314#[derive(Debug, Default)]
316pub struct Index {
317 properties: IndexProperties
318}
319
320#[derive(Debug, Default)]
322pub struct IndexProperties {
323 pub capacity_units: Option<::Value<self::index::CapacityUnitsConfiguration>>,
328 pub description: Option<::Value<String>>,
333 pub document_metadata_configurations: Option<::ValueList<self::index::DocumentMetadataConfiguration>>,
338 pub edition: ::Value<String>,
343 pub name: ::Value<String>,
348 pub role_arn: ::Value<String>,
353 pub server_side_encryption_configuration: Option<::Value<self::index::ServerSideEncryptionConfiguration>>,
358 pub tags: Option<::ValueList<::Tag>>,
363 pub user_context_policy: Option<::Value<String>>,
368 pub user_token_configurations: Option<::ValueList<self::index::UserTokenConfiguration>>,
373}
374
375impl ::serde::Serialize for IndexProperties {
376 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
377 let mut map = ::serde::Serializer::serialize_map(s, None)?;
378 if let Some(ref capacity_units) = self.capacity_units {
379 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CapacityUnits", capacity_units)?;
380 }
381 if let Some(ref description) = self.description {
382 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Description", description)?;
383 }
384 if let Some(ref document_metadata_configurations) = self.document_metadata_configurations {
385 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentMetadataConfigurations", document_metadata_configurations)?;
386 }
387 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Edition", &self.edition)?;
388 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
389 ::serde::ser::SerializeMap::serialize_entry(&mut map, "RoleArn", &self.role_arn)?;
390 if let Some(ref server_side_encryption_configuration) = self.server_side_encryption_configuration {
391 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServerSideEncryptionConfiguration", server_side_encryption_configuration)?;
392 }
393 if let Some(ref tags) = self.tags {
394 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Tags", tags)?;
395 }
396 if let Some(ref user_context_policy) = self.user_context_policy {
397 ::serde::ser::SerializeMap::serialize_entry(&mut map, "UserContextPolicy", user_context_policy)?;
398 }
399 if let Some(ref user_token_configurations) = self.user_token_configurations {
400 ::serde::ser::SerializeMap::serialize_entry(&mut map, "UserTokenConfigurations", user_token_configurations)?;
401 }
402 ::serde::ser::SerializeMap::end(map)
403 }
404}
405
406impl<'de> ::serde::Deserialize<'de> for IndexProperties {
407 fn deserialize<D: ::serde::Deserializer<'de>>(d: D) -> Result<IndexProperties, D::Error> {
408 struct Visitor;
409
410 impl<'de> ::serde::de::Visitor<'de> for Visitor {
411 type Value = IndexProperties;
412
413 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
414 write!(f, "a struct of type IndexProperties")
415 }
416
417 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
418 let mut capacity_units: Option<::Value<self::index::CapacityUnitsConfiguration>> = None;
419 let mut description: Option<::Value<String>> = None;
420 let mut document_metadata_configurations: Option<::ValueList<self::index::DocumentMetadataConfiguration>> = None;
421 let mut edition: Option<::Value<String>> = None;
422 let mut name: Option<::Value<String>> = None;
423 let mut role_arn: Option<::Value<String>> = None;
424 let mut server_side_encryption_configuration: Option<::Value<self::index::ServerSideEncryptionConfiguration>> = None;
425 let mut tags: Option<::ValueList<::Tag>> = None;
426 let mut user_context_policy: Option<::Value<String>> = None;
427 let mut user_token_configurations: Option<::ValueList<self::index::UserTokenConfiguration>> = None;
428
429 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
430 match __cfn_key.as_ref() {
431 "CapacityUnits" => {
432 capacity_units = ::serde::de::MapAccess::next_value(&mut map)?;
433 }
434 "Description" => {
435 description = ::serde::de::MapAccess::next_value(&mut map)?;
436 }
437 "DocumentMetadataConfigurations" => {
438 document_metadata_configurations = ::serde::de::MapAccess::next_value(&mut map)?;
439 }
440 "Edition" => {
441 edition = ::serde::de::MapAccess::next_value(&mut map)?;
442 }
443 "Name" => {
444 name = ::serde::de::MapAccess::next_value(&mut map)?;
445 }
446 "RoleArn" => {
447 role_arn = ::serde::de::MapAccess::next_value(&mut map)?;
448 }
449 "ServerSideEncryptionConfiguration" => {
450 server_side_encryption_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
451 }
452 "Tags" => {
453 tags = ::serde::de::MapAccess::next_value(&mut map)?;
454 }
455 "UserContextPolicy" => {
456 user_context_policy = ::serde::de::MapAccess::next_value(&mut map)?;
457 }
458 "UserTokenConfigurations" => {
459 user_token_configurations = ::serde::de::MapAccess::next_value(&mut map)?;
460 }
461 _ => {}
462 }
463 }
464
465 Ok(IndexProperties {
466 capacity_units: capacity_units,
467 description: description,
468 document_metadata_configurations: document_metadata_configurations,
469 edition: edition.ok_or(::serde::de::Error::missing_field("Edition"))?,
470 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
471 role_arn: role_arn.ok_or(::serde::de::Error::missing_field("RoleArn"))?,
472 server_side_encryption_configuration: server_side_encryption_configuration,
473 tags: tags,
474 user_context_policy: user_context_policy,
475 user_token_configurations: user_token_configurations,
476 })
477 }
478 }
479
480 d.deserialize_map(Visitor)
481 }
482}
483
484impl ::Resource for Index {
485 type Properties = IndexProperties;
486 const TYPE: &'static str = "AWS::Kendra::Index";
487 fn properties(&self) -> &IndexProperties {
488 &self.properties
489 }
490 fn properties_mut(&mut self) -> &mut IndexProperties {
491 &mut self.properties
492 }
493}
494
495impl ::private::Sealed for Index {}
496
497impl From<IndexProperties> for Index {
498 fn from(properties: IndexProperties) -> Index {
499 Index { properties }
500 }
501}
502
503pub mod data_source {
504 #[derive(Debug, Default)]
508 pub struct AccessControlListConfiguration {
509 pub key_path: Option<::Value<String>>,
514 }
515
516 impl ::codec::SerializeValue for AccessControlListConfiguration {
517 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
518 let mut map = ::serde::Serializer::serialize_map(s, None)?;
519 if let Some(ref key_path) = self.key_path {
520 ::serde::ser::SerializeMap::serialize_entry(&mut map, "KeyPath", key_path)?;
521 }
522 ::serde::ser::SerializeMap::end(map)
523 }
524 }
525
526 impl ::codec::DeserializeValue for AccessControlListConfiguration {
527 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<AccessControlListConfiguration, D::Error> {
528 struct Visitor;
529
530 impl<'de> ::serde::de::Visitor<'de> for Visitor {
531 type Value = AccessControlListConfiguration;
532
533 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
534 write!(f, "a struct of type AccessControlListConfiguration")
535 }
536
537 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
538 let mut key_path: Option<::Value<String>> = None;
539
540 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
541 match __cfn_key.as_ref() {
542 "KeyPath" => {
543 key_path = ::serde::de::MapAccess::next_value(&mut map)?;
544 }
545 _ => {}
546 }
547 }
548
549 Ok(AccessControlListConfiguration {
550 key_path: key_path,
551 })
552 }
553 }
554
555 d.deserialize_map(Visitor)
556 }
557 }
558
559 #[derive(Debug, Default)]
561 pub struct AclConfiguration {
562 pub allowed_groups_column_name: ::Value<String>,
567 }
568
569 impl ::codec::SerializeValue for AclConfiguration {
570 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
571 let mut map = ::serde::Serializer::serialize_map(s, None)?;
572 ::serde::ser::SerializeMap::serialize_entry(&mut map, "AllowedGroupsColumnName", &self.allowed_groups_column_name)?;
573 ::serde::ser::SerializeMap::end(map)
574 }
575 }
576
577 impl ::codec::DeserializeValue for AclConfiguration {
578 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<AclConfiguration, D::Error> {
579 struct Visitor;
580
581 impl<'de> ::serde::de::Visitor<'de> for Visitor {
582 type Value = AclConfiguration;
583
584 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
585 write!(f, "a struct of type AclConfiguration")
586 }
587
588 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
589 let mut allowed_groups_column_name: Option<::Value<String>> = None;
590
591 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
592 match __cfn_key.as_ref() {
593 "AllowedGroupsColumnName" => {
594 allowed_groups_column_name = ::serde::de::MapAccess::next_value(&mut map)?;
595 }
596 _ => {}
597 }
598 }
599
600 Ok(AclConfiguration {
601 allowed_groups_column_name: allowed_groups_column_name.ok_or(::serde::de::Error::missing_field("AllowedGroupsColumnName"))?,
602 })
603 }
604 }
605
606 d.deserialize_map(Visitor)
607 }
608 }
609
610 #[derive(Debug, Default)]
612 pub struct ColumnConfiguration {
613 pub change_detecting_columns: ::ValueList<String>,
618 pub document_data_column_name: ::Value<String>,
623 pub document_id_column_name: ::Value<String>,
628 pub document_title_column_name: Option<::Value<String>>,
633 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
638 }
639
640 impl ::codec::SerializeValue for ColumnConfiguration {
641 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
642 let mut map = ::serde::Serializer::serialize_map(s, None)?;
643 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ChangeDetectingColumns", &self.change_detecting_columns)?;
644 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataColumnName", &self.document_data_column_name)?;
645 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentIdColumnName", &self.document_id_column_name)?;
646 if let Some(ref document_title_column_name) = self.document_title_column_name {
647 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleColumnName", document_title_column_name)?;
648 }
649 if let Some(ref field_mappings) = self.field_mappings {
650 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
651 }
652 ::serde::ser::SerializeMap::end(map)
653 }
654 }
655
656 impl ::codec::DeserializeValue for ColumnConfiguration {
657 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ColumnConfiguration, D::Error> {
658 struct Visitor;
659
660 impl<'de> ::serde::de::Visitor<'de> for Visitor {
661 type Value = ColumnConfiguration;
662
663 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
664 write!(f, "a struct of type ColumnConfiguration")
665 }
666
667 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
668 let mut change_detecting_columns: Option<::ValueList<String>> = None;
669 let mut document_data_column_name: Option<::Value<String>> = None;
670 let mut document_id_column_name: Option<::Value<String>> = None;
671 let mut document_title_column_name: Option<::Value<String>> = None;
672 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
673
674 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
675 match __cfn_key.as_ref() {
676 "ChangeDetectingColumns" => {
677 change_detecting_columns = ::serde::de::MapAccess::next_value(&mut map)?;
678 }
679 "DocumentDataColumnName" => {
680 document_data_column_name = ::serde::de::MapAccess::next_value(&mut map)?;
681 }
682 "DocumentIdColumnName" => {
683 document_id_column_name = ::serde::de::MapAccess::next_value(&mut map)?;
684 }
685 "DocumentTitleColumnName" => {
686 document_title_column_name = ::serde::de::MapAccess::next_value(&mut map)?;
687 }
688 "FieldMappings" => {
689 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
690 }
691 _ => {}
692 }
693 }
694
695 Ok(ColumnConfiguration {
696 change_detecting_columns: change_detecting_columns.ok_or(::serde::de::Error::missing_field("ChangeDetectingColumns"))?,
697 document_data_column_name: document_data_column_name.ok_or(::serde::de::Error::missing_field("DocumentDataColumnName"))?,
698 document_id_column_name: document_id_column_name.ok_or(::serde::de::Error::missing_field("DocumentIdColumnName"))?,
699 document_title_column_name: document_title_column_name,
700 field_mappings: field_mappings,
701 })
702 }
703 }
704
705 d.deserialize_map(Visitor)
706 }
707 }
708
709 #[derive(Debug, Default)]
711 pub struct ConfluenceAttachmentConfiguration {
712 pub attachment_field_mappings: Option<::ValueList<ConfluenceAttachmentToIndexFieldMapping>>,
717 pub crawl_attachments: Option<::Value<bool>>,
722 }
723
724 impl ::codec::SerializeValue for ConfluenceAttachmentConfiguration {
725 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
726 let mut map = ::serde::Serializer::serialize_map(s, None)?;
727 if let Some(ref attachment_field_mappings) = self.attachment_field_mappings {
728 ::serde::ser::SerializeMap::serialize_entry(&mut map, "AttachmentFieldMappings", attachment_field_mappings)?;
729 }
730 if let Some(ref crawl_attachments) = self.crawl_attachments {
731 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlAttachments", crawl_attachments)?;
732 }
733 ::serde::ser::SerializeMap::end(map)
734 }
735 }
736
737 impl ::codec::DeserializeValue for ConfluenceAttachmentConfiguration {
738 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceAttachmentConfiguration, D::Error> {
739 struct Visitor;
740
741 impl<'de> ::serde::de::Visitor<'de> for Visitor {
742 type Value = ConfluenceAttachmentConfiguration;
743
744 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
745 write!(f, "a struct of type ConfluenceAttachmentConfiguration")
746 }
747
748 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
749 let mut attachment_field_mappings: Option<::ValueList<ConfluenceAttachmentToIndexFieldMapping>> = None;
750 let mut crawl_attachments: Option<::Value<bool>> = None;
751
752 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
753 match __cfn_key.as_ref() {
754 "AttachmentFieldMappings" => {
755 attachment_field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
756 }
757 "CrawlAttachments" => {
758 crawl_attachments = ::serde::de::MapAccess::next_value(&mut map)?;
759 }
760 _ => {}
761 }
762 }
763
764 Ok(ConfluenceAttachmentConfiguration {
765 attachment_field_mappings: attachment_field_mappings,
766 crawl_attachments: crawl_attachments,
767 })
768 }
769 }
770
771 d.deserialize_map(Visitor)
772 }
773 }
774
775 #[derive(Debug, Default)]
777 pub struct ConfluenceAttachmentToIndexFieldMapping {
778 pub data_source_field_name: ::Value<String>,
783 pub date_field_format: Option<::Value<String>>,
788 pub index_field_name: ::Value<String>,
793 }
794
795 impl ::codec::SerializeValue for ConfluenceAttachmentToIndexFieldMapping {
796 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
797 let mut map = ::serde::Serializer::serialize_map(s, None)?;
798 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceFieldName", &self.data_source_field_name)?;
799 if let Some(ref date_field_format) = self.date_field_format {
800 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DateFieldFormat", date_field_format)?;
801 }
802 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexFieldName", &self.index_field_name)?;
803 ::serde::ser::SerializeMap::end(map)
804 }
805 }
806
807 impl ::codec::DeserializeValue for ConfluenceAttachmentToIndexFieldMapping {
808 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceAttachmentToIndexFieldMapping, D::Error> {
809 struct Visitor;
810
811 impl<'de> ::serde::de::Visitor<'de> for Visitor {
812 type Value = ConfluenceAttachmentToIndexFieldMapping;
813
814 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
815 write!(f, "a struct of type ConfluenceAttachmentToIndexFieldMapping")
816 }
817
818 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
819 let mut data_source_field_name: Option<::Value<String>> = None;
820 let mut date_field_format: Option<::Value<String>> = None;
821 let mut index_field_name: Option<::Value<String>> = None;
822
823 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
824 match __cfn_key.as_ref() {
825 "DataSourceFieldName" => {
826 data_source_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
827 }
828 "DateFieldFormat" => {
829 date_field_format = ::serde::de::MapAccess::next_value(&mut map)?;
830 }
831 "IndexFieldName" => {
832 index_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
833 }
834 _ => {}
835 }
836 }
837
838 Ok(ConfluenceAttachmentToIndexFieldMapping {
839 data_source_field_name: data_source_field_name.ok_or(::serde::de::Error::missing_field("DataSourceFieldName"))?,
840 date_field_format: date_field_format,
841 index_field_name: index_field_name.ok_or(::serde::de::Error::missing_field("IndexFieldName"))?,
842 })
843 }
844 }
845
846 d.deserialize_map(Visitor)
847 }
848 }
849
850 #[derive(Debug, Default)]
852 pub struct ConfluenceBlogConfiguration {
853 pub blog_field_mappings: Option<::ValueList<ConfluenceBlogToIndexFieldMapping>>,
858 }
859
860 impl ::codec::SerializeValue for ConfluenceBlogConfiguration {
861 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
862 let mut map = ::serde::Serializer::serialize_map(s, None)?;
863 if let Some(ref blog_field_mappings) = self.blog_field_mappings {
864 ::serde::ser::SerializeMap::serialize_entry(&mut map, "BlogFieldMappings", blog_field_mappings)?;
865 }
866 ::serde::ser::SerializeMap::end(map)
867 }
868 }
869
870 impl ::codec::DeserializeValue for ConfluenceBlogConfiguration {
871 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceBlogConfiguration, D::Error> {
872 struct Visitor;
873
874 impl<'de> ::serde::de::Visitor<'de> for Visitor {
875 type Value = ConfluenceBlogConfiguration;
876
877 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
878 write!(f, "a struct of type ConfluenceBlogConfiguration")
879 }
880
881 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
882 let mut blog_field_mappings: Option<::ValueList<ConfluenceBlogToIndexFieldMapping>> = None;
883
884 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
885 match __cfn_key.as_ref() {
886 "BlogFieldMappings" => {
887 blog_field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
888 }
889 _ => {}
890 }
891 }
892
893 Ok(ConfluenceBlogConfiguration {
894 blog_field_mappings: blog_field_mappings,
895 })
896 }
897 }
898
899 d.deserialize_map(Visitor)
900 }
901 }
902
903 #[derive(Debug, Default)]
905 pub struct ConfluenceBlogToIndexFieldMapping {
906 pub data_source_field_name: ::Value<String>,
911 pub date_field_format: Option<::Value<String>>,
916 pub index_field_name: ::Value<String>,
921 }
922
923 impl ::codec::SerializeValue for ConfluenceBlogToIndexFieldMapping {
924 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
925 let mut map = ::serde::Serializer::serialize_map(s, None)?;
926 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceFieldName", &self.data_source_field_name)?;
927 if let Some(ref date_field_format) = self.date_field_format {
928 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DateFieldFormat", date_field_format)?;
929 }
930 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexFieldName", &self.index_field_name)?;
931 ::serde::ser::SerializeMap::end(map)
932 }
933 }
934
935 impl ::codec::DeserializeValue for ConfluenceBlogToIndexFieldMapping {
936 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceBlogToIndexFieldMapping, D::Error> {
937 struct Visitor;
938
939 impl<'de> ::serde::de::Visitor<'de> for Visitor {
940 type Value = ConfluenceBlogToIndexFieldMapping;
941
942 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
943 write!(f, "a struct of type ConfluenceBlogToIndexFieldMapping")
944 }
945
946 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
947 let mut data_source_field_name: Option<::Value<String>> = None;
948 let mut date_field_format: Option<::Value<String>> = None;
949 let mut index_field_name: Option<::Value<String>> = None;
950
951 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
952 match __cfn_key.as_ref() {
953 "DataSourceFieldName" => {
954 data_source_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
955 }
956 "DateFieldFormat" => {
957 date_field_format = ::serde::de::MapAccess::next_value(&mut map)?;
958 }
959 "IndexFieldName" => {
960 index_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
961 }
962 _ => {}
963 }
964 }
965
966 Ok(ConfluenceBlogToIndexFieldMapping {
967 data_source_field_name: data_source_field_name.ok_or(::serde::de::Error::missing_field("DataSourceFieldName"))?,
968 date_field_format: date_field_format,
969 index_field_name: index_field_name.ok_or(::serde::de::Error::missing_field("IndexFieldName"))?,
970 })
971 }
972 }
973
974 d.deserialize_map(Visitor)
975 }
976 }
977
978 #[derive(Debug, Default)]
980 pub struct ConfluenceConfiguration {
981 pub attachment_configuration: Option<::Value<ConfluenceAttachmentConfiguration>>,
986 pub blog_configuration: Option<::Value<ConfluenceBlogConfiguration>>,
991 pub exclusion_patterns: Option<::ValueList<String>>,
996 pub inclusion_patterns: Option<::ValueList<String>>,
1001 pub page_configuration: Option<::Value<ConfluencePageConfiguration>>,
1006 pub secret_arn: ::Value<String>,
1011 pub server_url: ::Value<String>,
1016 pub space_configuration: Option<::Value<ConfluenceSpaceConfiguration>>,
1021 pub version: ::Value<String>,
1026 pub vpc_configuration: Option<::Value<DataSourceVpcConfiguration>>,
1031 }
1032
1033 impl ::codec::SerializeValue for ConfluenceConfiguration {
1034 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1035 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1036 if let Some(ref attachment_configuration) = self.attachment_configuration {
1037 ::serde::ser::SerializeMap::serialize_entry(&mut map, "AttachmentConfiguration", attachment_configuration)?;
1038 }
1039 if let Some(ref blog_configuration) = self.blog_configuration {
1040 ::serde::ser::SerializeMap::serialize_entry(&mut map, "BlogConfiguration", blog_configuration)?;
1041 }
1042 if let Some(ref exclusion_patterns) = self.exclusion_patterns {
1043 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExclusionPatterns", exclusion_patterns)?;
1044 }
1045 if let Some(ref inclusion_patterns) = self.inclusion_patterns {
1046 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPatterns", inclusion_patterns)?;
1047 }
1048 if let Some(ref page_configuration) = self.page_configuration {
1049 ::serde::ser::SerializeMap::serialize_entry(&mut map, "PageConfiguration", page_configuration)?;
1050 }
1051 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
1052 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServerUrl", &self.server_url)?;
1053 if let Some(ref space_configuration) = self.space_configuration {
1054 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SpaceConfiguration", space_configuration)?;
1055 }
1056 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Version", &self.version)?;
1057 if let Some(ref vpc_configuration) = self.vpc_configuration {
1058 ::serde::ser::SerializeMap::serialize_entry(&mut map, "VpcConfiguration", vpc_configuration)?;
1059 }
1060 ::serde::ser::SerializeMap::end(map)
1061 }
1062 }
1063
1064 impl ::codec::DeserializeValue for ConfluenceConfiguration {
1065 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceConfiguration, D::Error> {
1066 struct Visitor;
1067
1068 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1069 type Value = ConfluenceConfiguration;
1070
1071 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1072 write!(f, "a struct of type ConfluenceConfiguration")
1073 }
1074
1075 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1076 let mut attachment_configuration: Option<::Value<ConfluenceAttachmentConfiguration>> = None;
1077 let mut blog_configuration: Option<::Value<ConfluenceBlogConfiguration>> = None;
1078 let mut exclusion_patterns: Option<::ValueList<String>> = None;
1079 let mut inclusion_patterns: Option<::ValueList<String>> = None;
1080 let mut page_configuration: Option<::Value<ConfluencePageConfiguration>> = None;
1081 let mut secret_arn: Option<::Value<String>> = None;
1082 let mut server_url: Option<::Value<String>> = None;
1083 let mut space_configuration: Option<::Value<ConfluenceSpaceConfiguration>> = None;
1084 let mut version: Option<::Value<String>> = None;
1085 let mut vpc_configuration: Option<::Value<DataSourceVpcConfiguration>> = None;
1086
1087 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1088 match __cfn_key.as_ref() {
1089 "AttachmentConfiguration" => {
1090 attachment_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1091 }
1092 "BlogConfiguration" => {
1093 blog_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1094 }
1095 "ExclusionPatterns" => {
1096 exclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
1097 }
1098 "InclusionPatterns" => {
1099 inclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
1100 }
1101 "PageConfiguration" => {
1102 page_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1103 }
1104 "SecretArn" => {
1105 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
1106 }
1107 "ServerUrl" => {
1108 server_url = ::serde::de::MapAccess::next_value(&mut map)?;
1109 }
1110 "SpaceConfiguration" => {
1111 space_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1112 }
1113 "Version" => {
1114 version = ::serde::de::MapAccess::next_value(&mut map)?;
1115 }
1116 "VpcConfiguration" => {
1117 vpc_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1118 }
1119 _ => {}
1120 }
1121 }
1122
1123 Ok(ConfluenceConfiguration {
1124 attachment_configuration: attachment_configuration,
1125 blog_configuration: blog_configuration,
1126 exclusion_patterns: exclusion_patterns,
1127 inclusion_patterns: inclusion_patterns,
1128 page_configuration: page_configuration,
1129 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
1130 server_url: server_url.ok_or(::serde::de::Error::missing_field("ServerUrl"))?,
1131 space_configuration: space_configuration,
1132 version: version.ok_or(::serde::de::Error::missing_field("Version"))?,
1133 vpc_configuration: vpc_configuration,
1134 })
1135 }
1136 }
1137
1138 d.deserialize_map(Visitor)
1139 }
1140 }
1141
1142 #[derive(Debug, Default)]
1144 pub struct ConfluencePageConfiguration {
1145 pub page_field_mappings: Option<::ValueList<ConfluencePageToIndexFieldMapping>>,
1150 }
1151
1152 impl ::codec::SerializeValue for ConfluencePageConfiguration {
1153 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1154 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1155 if let Some(ref page_field_mappings) = self.page_field_mappings {
1156 ::serde::ser::SerializeMap::serialize_entry(&mut map, "PageFieldMappings", page_field_mappings)?;
1157 }
1158 ::serde::ser::SerializeMap::end(map)
1159 }
1160 }
1161
1162 impl ::codec::DeserializeValue for ConfluencePageConfiguration {
1163 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluencePageConfiguration, D::Error> {
1164 struct Visitor;
1165
1166 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1167 type Value = ConfluencePageConfiguration;
1168
1169 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1170 write!(f, "a struct of type ConfluencePageConfiguration")
1171 }
1172
1173 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1174 let mut page_field_mappings: Option<::ValueList<ConfluencePageToIndexFieldMapping>> = None;
1175
1176 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1177 match __cfn_key.as_ref() {
1178 "PageFieldMappings" => {
1179 page_field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
1180 }
1181 _ => {}
1182 }
1183 }
1184
1185 Ok(ConfluencePageConfiguration {
1186 page_field_mappings: page_field_mappings,
1187 })
1188 }
1189 }
1190
1191 d.deserialize_map(Visitor)
1192 }
1193 }
1194
1195 #[derive(Debug, Default)]
1197 pub struct ConfluencePageToIndexFieldMapping {
1198 pub data_source_field_name: ::Value<String>,
1203 pub date_field_format: Option<::Value<String>>,
1208 pub index_field_name: ::Value<String>,
1213 }
1214
1215 impl ::codec::SerializeValue for ConfluencePageToIndexFieldMapping {
1216 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1217 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1218 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceFieldName", &self.data_source_field_name)?;
1219 if let Some(ref date_field_format) = self.date_field_format {
1220 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DateFieldFormat", date_field_format)?;
1221 }
1222 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexFieldName", &self.index_field_name)?;
1223 ::serde::ser::SerializeMap::end(map)
1224 }
1225 }
1226
1227 impl ::codec::DeserializeValue for ConfluencePageToIndexFieldMapping {
1228 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluencePageToIndexFieldMapping, D::Error> {
1229 struct Visitor;
1230
1231 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1232 type Value = ConfluencePageToIndexFieldMapping;
1233
1234 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1235 write!(f, "a struct of type ConfluencePageToIndexFieldMapping")
1236 }
1237
1238 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1239 let mut data_source_field_name: Option<::Value<String>> = None;
1240 let mut date_field_format: Option<::Value<String>> = None;
1241 let mut index_field_name: Option<::Value<String>> = None;
1242
1243 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1244 match __cfn_key.as_ref() {
1245 "DataSourceFieldName" => {
1246 data_source_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1247 }
1248 "DateFieldFormat" => {
1249 date_field_format = ::serde::de::MapAccess::next_value(&mut map)?;
1250 }
1251 "IndexFieldName" => {
1252 index_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1253 }
1254 _ => {}
1255 }
1256 }
1257
1258 Ok(ConfluencePageToIndexFieldMapping {
1259 data_source_field_name: data_source_field_name.ok_or(::serde::de::Error::missing_field("DataSourceFieldName"))?,
1260 date_field_format: date_field_format,
1261 index_field_name: index_field_name.ok_or(::serde::de::Error::missing_field("IndexFieldName"))?,
1262 })
1263 }
1264 }
1265
1266 d.deserialize_map(Visitor)
1267 }
1268 }
1269
1270 #[derive(Debug, Default)]
1272 pub struct ConfluenceSpaceConfiguration {
1273 pub crawl_archived_spaces: Option<::Value<bool>>,
1278 pub crawl_personal_spaces: Option<::Value<bool>>,
1283 pub exclude_spaces: Option<::ValueList<String>>,
1288 pub include_spaces: Option<::ValueList<String>>,
1293 pub space_field_mappings: Option<::ValueList<ConfluenceSpaceToIndexFieldMapping>>,
1298 }
1299
1300 impl ::codec::SerializeValue for ConfluenceSpaceConfiguration {
1301 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1302 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1303 if let Some(ref crawl_archived_spaces) = self.crawl_archived_spaces {
1304 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlArchivedSpaces", crawl_archived_spaces)?;
1305 }
1306 if let Some(ref crawl_personal_spaces) = self.crawl_personal_spaces {
1307 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlPersonalSpaces", crawl_personal_spaces)?;
1308 }
1309 if let Some(ref exclude_spaces) = self.exclude_spaces {
1310 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeSpaces", exclude_spaces)?;
1311 }
1312 if let Some(ref include_spaces) = self.include_spaces {
1313 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludeSpaces", include_spaces)?;
1314 }
1315 if let Some(ref space_field_mappings) = self.space_field_mappings {
1316 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SpaceFieldMappings", space_field_mappings)?;
1317 }
1318 ::serde::ser::SerializeMap::end(map)
1319 }
1320 }
1321
1322 impl ::codec::DeserializeValue for ConfluenceSpaceConfiguration {
1323 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceSpaceConfiguration, D::Error> {
1324 struct Visitor;
1325
1326 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1327 type Value = ConfluenceSpaceConfiguration;
1328
1329 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1330 write!(f, "a struct of type ConfluenceSpaceConfiguration")
1331 }
1332
1333 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1334 let mut crawl_archived_spaces: Option<::Value<bool>> = None;
1335 let mut crawl_personal_spaces: Option<::Value<bool>> = None;
1336 let mut exclude_spaces: Option<::ValueList<String>> = None;
1337 let mut include_spaces: Option<::ValueList<String>> = None;
1338 let mut space_field_mappings: Option<::ValueList<ConfluenceSpaceToIndexFieldMapping>> = None;
1339
1340 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1341 match __cfn_key.as_ref() {
1342 "CrawlArchivedSpaces" => {
1343 crawl_archived_spaces = ::serde::de::MapAccess::next_value(&mut map)?;
1344 }
1345 "CrawlPersonalSpaces" => {
1346 crawl_personal_spaces = ::serde::de::MapAccess::next_value(&mut map)?;
1347 }
1348 "ExcludeSpaces" => {
1349 exclude_spaces = ::serde::de::MapAccess::next_value(&mut map)?;
1350 }
1351 "IncludeSpaces" => {
1352 include_spaces = ::serde::de::MapAccess::next_value(&mut map)?;
1353 }
1354 "SpaceFieldMappings" => {
1355 space_field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
1356 }
1357 _ => {}
1358 }
1359 }
1360
1361 Ok(ConfluenceSpaceConfiguration {
1362 crawl_archived_spaces: crawl_archived_spaces,
1363 crawl_personal_spaces: crawl_personal_spaces,
1364 exclude_spaces: exclude_spaces,
1365 include_spaces: include_spaces,
1366 space_field_mappings: space_field_mappings,
1367 })
1368 }
1369 }
1370
1371 d.deserialize_map(Visitor)
1372 }
1373 }
1374
1375 #[derive(Debug, Default)]
1377 pub struct ConfluenceSpaceToIndexFieldMapping {
1378 pub data_source_field_name: ::Value<String>,
1383 pub date_field_format: Option<::Value<String>>,
1388 pub index_field_name: ::Value<String>,
1393 }
1394
1395 impl ::codec::SerializeValue for ConfluenceSpaceToIndexFieldMapping {
1396 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1397 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1398 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceFieldName", &self.data_source_field_name)?;
1399 if let Some(ref date_field_format) = self.date_field_format {
1400 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DateFieldFormat", date_field_format)?;
1401 }
1402 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexFieldName", &self.index_field_name)?;
1403 ::serde::ser::SerializeMap::end(map)
1404 }
1405 }
1406
1407 impl ::codec::DeserializeValue for ConfluenceSpaceToIndexFieldMapping {
1408 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConfluenceSpaceToIndexFieldMapping, D::Error> {
1409 struct Visitor;
1410
1411 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1412 type Value = ConfluenceSpaceToIndexFieldMapping;
1413
1414 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1415 write!(f, "a struct of type ConfluenceSpaceToIndexFieldMapping")
1416 }
1417
1418 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1419 let mut data_source_field_name: Option<::Value<String>> = None;
1420 let mut date_field_format: Option<::Value<String>> = None;
1421 let mut index_field_name: Option<::Value<String>> = None;
1422
1423 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1424 match __cfn_key.as_ref() {
1425 "DataSourceFieldName" => {
1426 data_source_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1427 }
1428 "DateFieldFormat" => {
1429 date_field_format = ::serde::de::MapAccess::next_value(&mut map)?;
1430 }
1431 "IndexFieldName" => {
1432 index_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1433 }
1434 _ => {}
1435 }
1436 }
1437
1438 Ok(ConfluenceSpaceToIndexFieldMapping {
1439 data_source_field_name: data_source_field_name.ok_or(::serde::de::Error::missing_field("DataSourceFieldName"))?,
1440 date_field_format: date_field_format,
1441 index_field_name: index_field_name.ok_or(::serde::de::Error::missing_field("IndexFieldName"))?,
1442 })
1443 }
1444 }
1445
1446 d.deserialize_map(Visitor)
1447 }
1448 }
1449
1450 #[derive(Debug, Default)]
1452 pub struct ConnectionConfiguration {
1453 pub database_host: ::Value<String>,
1458 pub database_name: ::Value<String>,
1463 pub database_port: ::Value<u32>,
1468 pub secret_arn: ::Value<String>,
1473 pub table_name: ::Value<String>,
1478 }
1479
1480 impl ::codec::SerializeValue for ConnectionConfiguration {
1481 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1482 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1483 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DatabaseHost", &self.database_host)?;
1484 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DatabaseName", &self.database_name)?;
1485 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DatabasePort", &self.database_port)?;
1486 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
1487 ::serde::ser::SerializeMap::serialize_entry(&mut map, "TableName", &self.table_name)?;
1488 ::serde::ser::SerializeMap::end(map)
1489 }
1490 }
1491
1492 impl ::codec::DeserializeValue for ConnectionConfiguration {
1493 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ConnectionConfiguration, D::Error> {
1494 struct Visitor;
1495
1496 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1497 type Value = ConnectionConfiguration;
1498
1499 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1500 write!(f, "a struct of type ConnectionConfiguration")
1501 }
1502
1503 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1504 let mut database_host: Option<::Value<String>> = None;
1505 let mut database_name: Option<::Value<String>> = None;
1506 let mut database_port: Option<::Value<u32>> = None;
1507 let mut secret_arn: Option<::Value<String>> = None;
1508 let mut table_name: Option<::Value<String>> = None;
1509
1510 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1511 match __cfn_key.as_ref() {
1512 "DatabaseHost" => {
1513 database_host = ::serde::de::MapAccess::next_value(&mut map)?;
1514 }
1515 "DatabaseName" => {
1516 database_name = ::serde::de::MapAccess::next_value(&mut map)?;
1517 }
1518 "DatabasePort" => {
1519 database_port = ::serde::de::MapAccess::next_value(&mut map)?;
1520 }
1521 "SecretArn" => {
1522 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
1523 }
1524 "TableName" => {
1525 table_name = ::serde::de::MapAccess::next_value(&mut map)?;
1526 }
1527 _ => {}
1528 }
1529 }
1530
1531 Ok(ConnectionConfiguration {
1532 database_host: database_host.ok_or(::serde::de::Error::missing_field("DatabaseHost"))?,
1533 database_name: database_name.ok_or(::serde::de::Error::missing_field("DatabaseName"))?,
1534 database_port: database_port.ok_or(::serde::de::Error::missing_field("DatabasePort"))?,
1535 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
1536 table_name: table_name.ok_or(::serde::de::Error::missing_field("TableName"))?,
1537 })
1538 }
1539 }
1540
1541 d.deserialize_map(Visitor)
1542 }
1543 }
1544
1545 #[derive(Debug, Default)]
1547 pub struct DataSourceConfiguration {
1548 pub confluence_configuration: Option<::Value<ConfluenceConfiguration>>,
1553 pub database_configuration: Option<::Value<DatabaseConfiguration>>,
1558 pub google_drive_configuration: Option<::Value<GoogleDriveConfiguration>>,
1563 pub one_drive_configuration: Option<::Value<OneDriveConfiguration>>,
1568 pub s3_configuration: Option<::Value<S3DataSourceConfiguration>>,
1573 pub salesforce_configuration: Option<::Value<SalesforceConfiguration>>,
1578 pub service_now_configuration: Option<::Value<ServiceNowConfiguration>>,
1583 pub share_point_configuration: Option<::Value<SharePointConfiguration>>,
1588 }
1589
1590 impl ::codec::SerializeValue for DataSourceConfiguration {
1591 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1592 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1593 if let Some(ref confluence_configuration) = self.confluence_configuration {
1594 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ConfluenceConfiguration", confluence_configuration)?;
1595 }
1596 if let Some(ref database_configuration) = self.database_configuration {
1597 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DatabaseConfiguration", database_configuration)?;
1598 }
1599 if let Some(ref google_drive_configuration) = self.google_drive_configuration {
1600 ::serde::ser::SerializeMap::serialize_entry(&mut map, "GoogleDriveConfiguration", google_drive_configuration)?;
1601 }
1602 if let Some(ref one_drive_configuration) = self.one_drive_configuration {
1603 ::serde::ser::SerializeMap::serialize_entry(&mut map, "OneDriveConfiguration", one_drive_configuration)?;
1604 }
1605 if let Some(ref s3_configuration) = self.s3_configuration {
1606 ::serde::ser::SerializeMap::serialize_entry(&mut map, "S3Configuration", s3_configuration)?;
1607 }
1608 if let Some(ref salesforce_configuration) = self.salesforce_configuration {
1609 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SalesforceConfiguration", salesforce_configuration)?;
1610 }
1611 if let Some(ref service_now_configuration) = self.service_now_configuration {
1612 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServiceNowConfiguration", service_now_configuration)?;
1613 }
1614 if let Some(ref share_point_configuration) = self.share_point_configuration {
1615 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SharePointConfiguration", share_point_configuration)?;
1616 }
1617 ::serde::ser::SerializeMap::end(map)
1618 }
1619 }
1620
1621 impl ::codec::DeserializeValue for DataSourceConfiguration {
1622 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DataSourceConfiguration, D::Error> {
1623 struct Visitor;
1624
1625 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1626 type Value = DataSourceConfiguration;
1627
1628 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1629 write!(f, "a struct of type DataSourceConfiguration")
1630 }
1631
1632 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1633 let mut confluence_configuration: Option<::Value<ConfluenceConfiguration>> = None;
1634 let mut database_configuration: Option<::Value<DatabaseConfiguration>> = None;
1635 let mut google_drive_configuration: Option<::Value<GoogleDriveConfiguration>> = None;
1636 let mut one_drive_configuration: Option<::Value<OneDriveConfiguration>> = None;
1637 let mut s3_configuration: Option<::Value<S3DataSourceConfiguration>> = None;
1638 let mut salesforce_configuration: Option<::Value<SalesforceConfiguration>> = None;
1639 let mut service_now_configuration: Option<::Value<ServiceNowConfiguration>> = None;
1640 let mut share_point_configuration: Option<::Value<SharePointConfiguration>> = None;
1641
1642 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1643 match __cfn_key.as_ref() {
1644 "ConfluenceConfiguration" => {
1645 confluence_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1646 }
1647 "DatabaseConfiguration" => {
1648 database_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1649 }
1650 "GoogleDriveConfiguration" => {
1651 google_drive_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1652 }
1653 "OneDriveConfiguration" => {
1654 one_drive_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1655 }
1656 "S3Configuration" => {
1657 s3_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1658 }
1659 "SalesforceConfiguration" => {
1660 salesforce_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1661 }
1662 "ServiceNowConfiguration" => {
1663 service_now_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1664 }
1665 "SharePointConfiguration" => {
1666 share_point_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1667 }
1668 _ => {}
1669 }
1670 }
1671
1672 Ok(DataSourceConfiguration {
1673 confluence_configuration: confluence_configuration,
1674 database_configuration: database_configuration,
1675 google_drive_configuration: google_drive_configuration,
1676 one_drive_configuration: one_drive_configuration,
1677 s3_configuration: s3_configuration,
1678 salesforce_configuration: salesforce_configuration,
1679 service_now_configuration: service_now_configuration,
1680 share_point_configuration: share_point_configuration,
1681 })
1682 }
1683 }
1684
1685 d.deserialize_map(Visitor)
1686 }
1687 }
1688
1689 #[derive(Debug, Default)]
1691 pub struct DataSourceToIndexFieldMapping {
1692 pub data_source_field_name: ::Value<String>,
1697 pub date_field_format: Option<::Value<String>>,
1702 pub index_field_name: ::Value<String>,
1707 }
1708
1709 impl ::codec::SerializeValue for DataSourceToIndexFieldMapping {
1710 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1711 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1712 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DataSourceFieldName", &self.data_source_field_name)?;
1713 if let Some(ref date_field_format) = self.date_field_format {
1714 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DateFieldFormat", date_field_format)?;
1715 }
1716 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IndexFieldName", &self.index_field_name)?;
1717 ::serde::ser::SerializeMap::end(map)
1718 }
1719 }
1720
1721 impl ::codec::DeserializeValue for DataSourceToIndexFieldMapping {
1722 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DataSourceToIndexFieldMapping, D::Error> {
1723 struct Visitor;
1724
1725 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1726 type Value = DataSourceToIndexFieldMapping;
1727
1728 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1729 write!(f, "a struct of type DataSourceToIndexFieldMapping")
1730 }
1731
1732 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1733 let mut data_source_field_name: Option<::Value<String>> = None;
1734 let mut date_field_format: Option<::Value<String>> = None;
1735 let mut index_field_name: Option<::Value<String>> = None;
1736
1737 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1738 match __cfn_key.as_ref() {
1739 "DataSourceFieldName" => {
1740 data_source_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1741 }
1742 "DateFieldFormat" => {
1743 date_field_format = ::serde::de::MapAccess::next_value(&mut map)?;
1744 }
1745 "IndexFieldName" => {
1746 index_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
1747 }
1748 _ => {}
1749 }
1750 }
1751
1752 Ok(DataSourceToIndexFieldMapping {
1753 data_source_field_name: data_source_field_name.ok_or(::serde::de::Error::missing_field("DataSourceFieldName"))?,
1754 date_field_format: date_field_format,
1755 index_field_name: index_field_name.ok_or(::serde::de::Error::missing_field("IndexFieldName"))?,
1756 })
1757 }
1758 }
1759
1760 d.deserialize_map(Visitor)
1761 }
1762 }
1763
1764 #[derive(Debug, Default)]
1766 pub struct DataSourceVpcConfiguration {
1767 pub security_group_ids: ::ValueList<String>,
1772 pub subnet_ids: ::ValueList<String>,
1777 }
1778
1779 impl ::codec::SerializeValue for DataSourceVpcConfiguration {
1780 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1781 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1782 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecurityGroupIds", &self.security_group_ids)?;
1783 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SubnetIds", &self.subnet_ids)?;
1784 ::serde::ser::SerializeMap::end(map)
1785 }
1786 }
1787
1788 impl ::codec::DeserializeValue for DataSourceVpcConfiguration {
1789 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DataSourceVpcConfiguration, D::Error> {
1790 struct Visitor;
1791
1792 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1793 type Value = DataSourceVpcConfiguration;
1794
1795 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1796 write!(f, "a struct of type DataSourceVpcConfiguration")
1797 }
1798
1799 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1800 let mut security_group_ids: Option<::ValueList<String>> = None;
1801 let mut subnet_ids: Option<::ValueList<String>> = None;
1802
1803 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1804 match __cfn_key.as_ref() {
1805 "SecurityGroupIds" => {
1806 security_group_ids = ::serde::de::MapAccess::next_value(&mut map)?;
1807 }
1808 "SubnetIds" => {
1809 subnet_ids = ::serde::de::MapAccess::next_value(&mut map)?;
1810 }
1811 _ => {}
1812 }
1813 }
1814
1815 Ok(DataSourceVpcConfiguration {
1816 security_group_ids: security_group_ids.ok_or(::serde::de::Error::missing_field("SecurityGroupIds"))?,
1817 subnet_ids: subnet_ids.ok_or(::serde::de::Error::missing_field("SubnetIds"))?,
1818 })
1819 }
1820 }
1821
1822 d.deserialize_map(Visitor)
1823 }
1824 }
1825
1826 #[derive(Debug, Default)]
1828 pub struct DatabaseConfiguration {
1829 pub acl_configuration: Option<::Value<AclConfiguration>>,
1834 pub column_configuration: ::Value<ColumnConfiguration>,
1839 pub connection_configuration: ::Value<ConnectionConfiguration>,
1844 pub database_engine_type: ::Value<String>,
1849 pub sql_configuration: Option<::Value<SqlConfiguration>>,
1854 pub vpc_configuration: Option<::Value<DataSourceVpcConfiguration>>,
1859 }
1860
1861 impl ::codec::SerializeValue for DatabaseConfiguration {
1862 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1863 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1864 if let Some(ref acl_configuration) = self.acl_configuration {
1865 ::serde::ser::SerializeMap::serialize_entry(&mut map, "AclConfiguration", acl_configuration)?;
1866 }
1867 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ColumnConfiguration", &self.column_configuration)?;
1868 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ConnectionConfiguration", &self.connection_configuration)?;
1869 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DatabaseEngineType", &self.database_engine_type)?;
1870 if let Some(ref sql_configuration) = self.sql_configuration {
1871 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SqlConfiguration", sql_configuration)?;
1872 }
1873 if let Some(ref vpc_configuration) = self.vpc_configuration {
1874 ::serde::ser::SerializeMap::serialize_entry(&mut map, "VpcConfiguration", vpc_configuration)?;
1875 }
1876 ::serde::ser::SerializeMap::end(map)
1877 }
1878 }
1879
1880 impl ::codec::DeserializeValue for DatabaseConfiguration {
1881 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DatabaseConfiguration, D::Error> {
1882 struct Visitor;
1883
1884 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1885 type Value = DatabaseConfiguration;
1886
1887 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1888 write!(f, "a struct of type DatabaseConfiguration")
1889 }
1890
1891 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1892 let mut acl_configuration: Option<::Value<AclConfiguration>> = None;
1893 let mut column_configuration: Option<::Value<ColumnConfiguration>> = None;
1894 let mut connection_configuration: Option<::Value<ConnectionConfiguration>> = None;
1895 let mut database_engine_type: Option<::Value<String>> = None;
1896 let mut sql_configuration: Option<::Value<SqlConfiguration>> = None;
1897 let mut vpc_configuration: Option<::Value<DataSourceVpcConfiguration>> = None;
1898
1899 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1900 match __cfn_key.as_ref() {
1901 "AclConfiguration" => {
1902 acl_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1903 }
1904 "ColumnConfiguration" => {
1905 column_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1906 }
1907 "ConnectionConfiguration" => {
1908 connection_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1909 }
1910 "DatabaseEngineType" => {
1911 database_engine_type = ::serde::de::MapAccess::next_value(&mut map)?;
1912 }
1913 "SqlConfiguration" => {
1914 sql_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1915 }
1916 "VpcConfiguration" => {
1917 vpc_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
1918 }
1919 _ => {}
1920 }
1921 }
1922
1923 Ok(DatabaseConfiguration {
1924 acl_configuration: acl_configuration,
1925 column_configuration: column_configuration.ok_or(::serde::de::Error::missing_field("ColumnConfiguration"))?,
1926 connection_configuration: connection_configuration.ok_or(::serde::de::Error::missing_field("ConnectionConfiguration"))?,
1927 database_engine_type: database_engine_type.ok_or(::serde::de::Error::missing_field("DatabaseEngineType"))?,
1928 sql_configuration: sql_configuration,
1929 vpc_configuration: vpc_configuration,
1930 })
1931 }
1932 }
1933
1934 d.deserialize_map(Visitor)
1935 }
1936 }
1937
1938 #[derive(Debug, Default)]
1940 pub struct DocumentsMetadataConfiguration {
1941 pub s3_prefix: Option<::Value<String>>,
1946 }
1947
1948 impl ::codec::SerializeValue for DocumentsMetadataConfiguration {
1949 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
1950 let mut map = ::serde::Serializer::serialize_map(s, None)?;
1951 if let Some(ref s3_prefix) = self.s3_prefix {
1952 ::serde::ser::SerializeMap::serialize_entry(&mut map, "S3Prefix", s3_prefix)?;
1953 }
1954 ::serde::ser::SerializeMap::end(map)
1955 }
1956 }
1957
1958 impl ::codec::DeserializeValue for DocumentsMetadataConfiguration {
1959 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DocumentsMetadataConfiguration, D::Error> {
1960 struct Visitor;
1961
1962 impl<'de> ::serde::de::Visitor<'de> for Visitor {
1963 type Value = DocumentsMetadataConfiguration;
1964
1965 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1966 write!(f, "a struct of type DocumentsMetadataConfiguration")
1967 }
1968
1969 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
1970 let mut s3_prefix: Option<::Value<String>> = None;
1971
1972 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
1973 match __cfn_key.as_ref() {
1974 "S3Prefix" => {
1975 s3_prefix = ::serde::de::MapAccess::next_value(&mut map)?;
1976 }
1977 _ => {}
1978 }
1979 }
1980
1981 Ok(DocumentsMetadataConfiguration {
1982 s3_prefix: s3_prefix,
1983 })
1984 }
1985 }
1986
1987 d.deserialize_map(Visitor)
1988 }
1989 }
1990
1991 #[derive(Debug, Default)]
1993 pub struct GoogleDriveConfiguration {
1994 pub exclude_mime_types: Option<::ValueList<String>>,
1999 pub exclude_shared_drives: Option<::ValueList<String>>,
2004 pub exclude_user_accounts: Option<::ValueList<String>>,
2009 pub exclusion_patterns: Option<::ValueList<String>>,
2014 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2019 pub inclusion_patterns: Option<::ValueList<String>>,
2024 pub secret_arn: ::Value<String>,
2029 }
2030
2031 impl ::codec::SerializeValue for GoogleDriveConfiguration {
2032 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2033 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2034 if let Some(ref exclude_mime_types) = self.exclude_mime_types {
2035 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeMimeTypes", exclude_mime_types)?;
2036 }
2037 if let Some(ref exclude_shared_drives) = self.exclude_shared_drives {
2038 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeSharedDrives", exclude_shared_drives)?;
2039 }
2040 if let Some(ref exclude_user_accounts) = self.exclude_user_accounts {
2041 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeUserAccounts", exclude_user_accounts)?;
2042 }
2043 if let Some(ref exclusion_patterns) = self.exclusion_patterns {
2044 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExclusionPatterns", exclusion_patterns)?;
2045 }
2046 if let Some(ref field_mappings) = self.field_mappings {
2047 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2048 }
2049 if let Some(ref inclusion_patterns) = self.inclusion_patterns {
2050 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPatterns", inclusion_patterns)?;
2051 }
2052 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
2053 ::serde::ser::SerializeMap::end(map)
2054 }
2055 }
2056
2057 impl ::codec::DeserializeValue for GoogleDriveConfiguration {
2058 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<GoogleDriveConfiguration, D::Error> {
2059 struct Visitor;
2060
2061 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2062 type Value = GoogleDriveConfiguration;
2063
2064 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2065 write!(f, "a struct of type GoogleDriveConfiguration")
2066 }
2067
2068 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2069 let mut exclude_mime_types: Option<::ValueList<String>> = None;
2070 let mut exclude_shared_drives: Option<::ValueList<String>> = None;
2071 let mut exclude_user_accounts: Option<::ValueList<String>> = None;
2072 let mut exclusion_patterns: Option<::ValueList<String>> = None;
2073 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
2074 let mut inclusion_patterns: Option<::ValueList<String>> = None;
2075 let mut secret_arn: Option<::Value<String>> = None;
2076
2077 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2078 match __cfn_key.as_ref() {
2079 "ExcludeMimeTypes" => {
2080 exclude_mime_types = ::serde::de::MapAccess::next_value(&mut map)?;
2081 }
2082 "ExcludeSharedDrives" => {
2083 exclude_shared_drives = ::serde::de::MapAccess::next_value(&mut map)?;
2084 }
2085 "ExcludeUserAccounts" => {
2086 exclude_user_accounts = ::serde::de::MapAccess::next_value(&mut map)?;
2087 }
2088 "ExclusionPatterns" => {
2089 exclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2090 }
2091 "FieldMappings" => {
2092 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
2093 }
2094 "InclusionPatterns" => {
2095 inclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2096 }
2097 "SecretArn" => {
2098 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
2099 }
2100 _ => {}
2101 }
2102 }
2103
2104 Ok(GoogleDriveConfiguration {
2105 exclude_mime_types: exclude_mime_types,
2106 exclude_shared_drives: exclude_shared_drives,
2107 exclude_user_accounts: exclude_user_accounts,
2108 exclusion_patterns: exclusion_patterns,
2109 field_mappings: field_mappings,
2110 inclusion_patterns: inclusion_patterns,
2111 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
2112 })
2113 }
2114 }
2115
2116 d.deserialize_map(Visitor)
2117 }
2118 }
2119
2120 #[derive(Debug, Default)]
2122 pub struct OneDriveConfiguration {
2123 pub disable_local_groups: Option<::Value<bool>>,
2128 pub exclusion_patterns: Option<::ValueList<String>>,
2133 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2138 pub inclusion_patterns: Option<::ValueList<String>>,
2143 pub one_drive_users: ::Value<OneDriveUsers>,
2148 pub secret_arn: ::Value<String>,
2153 pub tenant_domain: ::Value<String>,
2158 }
2159
2160 impl ::codec::SerializeValue for OneDriveConfiguration {
2161 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2162 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2163 if let Some(ref disable_local_groups) = self.disable_local_groups {
2164 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DisableLocalGroups", disable_local_groups)?;
2165 }
2166 if let Some(ref exclusion_patterns) = self.exclusion_patterns {
2167 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExclusionPatterns", exclusion_patterns)?;
2168 }
2169 if let Some(ref field_mappings) = self.field_mappings {
2170 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2171 }
2172 if let Some(ref inclusion_patterns) = self.inclusion_patterns {
2173 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPatterns", inclusion_patterns)?;
2174 }
2175 ::serde::ser::SerializeMap::serialize_entry(&mut map, "OneDriveUsers", &self.one_drive_users)?;
2176 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
2177 ::serde::ser::SerializeMap::serialize_entry(&mut map, "TenantDomain", &self.tenant_domain)?;
2178 ::serde::ser::SerializeMap::end(map)
2179 }
2180 }
2181
2182 impl ::codec::DeserializeValue for OneDriveConfiguration {
2183 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<OneDriveConfiguration, D::Error> {
2184 struct Visitor;
2185
2186 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2187 type Value = OneDriveConfiguration;
2188
2189 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2190 write!(f, "a struct of type OneDriveConfiguration")
2191 }
2192
2193 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2194 let mut disable_local_groups: Option<::Value<bool>> = None;
2195 let mut exclusion_patterns: Option<::ValueList<String>> = None;
2196 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
2197 let mut inclusion_patterns: Option<::ValueList<String>> = None;
2198 let mut one_drive_users: Option<::Value<OneDriveUsers>> = None;
2199 let mut secret_arn: Option<::Value<String>> = None;
2200 let mut tenant_domain: Option<::Value<String>> = None;
2201
2202 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2203 match __cfn_key.as_ref() {
2204 "DisableLocalGroups" => {
2205 disable_local_groups = ::serde::de::MapAccess::next_value(&mut map)?;
2206 }
2207 "ExclusionPatterns" => {
2208 exclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2209 }
2210 "FieldMappings" => {
2211 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
2212 }
2213 "InclusionPatterns" => {
2214 inclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2215 }
2216 "OneDriveUsers" => {
2217 one_drive_users = ::serde::de::MapAccess::next_value(&mut map)?;
2218 }
2219 "SecretArn" => {
2220 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
2221 }
2222 "TenantDomain" => {
2223 tenant_domain = ::serde::de::MapAccess::next_value(&mut map)?;
2224 }
2225 _ => {}
2226 }
2227 }
2228
2229 Ok(OneDriveConfiguration {
2230 disable_local_groups: disable_local_groups,
2231 exclusion_patterns: exclusion_patterns,
2232 field_mappings: field_mappings,
2233 inclusion_patterns: inclusion_patterns,
2234 one_drive_users: one_drive_users.ok_or(::serde::de::Error::missing_field("OneDriveUsers"))?,
2235 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
2236 tenant_domain: tenant_domain.ok_or(::serde::de::Error::missing_field("TenantDomain"))?,
2237 })
2238 }
2239 }
2240
2241 d.deserialize_map(Visitor)
2242 }
2243 }
2244
2245 #[derive(Debug, Default)]
2247 pub struct OneDriveUsers {
2248 pub one_drive_user_list: Option<::ValueList<String>>,
2253 pub one_drive_user_s3_path: Option<::Value<S3Path>>,
2258 }
2259
2260 impl ::codec::SerializeValue for OneDriveUsers {
2261 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2262 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2263 if let Some(ref one_drive_user_list) = self.one_drive_user_list {
2264 ::serde::ser::SerializeMap::serialize_entry(&mut map, "OneDriveUserList", one_drive_user_list)?;
2265 }
2266 if let Some(ref one_drive_user_s3_path) = self.one_drive_user_s3_path {
2267 ::serde::ser::SerializeMap::serialize_entry(&mut map, "OneDriveUserS3Path", one_drive_user_s3_path)?;
2268 }
2269 ::serde::ser::SerializeMap::end(map)
2270 }
2271 }
2272
2273 impl ::codec::DeserializeValue for OneDriveUsers {
2274 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<OneDriveUsers, D::Error> {
2275 struct Visitor;
2276
2277 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2278 type Value = OneDriveUsers;
2279
2280 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2281 write!(f, "a struct of type OneDriveUsers")
2282 }
2283
2284 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2285 let mut one_drive_user_list: Option<::ValueList<String>> = None;
2286 let mut one_drive_user_s3_path: Option<::Value<S3Path>> = None;
2287
2288 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2289 match __cfn_key.as_ref() {
2290 "OneDriveUserList" => {
2291 one_drive_user_list = ::serde::de::MapAccess::next_value(&mut map)?;
2292 }
2293 "OneDriveUserS3Path" => {
2294 one_drive_user_s3_path = ::serde::de::MapAccess::next_value(&mut map)?;
2295 }
2296 _ => {}
2297 }
2298 }
2299
2300 Ok(OneDriveUsers {
2301 one_drive_user_list: one_drive_user_list,
2302 one_drive_user_s3_path: one_drive_user_s3_path,
2303 })
2304 }
2305 }
2306
2307 d.deserialize_map(Visitor)
2308 }
2309 }
2310
2311 #[derive(Debug, Default)]
2313 pub struct S3DataSourceConfiguration {
2314 pub access_control_list_configuration: Option<::Value<AccessControlListConfiguration>>,
2319 pub bucket_name: ::Value<String>,
2324 pub documents_metadata_configuration: Option<::Value<DocumentsMetadataConfiguration>>,
2329 pub exclusion_patterns: Option<::ValueList<String>>,
2334 pub inclusion_patterns: Option<::ValueList<String>>,
2339 pub inclusion_prefixes: Option<::ValueList<String>>,
2344 }
2345
2346 impl ::codec::SerializeValue for S3DataSourceConfiguration {
2347 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2348 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2349 if let Some(ref access_control_list_configuration) = self.access_control_list_configuration {
2350 ::serde::ser::SerializeMap::serialize_entry(&mut map, "AccessControlListConfiguration", access_control_list_configuration)?;
2351 }
2352 ::serde::ser::SerializeMap::serialize_entry(&mut map, "BucketName", &self.bucket_name)?;
2353 if let Some(ref documents_metadata_configuration) = self.documents_metadata_configuration {
2354 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentsMetadataConfiguration", documents_metadata_configuration)?;
2355 }
2356 if let Some(ref exclusion_patterns) = self.exclusion_patterns {
2357 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExclusionPatterns", exclusion_patterns)?;
2358 }
2359 if let Some(ref inclusion_patterns) = self.inclusion_patterns {
2360 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPatterns", inclusion_patterns)?;
2361 }
2362 if let Some(ref inclusion_prefixes) = self.inclusion_prefixes {
2363 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPrefixes", inclusion_prefixes)?;
2364 }
2365 ::serde::ser::SerializeMap::end(map)
2366 }
2367 }
2368
2369 impl ::codec::DeserializeValue for S3DataSourceConfiguration {
2370 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<S3DataSourceConfiguration, D::Error> {
2371 struct Visitor;
2372
2373 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2374 type Value = S3DataSourceConfiguration;
2375
2376 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2377 write!(f, "a struct of type S3DataSourceConfiguration")
2378 }
2379
2380 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2381 let mut access_control_list_configuration: Option<::Value<AccessControlListConfiguration>> = None;
2382 let mut bucket_name: Option<::Value<String>> = None;
2383 let mut documents_metadata_configuration: Option<::Value<DocumentsMetadataConfiguration>> = None;
2384 let mut exclusion_patterns: Option<::ValueList<String>> = None;
2385 let mut inclusion_patterns: Option<::ValueList<String>> = None;
2386 let mut inclusion_prefixes: Option<::ValueList<String>> = None;
2387
2388 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2389 match __cfn_key.as_ref() {
2390 "AccessControlListConfiguration" => {
2391 access_control_list_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2392 }
2393 "BucketName" => {
2394 bucket_name = ::serde::de::MapAccess::next_value(&mut map)?;
2395 }
2396 "DocumentsMetadataConfiguration" => {
2397 documents_metadata_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2398 }
2399 "ExclusionPatterns" => {
2400 exclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2401 }
2402 "InclusionPatterns" => {
2403 inclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2404 }
2405 "InclusionPrefixes" => {
2406 inclusion_prefixes = ::serde::de::MapAccess::next_value(&mut map)?;
2407 }
2408 _ => {}
2409 }
2410 }
2411
2412 Ok(S3DataSourceConfiguration {
2413 access_control_list_configuration: access_control_list_configuration,
2414 bucket_name: bucket_name.ok_or(::serde::de::Error::missing_field("BucketName"))?,
2415 documents_metadata_configuration: documents_metadata_configuration,
2416 exclusion_patterns: exclusion_patterns,
2417 inclusion_patterns: inclusion_patterns,
2418 inclusion_prefixes: inclusion_prefixes,
2419 })
2420 }
2421 }
2422
2423 d.deserialize_map(Visitor)
2424 }
2425 }
2426
2427 #[derive(Debug, Default)]
2429 pub struct S3Path {
2430 pub bucket: ::Value<String>,
2435 pub key: ::Value<String>,
2440 }
2441
2442 impl ::codec::SerializeValue for S3Path {
2443 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2444 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2445 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Bucket", &self.bucket)?;
2446 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Key", &self.key)?;
2447 ::serde::ser::SerializeMap::end(map)
2448 }
2449 }
2450
2451 impl ::codec::DeserializeValue for S3Path {
2452 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<S3Path, D::Error> {
2453 struct Visitor;
2454
2455 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2456 type Value = S3Path;
2457
2458 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2459 write!(f, "a struct of type S3Path")
2460 }
2461
2462 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2463 let mut bucket: Option<::Value<String>> = None;
2464 let mut key: Option<::Value<String>> = None;
2465
2466 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2467 match __cfn_key.as_ref() {
2468 "Bucket" => {
2469 bucket = ::serde::de::MapAccess::next_value(&mut map)?;
2470 }
2471 "Key" => {
2472 key = ::serde::de::MapAccess::next_value(&mut map)?;
2473 }
2474 _ => {}
2475 }
2476 }
2477
2478 Ok(S3Path {
2479 bucket: bucket.ok_or(::serde::de::Error::missing_field("Bucket"))?,
2480 key: key.ok_or(::serde::de::Error::missing_field("Key"))?,
2481 })
2482 }
2483 }
2484
2485 d.deserialize_map(Visitor)
2486 }
2487 }
2488
2489 #[derive(Debug, Default)]
2491 pub struct SalesforceChatterFeedConfiguration {
2492 pub document_data_field_name: ::Value<String>,
2497 pub document_title_field_name: Option<::Value<String>>,
2502 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2507 pub include_filter_types: Option<::ValueList<String>>,
2512 }
2513
2514 impl ::codec::SerializeValue for SalesforceChatterFeedConfiguration {
2515 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2516 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2517 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
2518 if let Some(ref document_title_field_name) = self.document_title_field_name {
2519 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
2520 }
2521 if let Some(ref field_mappings) = self.field_mappings {
2522 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2523 }
2524 if let Some(ref include_filter_types) = self.include_filter_types {
2525 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludeFilterTypes", include_filter_types)?;
2526 }
2527 ::serde::ser::SerializeMap::end(map)
2528 }
2529 }
2530
2531 impl ::codec::DeserializeValue for SalesforceChatterFeedConfiguration {
2532 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceChatterFeedConfiguration, D::Error> {
2533 struct Visitor;
2534
2535 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2536 type Value = SalesforceChatterFeedConfiguration;
2537
2538 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2539 write!(f, "a struct of type SalesforceChatterFeedConfiguration")
2540 }
2541
2542 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2543 let mut document_data_field_name: Option<::Value<String>> = None;
2544 let mut document_title_field_name: Option<::Value<String>> = None;
2545 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
2546 let mut include_filter_types: Option<::ValueList<String>> = None;
2547
2548 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2549 match __cfn_key.as_ref() {
2550 "DocumentDataFieldName" => {
2551 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2552 }
2553 "DocumentTitleFieldName" => {
2554 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2555 }
2556 "FieldMappings" => {
2557 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
2558 }
2559 "IncludeFilterTypes" => {
2560 include_filter_types = ::serde::de::MapAccess::next_value(&mut map)?;
2561 }
2562 _ => {}
2563 }
2564 }
2565
2566 Ok(SalesforceChatterFeedConfiguration {
2567 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
2568 document_title_field_name: document_title_field_name,
2569 field_mappings: field_mappings,
2570 include_filter_types: include_filter_types,
2571 })
2572 }
2573 }
2574
2575 d.deserialize_map(Visitor)
2576 }
2577 }
2578
2579 #[derive(Debug, Default)]
2581 pub struct SalesforceConfiguration {
2582 pub chatter_feed_configuration: Option<::Value<SalesforceChatterFeedConfiguration>>,
2587 pub crawl_attachments: Option<::Value<bool>>,
2592 pub exclude_attachment_file_patterns: Option<::ValueList<String>>,
2597 pub include_attachment_file_patterns: Option<::ValueList<String>>,
2602 pub knowledge_article_configuration: Option<::Value<SalesforceKnowledgeArticleConfiguration>>,
2607 pub secret_arn: ::Value<String>,
2612 pub server_url: ::Value<String>,
2617 pub standard_object_attachment_configuration: Option<::Value<SalesforceStandardObjectAttachmentConfiguration>>,
2622 pub standard_object_configurations: Option<::ValueList<SalesforceStandardObjectConfiguration>>,
2627 }
2628
2629 impl ::codec::SerializeValue for SalesforceConfiguration {
2630 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2631 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2632 if let Some(ref chatter_feed_configuration) = self.chatter_feed_configuration {
2633 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ChatterFeedConfiguration", chatter_feed_configuration)?;
2634 }
2635 if let Some(ref crawl_attachments) = self.crawl_attachments {
2636 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlAttachments", crawl_attachments)?;
2637 }
2638 if let Some(ref exclude_attachment_file_patterns) = self.exclude_attachment_file_patterns {
2639 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeAttachmentFilePatterns", exclude_attachment_file_patterns)?;
2640 }
2641 if let Some(ref include_attachment_file_patterns) = self.include_attachment_file_patterns {
2642 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludeAttachmentFilePatterns", include_attachment_file_patterns)?;
2643 }
2644 if let Some(ref knowledge_article_configuration) = self.knowledge_article_configuration {
2645 ::serde::ser::SerializeMap::serialize_entry(&mut map, "KnowledgeArticleConfiguration", knowledge_article_configuration)?;
2646 }
2647 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
2648 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServerUrl", &self.server_url)?;
2649 if let Some(ref standard_object_attachment_configuration) = self.standard_object_attachment_configuration {
2650 ::serde::ser::SerializeMap::serialize_entry(&mut map, "StandardObjectAttachmentConfiguration", standard_object_attachment_configuration)?;
2651 }
2652 if let Some(ref standard_object_configurations) = self.standard_object_configurations {
2653 ::serde::ser::SerializeMap::serialize_entry(&mut map, "StandardObjectConfigurations", standard_object_configurations)?;
2654 }
2655 ::serde::ser::SerializeMap::end(map)
2656 }
2657 }
2658
2659 impl ::codec::DeserializeValue for SalesforceConfiguration {
2660 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceConfiguration, D::Error> {
2661 struct Visitor;
2662
2663 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2664 type Value = SalesforceConfiguration;
2665
2666 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2667 write!(f, "a struct of type SalesforceConfiguration")
2668 }
2669
2670 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2671 let mut chatter_feed_configuration: Option<::Value<SalesforceChatterFeedConfiguration>> = None;
2672 let mut crawl_attachments: Option<::Value<bool>> = None;
2673 let mut exclude_attachment_file_patterns: Option<::ValueList<String>> = None;
2674 let mut include_attachment_file_patterns: Option<::ValueList<String>> = None;
2675 let mut knowledge_article_configuration: Option<::Value<SalesforceKnowledgeArticleConfiguration>> = None;
2676 let mut secret_arn: Option<::Value<String>> = None;
2677 let mut server_url: Option<::Value<String>> = None;
2678 let mut standard_object_attachment_configuration: Option<::Value<SalesforceStandardObjectAttachmentConfiguration>> = None;
2679 let mut standard_object_configurations: Option<::ValueList<SalesforceStandardObjectConfiguration>> = None;
2680
2681 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2682 match __cfn_key.as_ref() {
2683 "ChatterFeedConfiguration" => {
2684 chatter_feed_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2685 }
2686 "CrawlAttachments" => {
2687 crawl_attachments = ::serde::de::MapAccess::next_value(&mut map)?;
2688 }
2689 "ExcludeAttachmentFilePatterns" => {
2690 exclude_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2691 }
2692 "IncludeAttachmentFilePatterns" => {
2693 include_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
2694 }
2695 "KnowledgeArticleConfiguration" => {
2696 knowledge_article_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2697 }
2698 "SecretArn" => {
2699 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
2700 }
2701 "ServerUrl" => {
2702 server_url = ::serde::de::MapAccess::next_value(&mut map)?;
2703 }
2704 "StandardObjectAttachmentConfiguration" => {
2705 standard_object_attachment_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2706 }
2707 "StandardObjectConfigurations" => {
2708 standard_object_configurations = ::serde::de::MapAccess::next_value(&mut map)?;
2709 }
2710 _ => {}
2711 }
2712 }
2713
2714 Ok(SalesforceConfiguration {
2715 chatter_feed_configuration: chatter_feed_configuration,
2716 crawl_attachments: crawl_attachments,
2717 exclude_attachment_file_patterns: exclude_attachment_file_patterns,
2718 include_attachment_file_patterns: include_attachment_file_patterns,
2719 knowledge_article_configuration: knowledge_article_configuration,
2720 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
2721 server_url: server_url.ok_or(::serde::de::Error::missing_field("ServerUrl"))?,
2722 standard_object_attachment_configuration: standard_object_attachment_configuration,
2723 standard_object_configurations: standard_object_configurations,
2724 })
2725 }
2726 }
2727
2728 d.deserialize_map(Visitor)
2729 }
2730 }
2731
2732 #[derive(Debug, Default)]
2734 pub struct SalesforceCustomKnowledgeArticleTypeConfiguration {
2735 pub document_data_field_name: ::Value<String>,
2740 pub document_title_field_name: Option<::Value<String>>,
2745 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2750 pub name: ::Value<String>,
2755 }
2756
2757 impl ::codec::SerializeValue for SalesforceCustomKnowledgeArticleTypeConfiguration {
2758 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2759 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2760 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
2761 if let Some(ref document_title_field_name) = self.document_title_field_name {
2762 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
2763 }
2764 if let Some(ref field_mappings) = self.field_mappings {
2765 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2766 }
2767 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
2768 ::serde::ser::SerializeMap::end(map)
2769 }
2770 }
2771
2772 impl ::codec::DeserializeValue for SalesforceCustomKnowledgeArticleTypeConfiguration {
2773 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceCustomKnowledgeArticleTypeConfiguration, D::Error> {
2774 struct Visitor;
2775
2776 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2777 type Value = SalesforceCustomKnowledgeArticleTypeConfiguration;
2778
2779 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2780 write!(f, "a struct of type SalesforceCustomKnowledgeArticleTypeConfiguration")
2781 }
2782
2783 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2784 let mut document_data_field_name: Option<::Value<String>> = None;
2785 let mut document_title_field_name: Option<::Value<String>> = None;
2786 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
2787 let mut name: Option<::Value<String>> = None;
2788
2789 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2790 match __cfn_key.as_ref() {
2791 "DocumentDataFieldName" => {
2792 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2793 }
2794 "DocumentTitleFieldName" => {
2795 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2796 }
2797 "FieldMappings" => {
2798 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
2799 }
2800 "Name" => {
2801 name = ::serde::de::MapAccess::next_value(&mut map)?;
2802 }
2803 _ => {}
2804 }
2805 }
2806
2807 Ok(SalesforceCustomKnowledgeArticleTypeConfiguration {
2808 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
2809 document_title_field_name: document_title_field_name,
2810 field_mappings: field_mappings,
2811 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
2812 })
2813 }
2814 }
2815
2816 d.deserialize_map(Visitor)
2817 }
2818 }
2819
2820 #[derive(Debug, Default)]
2822 pub struct SalesforceKnowledgeArticleConfiguration {
2823 pub custom_knowledge_article_type_configurations: Option<::ValueList<SalesforceCustomKnowledgeArticleTypeConfiguration>>,
2828 pub included_states: ::ValueList<String>,
2833 pub standard_knowledge_article_type_configuration: Option<::Value<SalesforceStandardKnowledgeArticleTypeConfiguration>>,
2838 }
2839
2840 impl ::codec::SerializeValue for SalesforceKnowledgeArticleConfiguration {
2841 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2842 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2843 if let Some(ref custom_knowledge_article_type_configurations) = self.custom_knowledge_article_type_configurations {
2844 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CustomKnowledgeArticleTypeConfigurations", custom_knowledge_article_type_configurations)?;
2845 }
2846 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludedStates", &self.included_states)?;
2847 if let Some(ref standard_knowledge_article_type_configuration) = self.standard_knowledge_article_type_configuration {
2848 ::serde::ser::SerializeMap::serialize_entry(&mut map, "StandardKnowledgeArticleTypeConfiguration", standard_knowledge_article_type_configuration)?;
2849 }
2850 ::serde::ser::SerializeMap::end(map)
2851 }
2852 }
2853
2854 impl ::codec::DeserializeValue for SalesforceKnowledgeArticleConfiguration {
2855 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceKnowledgeArticleConfiguration, D::Error> {
2856 struct Visitor;
2857
2858 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2859 type Value = SalesforceKnowledgeArticleConfiguration;
2860
2861 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2862 write!(f, "a struct of type SalesforceKnowledgeArticleConfiguration")
2863 }
2864
2865 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2866 let mut custom_knowledge_article_type_configurations: Option<::ValueList<SalesforceCustomKnowledgeArticleTypeConfiguration>> = None;
2867 let mut included_states: Option<::ValueList<String>> = None;
2868 let mut standard_knowledge_article_type_configuration: Option<::Value<SalesforceStandardKnowledgeArticleTypeConfiguration>> = None;
2869
2870 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2871 match __cfn_key.as_ref() {
2872 "CustomKnowledgeArticleTypeConfigurations" => {
2873 custom_knowledge_article_type_configurations = ::serde::de::MapAccess::next_value(&mut map)?;
2874 }
2875 "IncludedStates" => {
2876 included_states = ::serde::de::MapAccess::next_value(&mut map)?;
2877 }
2878 "StandardKnowledgeArticleTypeConfiguration" => {
2879 standard_knowledge_article_type_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
2880 }
2881 _ => {}
2882 }
2883 }
2884
2885 Ok(SalesforceKnowledgeArticleConfiguration {
2886 custom_knowledge_article_type_configurations: custom_knowledge_article_type_configurations,
2887 included_states: included_states.ok_or(::serde::de::Error::missing_field("IncludedStates"))?,
2888 standard_knowledge_article_type_configuration: standard_knowledge_article_type_configuration,
2889 })
2890 }
2891 }
2892
2893 d.deserialize_map(Visitor)
2894 }
2895 }
2896
2897 #[derive(Debug, Default)]
2899 pub struct SalesforceStandardKnowledgeArticleTypeConfiguration {
2900 pub document_data_field_name: ::Value<String>,
2905 pub document_title_field_name: Option<::Value<String>>,
2910 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2915 }
2916
2917 impl ::codec::SerializeValue for SalesforceStandardKnowledgeArticleTypeConfiguration {
2918 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2919 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2920 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
2921 if let Some(ref document_title_field_name) = self.document_title_field_name {
2922 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
2923 }
2924 if let Some(ref field_mappings) = self.field_mappings {
2925 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2926 }
2927 ::serde::ser::SerializeMap::end(map)
2928 }
2929 }
2930
2931 impl ::codec::DeserializeValue for SalesforceStandardKnowledgeArticleTypeConfiguration {
2932 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceStandardKnowledgeArticleTypeConfiguration, D::Error> {
2933 struct Visitor;
2934
2935 impl<'de> ::serde::de::Visitor<'de> for Visitor {
2936 type Value = SalesforceStandardKnowledgeArticleTypeConfiguration;
2937
2938 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
2939 write!(f, "a struct of type SalesforceStandardKnowledgeArticleTypeConfiguration")
2940 }
2941
2942 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
2943 let mut document_data_field_name: Option<::Value<String>> = None;
2944 let mut document_title_field_name: Option<::Value<String>> = None;
2945 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
2946
2947 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
2948 match __cfn_key.as_ref() {
2949 "DocumentDataFieldName" => {
2950 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2951 }
2952 "DocumentTitleFieldName" => {
2953 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
2954 }
2955 "FieldMappings" => {
2956 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
2957 }
2958 _ => {}
2959 }
2960 }
2961
2962 Ok(SalesforceStandardKnowledgeArticleTypeConfiguration {
2963 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
2964 document_title_field_name: document_title_field_name,
2965 field_mappings: field_mappings,
2966 })
2967 }
2968 }
2969
2970 d.deserialize_map(Visitor)
2971 }
2972 }
2973
2974 #[derive(Debug, Default)]
2976 pub struct SalesforceStandardObjectAttachmentConfiguration {
2977 pub document_title_field_name: Option<::Value<String>>,
2982 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
2987 }
2988
2989 impl ::codec::SerializeValue for SalesforceStandardObjectAttachmentConfiguration {
2990 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
2991 let mut map = ::serde::Serializer::serialize_map(s, None)?;
2992 if let Some(ref document_title_field_name) = self.document_title_field_name {
2993 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
2994 }
2995 if let Some(ref field_mappings) = self.field_mappings {
2996 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
2997 }
2998 ::serde::ser::SerializeMap::end(map)
2999 }
3000 }
3001
3002 impl ::codec::DeserializeValue for SalesforceStandardObjectAttachmentConfiguration {
3003 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceStandardObjectAttachmentConfiguration, D::Error> {
3004 struct Visitor;
3005
3006 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3007 type Value = SalesforceStandardObjectAttachmentConfiguration;
3008
3009 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3010 write!(f, "a struct of type SalesforceStandardObjectAttachmentConfiguration")
3011 }
3012
3013 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3014 let mut document_title_field_name: Option<::Value<String>> = None;
3015 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
3016
3017 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3018 match __cfn_key.as_ref() {
3019 "DocumentTitleFieldName" => {
3020 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3021 }
3022 "FieldMappings" => {
3023 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
3024 }
3025 _ => {}
3026 }
3027 }
3028
3029 Ok(SalesforceStandardObjectAttachmentConfiguration {
3030 document_title_field_name: document_title_field_name,
3031 field_mappings: field_mappings,
3032 })
3033 }
3034 }
3035
3036 d.deserialize_map(Visitor)
3037 }
3038 }
3039
3040 #[derive(Debug, Default)]
3042 pub struct SalesforceStandardObjectConfiguration {
3043 pub document_data_field_name: ::Value<String>,
3048 pub document_title_field_name: Option<::Value<String>>,
3053 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
3058 pub name: ::Value<String>,
3063 }
3064
3065 impl ::codec::SerializeValue for SalesforceStandardObjectConfiguration {
3066 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3067 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3068 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
3069 if let Some(ref document_title_field_name) = self.document_title_field_name {
3070 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
3071 }
3072 if let Some(ref field_mappings) = self.field_mappings {
3073 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
3074 }
3075 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
3076 ::serde::ser::SerializeMap::end(map)
3077 }
3078 }
3079
3080 impl ::codec::DeserializeValue for SalesforceStandardObjectConfiguration {
3081 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SalesforceStandardObjectConfiguration, D::Error> {
3082 struct Visitor;
3083
3084 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3085 type Value = SalesforceStandardObjectConfiguration;
3086
3087 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3088 write!(f, "a struct of type SalesforceStandardObjectConfiguration")
3089 }
3090
3091 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3092 let mut document_data_field_name: Option<::Value<String>> = None;
3093 let mut document_title_field_name: Option<::Value<String>> = None;
3094 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
3095 let mut name: Option<::Value<String>> = None;
3096
3097 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3098 match __cfn_key.as_ref() {
3099 "DocumentDataFieldName" => {
3100 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3101 }
3102 "DocumentTitleFieldName" => {
3103 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3104 }
3105 "FieldMappings" => {
3106 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
3107 }
3108 "Name" => {
3109 name = ::serde::de::MapAccess::next_value(&mut map)?;
3110 }
3111 _ => {}
3112 }
3113 }
3114
3115 Ok(SalesforceStandardObjectConfiguration {
3116 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
3117 document_title_field_name: document_title_field_name,
3118 field_mappings: field_mappings,
3119 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
3120 })
3121 }
3122 }
3123
3124 d.deserialize_map(Visitor)
3125 }
3126 }
3127
3128 #[derive(Debug, Default)]
3130 pub struct ServiceNowConfiguration {
3131 pub host_url: ::Value<String>,
3136 pub knowledge_article_configuration: Option<::Value<ServiceNowKnowledgeArticleConfiguration>>,
3141 pub secret_arn: ::Value<String>,
3146 pub service_catalog_configuration: Option<::Value<ServiceNowServiceCatalogConfiguration>>,
3151 pub service_now_build_version: ::Value<String>,
3156 }
3157
3158 impl ::codec::SerializeValue for ServiceNowConfiguration {
3159 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3160 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3161 ::serde::ser::SerializeMap::serialize_entry(&mut map, "HostUrl", &self.host_url)?;
3162 if let Some(ref knowledge_article_configuration) = self.knowledge_article_configuration {
3163 ::serde::ser::SerializeMap::serialize_entry(&mut map, "KnowledgeArticleConfiguration", knowledge_article_configuration)?;
3164 }
3165 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
3166 if let Some(ref service_catalog_configuration) = self.service_catalog_configuration {
3167 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServiceCatalogConfiguration", service_catalog_configuration)?;
3168 }
3169 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ServiceNowBuildVersion", &self.service_now_build_version)?;
3170 ::serde::ser::SerializeMap::end(map)
3171 }
3172 }
3173
3174 impl ::codec::DeserializeValue for ServiceNowConfiguration {
3175 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ServiceNowConfiguration, D::Error> {
3176 struct Visitor;
3177
3178 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3179 type Value = ServiceNowConfiguration;
3180
3181 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3182 write!(f, "a struct of type ServiceNowConfiguration")
3183 }
3184
3185 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3186 let mut host_url: Option<::Value<String>> = None;
3187 let mut knowledge_article_configuration: Option<::Value<ServiceNowKnowledgeArticleConfiguration>> = None;
3188 let mut secret_arn: Option<::Value<String>> = None;
3189 let mut service_catalog_configuration: Option<::Value<ServiceNowServiceCatalogConfiguration>> = None;
3190 let mut service_now_build_version: Option<::Value<String>> = None;
3191
3192 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3193 match __cfn_key.as_ref() {
3194 "HostUrl" => {
3195 host_url = ::serde::de::MapAccess::next_value(&mut map)?;
3196 }
3197 "KnowledgeArticleConfiguration" => {
3198 knowledge_article_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
3199 }
3200 "SecretArn" => {
3201 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
3202 }
3203 "ServiceCatalogConfiguration" => {
3204 service_catalog_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
3205 }
3206 "ServiceNowBuildVersion" => {
3207 service_now_build_version = ::serde::de::MapAccess::next_value(&mut map)?;
3208 }
3209 _ => {}
3210 }
3211 }
3212
3213 Ok(ServiceNowConfiguration {
3214 host_url: host_url.ok_or(::serde::de::Error::missing_field("HostUrl"))?,
3215 knowledge_article_configuration: knowledge_article_configuration,
3216 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
3217 service_catalog_configuration: service_catalog_configuration,
3218 service_now_build_version: service_now_build_version.ok_or(::serde::de::Error::missing_field("ServiceNowBuildVersion"))?,
3219 })
3220 }
3221 }
3222
3223 d.deserialize_map(Visitor)
3224 }
3225 }
3226
3227 #[derive(Debug, Default)]
3229 pub struct ServiceNowKnowledgeArticleConfiguration {
3230 pub crawl_attachments: Option<::Value<bool>>,
3235 pub document_data_field_name: ::Value<String>,
3240 pub document_title_field_name: Option<::Value<String>>,
3245 pub exclude_attachment_file_patterns: Option<::ValueList<String>>,
3250 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
3255 pub include_attachment_file_patterns: Option<::ValueList<String>>,
3260 }
3261
3262 impl ::codec::SerializeValue for ServiceNowKnowledgeArticleConfiguration {
3263 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3264 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3265 if let Some(ref crawl_attachments) = self.crawl_attachments {
3266 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlAttachments", crawl_attachments)?;
3267 }
3268 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
3269 if let Some(ref document_title_field_name) = self.document_title_field_name {
3270 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
3271 }
3272 if let Some(ref exclude_attachment_file_patterns) = self.exclude_attachment_file_patterns {
3273 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeAttachmentFilePatterns", exclude_attachment_file_patterns)?;
3274 }
3275 if let Some(ref field_mappings) = self.field_mappings {
3276 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
3277 }
3278 if let Some(ref include_attachment_file_patterns) = self.include_attachment_file_patterns {
3279 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludeAttachmentFilePatterns", include_attachment_file_patterns)?;
3280 }
3281 ::serde::ser::SerializeMap::end(map)
3282 }
3283 }
3284
3285 impl ::codec::DeserializeValue for ServiceNowKnowledgeArticleConfiguration {
3286 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ServiceNowKnowledgeArticleConfiguration, D::Error> {
3287 struct Visitor;
3288
3289 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3290 type Value = ServiceNowKnowledgeArticleConfiguration;
3291
3292 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3293 write!(f, "a struct of type ServiceNowKnowledgeArticleConfiguration")
3294 }
3295
3296 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3297 let mut crawl_attachments: Option<::Value<bool>> = None;
3298 let mut document_data_field_name: Option<::Value<String>> = None;
3299 let mut document_title_field_name: Option<::Value<String>> = None;
3300 let mut exclude_attachment_file_patterns: Option<::ValueList<String>> = None;
3301 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
3302 let mut include_attachment_file_patterns: Option<::ValueList<String>> = None;
3303
3304 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3305 match __cfn_key.as_ref() {
3306 "CrawlAttachments" => {
3307 crawl_attachments = ::serde::de::MapAccess::next_value(&mut map)?;
3308 }
3309 "DocumentDataFieldName" => {
3310 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3311 }
3312 "DocumentTitleFieldName" => {
3313 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3314 }
3315 "ExcludeAttachmentFilePatterns" => {
3316 exclude_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3317 }
3318 "FieldMappings" => {
3319 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
3320 }
3321 "IncludeAttachmentFilePatterns" => {
3322 include_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3323 }
3324 _ => {}
3325 }
3326 }
3327
3328 Ok(ServiceNowKnowledgeArticleConfiguration {
3329 crawl_attachments: crawl_attachments,
3330 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
3331 document_title_field_name: document_title_field_name,
3332 exclude_attachment_file_patterns: exclude_attachment_file_patterns,
3333 field_mappings: field_mappings,
3334 include_attachment_file_patterns: include_attachment_file_patterns,
3335 })
3336 }
3337 }
3338
3339 d.deserialize_map(Visitor)
3340 }
3341 }
3342
3343 #[derive(Debug, Default)]
3345 pub struct ServiceNowServiceCatalogConfiguration {
3346 pub crawl_attachments: Option<::Value<bool>>,
3351 pub document_data_field_name: ::Value<String>,
3356 pub document_title_field_name: Option<::Value<String>>,
3361 pub exclude_attachment_file_patterns: Option<::ValueList<String>>,
3366 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
3371 pub include_attachment_file_patterns: Option<::ValueList<String>>,
3376 }
3377
3378 impl ::codec::SerializeValue for ServiceNowServiceCatalogConfiguration {
3379 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3380 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3381 if let Some(ref crawl_attachments) = self.crawl_attachments {
3382 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlAttachments", crawl_attachments)?;
3383 }
3384 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentDataFieldName", &self.document_data_field_name)?;
3385 if let Some(ref document_title_field_name) = self.document_title_field_name {
3386 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
3387 }
3388 if let Some(ref exclude_attachment_file_patterns) = self.exclude_attachment_file_patterns {
3389 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExcludeAttachmentFilePatterns", exclude_attachment_file_patterns)?;
3390 }
3391 if let Some(ref field_mappings) = self.field_mappings {
3392 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
3393 }
3394 if let Some(ref include_attachment_file_patterns) = self.include_attachment_file_patterns {
3395 ::serde::ser::SerializeMap::serialize_entry(&mut map, "IncludeAttachmentFilePatterns", include_attachment_file_patterns)?;
3396 }
3397 ::serde::ser::SerializeMap::end(map)
3398 }
3399 }
3400
3401 impl ::codec::DeserializeValue for ServiceNowServiceCatalogConfiguration {
3402 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ServiceNowServiceCatalogConfiguration, D::Error> {
3403 struct Visitor;
3404
3405 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3406 type Value = ServiceNowServiceCatalogConfiguration;
3407
3408 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3409 write!(f, "a struct of type ServiceNowServiceCatalogConfiguration")
3410 }
3411
3412 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3413 let mut crawl_attachments: Option<::Value<bool>> = None;
3414 let mut document_data_field_name: Option<::Value<String>> = None;
3415 let mut document_title_field_name: Option<::Value<String>> = None;
3416 let mut exclude_attachment_file_patterns: Option<::ValueList<String>> = None;
3417 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
3418 let mut include_attachment_file_patterns: Option<::ValueList<String>> = None;
3419
3420 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3421 match __cfn_key.as_ref() {
3422 "CrawlAttachments" => {
3423 crawl_attachments = ::serde::de::MapAccess::next_value(&mut map)?;
3424 }
3425 "DocumentDataFieldName" => {
3426 document_data_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3427 }
3428 "DocumentTitleFieldName" => {
3429 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3430 }
3431 "ExcludeAttachmentFilePatterns" => {
3432 exclude_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3433 }
3434 "FieldMappings" => {
3435 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
3436 }
3437 "IncludeAttachmentFilePatterns" => {
3438 include_attachment_file_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3439 }
3440 _ => {}
3441 }
3442 }
3443
3444 Ok(ServiceNowServiceCatalogConfiguration {
3445 crawl_attachments: crawl_attachments,
3446 document_data_field_name: document_data_field_name.ok_or(::serde::de::Error::missing_field("DocumentDataFieldName"))?,
3447 document_title_field_name: document_title_field_name,
3448 exclude_attachment_file_patterns: exclude_attachment_file_patterns,
3449 field_mappings: field_mappings,
3450 include_attachment_file_patterns: include_attachment_file_patterns,
3451 })
3452 }
3453 }
3454
3455 d.deserialize_map(Visitor)
3456 }
3457 }
3458
3459 #[derive(Debug, Default)]
3461 pub struct SharePointConfiguration {
3462 pub crawl_attachments: Option<::Value<bool>>,
3467 pub disable_local_groups: Option<::Value<bool>>,
3472 pub document_title_field_name: Option<::Value<String>>,
3477 pub exclusion_patterns: Option<::ValueList<String>>,
3482 pub field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>>,
3487 pub inclusion_patterns: Option<::ValueList<String>>,
3492 pub secret_arn: ::Value<String>,
3497 pub share_point_version: ::Value<String>,
3502 pub urls: ::ValueList<String>,
3507 pub use_change_log: Option<::Value<bool>>,
3512 pub vpc_configuration: Option<::Value<DataSourceVpcConfiguration>>,
3517 }
3518
3519 impl ::codec::SerializeValue for SharePointConfiguration {
3520 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3521 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3522 if let Some(ref crawl_attachments) = self.crawl_attachments {
3523 ::serde::ser::SerializeMap::serialize_entry(&mut map, "CrawlAttachments", crawl_attachments)?;
3524 }
3525 if let Some(ref disable_local_groups) = self.disable_local_groups {
3526 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DisableLocalGroups", disable_local_groups)?;
3527 }
3528 if let Some(ref document_title_field_name) = self.document_title_field_name {
3529 ::serde::ser::SerializeMap::serialize_entry(&mut map, "DocumentTitleFieldName", document_title_field_name)?;
3530 }
3531 if let Some(ref exclusion_patterns) = self.exclusion_patterns {
3532 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ExclusionPatterns", exclusion_patterns)?;
3533 }
3534 if let Some(ref field_mappings) = self.field_mappings {
3535 ::serde::ser::SerializeMap::serialize_entry(&mut map, "FieldMappings", field_mappings)?;
3536 }
3537 if let Some(ref inclusion_patterns) = self.inclusion_patterns {
3538 ::serde::ser::SerializeMap::serialize_entry(&mut map, "InclusionPatterns", inclusion_patterns)?;
3539 }
3540 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretArn", &self.secret_arn)?;
3541 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SharePointVersion", &self.share_point_version)?;
3542 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Urls", &self.urls)?;
3543 if let Some(ref use_change_log) = self.use_change_log {
3544 ::serde::ser::SerializeMap::serialize_entry(&mut map, "UseChangeLog", use_change_log)?;
3545 }
3546 if let Some(ref vpc_configuration) = self.vpc_configuration {
3547 ::serde::ser::SerializeMap::serialize_entry(&mut map, "VpcConfiguration", vpc_configuration)?;
3548 }
3549 ::serde::ser::SerializeMap::end(map)
3550 }
3551 }
3552
3553 impl ::codec::DeserializeValue for SharePointConfiguration {
3554 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SharePointConfiguration, D::Error> {
3555 struct Visitor;
3556
3557 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3558 type Value = SharePointConfiguration;
3559
3560 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3561 write!(f, "a struct of type SharePointConfiguration")
3562 }
3563
3564 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3565 let mut crawl_attachments: Option<::Value<bool>> = None;
3566 let mut disable_local_groups: Option<::Value<bool>> = None;
3567 let mut document_title_field_name: Option<::Value<String>> = None;
3568 let mut exclusion_patterns: Option<::ValueList<String>> = None;
3569 let mut field_mappings: Option<::ValueList<DataSourceToIndexFieldMapping>> = None;
3570 let mut inclusion_patterns: Option<::ValueList<String>> = None;
3571 let mut secret_arn: Option<::Value<String>> = None;
3572 let mut share_point_version: Option<::Value<String>> = None;
3573 let mut urls: Option<::ValueList<String>> = None;
3574 let mut use_change_log: Option<::Value<bool>> = None;
3575 let mut vpc_configuration: Option<::Value<DataSourceVpcConfiguration>> = None;
3576
3577 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3578 match __cfn_key.as_ref() {
3579 "CrawlAttachments" => {
3580 crawl_attachments = ::serde::de::MapAccess::next_value(&mut map)?;
3581 }
3582 "DisableLocalGroups" => {
3583 disable_local_groups = ::serde::de::MapAccess::next_value(&mut map)?;
3584 }
3585 "DocumentTitleFieldName" => {
3586 document_title_field_name = ::serde::de::MapAccess::next_value(&mut map)?;
3587 }
3588 "ExclusionPatterns" => {
3589 exclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3590 }
3591 "FieldMappings" => {
3592 field_mappings = ::serde::de::MapAccess::next_value(&mut map)?;
3593 }
3594 "InclusionPatterns" => {
3595 inclusion_patterns = ::serde::de::MapAccess::next_value(&mut map)?;
3596 }
3597 "SecretArn" => {
3598 secret_arn = ::serde::de::MapAccess::next_value(&mut map)?;
3599 }
3600 "SharePointVersion" => {
3601 share_point_version = ::serde::de::MapAccess::next_value(&mut map)?;
3602 }
3603 "Urls" => {
3604 urls = ::serde::de::MapAccess::next_value(&mut map)?;
3605 }
3606 "UseChangeLog" => {
3607 use_change_log = ::serde::de::MapAccess::next_value(&mut map)?;
3608 }
3609 "VpcConfiguration" => {
3610 vpc_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
3611 }
3612 _ => {}
3613 }
3614 }
3615
3616 Ok(SharePointConfiguration {
3617 crawl_attachments: crawl_attachments,
3618 disable_local_groups: disable_local_groups,
3619 document_title_field_name: document_title_field_name,
3620 exclusion_patterns: exclusion_patterns,
3621 field_mappings: field_mappings,
3622 inclusion_patterns: inclusion_patterns,
3623 secret_arn: secret_arn.ok_or(::serde::de::Error::missing_field("SecretArn"))?,
3624 share_point_version: share_point_version.ok_or(::serde::de::Error::missing_field("SharePointVersion"))?,
3625 urls: urls.ok_or(::serde::de::Error::missing_field("Urls"))?,
3626 use_change_log: use_change_log,
3627 vpc_configuration: vpc_configuration,
3628 })
3629 }
3630 }
3631
3632 d.deserialize_map(Visitor)
3633 }
3634 }
3635
3636 #[derive(Debug, Default)]
3638 pub struct SqlConfiguration {
3639 pub query_identifiers_enclosing_option: Option<::Value<String>>,
3644 }
3645
3646 impl ::codec::SerializeValue for SqlConfiguration {
3647 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3648 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3649 if let Some(ref query_identifiers_enclosing_option) = self.query_identifiers_enclosing_option {
3650 ::serde::ser::SerializeMap::serialize_entry(&mut map, "QueryIdentifiersEnclosingOption", query_identifiers_enclosing_option)?;
3651 }
3652 ::serde::ser::SerializeMap::end(map)
3653 }
3654 }
3655
3656 impl ::codec::DeserializeValue for SqlConfiguration {
3657 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<SqlConfiguration, D::Error> {
3658 struct Visitor;
3659
3660 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3661 type Value = SqlConfiguration;
3662
3663 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3664 write!(f, "a struct of type SqlConfiguration")
3665 }
3666
3667 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3668 let mut query_identifiers_enclosing_option: Option<::Value<String>> = None;
3669
3670 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3671 match __cfn_key.as_ref() {
3672 "QueryIdentifiersEnclosingOption" => {
3673 query_identifiers_enclosing_option = ::serde::de::MapAccess::next_value(&mut map)?;
3674 }
3675 _ => {}
3676 }
3677 }
3678
3679 Ok(SqlConfiguration {
3680 query_identifiers_enclosing_option: query_identifiers_enclosing_option,
3681 })
3682 }
3683 }
3684
3685 d.deserialize_map(Visitor)
3686 }
3687 }
3688}
3689
3690pub mod faq {
3691 #[derive(Debug, Default)]
3695 pub struct S3Path {
3696 pub bucket: ::Value<String>,
3701 pub key: ::Value<String>,
3706 }
3707
3708 impl ::codec::SerializeValue for S3Path {
3709 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3710 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3711 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Bucket", &self.bucket)?;
3712 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Key", &self.key)?;
3713 ::serde::ser::SerializeMap::end(map)
3714 }
3715 }
3716
3717 impl ::codec::DeserializeValue for S3Path {
3718 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<S3Path, D::Error> {
3719 struct Visitor;
3720
3721 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3722 type Value = S3Path;
3723
3724 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3725 write!(f, "a struct of type S3Path")
3726 }
3727
3728 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3729 let mut bucket: Option<::Value<String>> = None;
3730 let mut key: Option<::Value<String>> = None;
3731
3732 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3733 match __cfn_key.as_ref() {
3734 "Bucket" => {
3735 bucket = ::serde::de::MapAccess::next_value(&mut map)?;
3736 }
3737 "Key" => {
3738 key = ::serde::de::MapAccess::next_value(&mut map)?;
3739 }
3740 _ => {}
3741 }
3742 }
3743
3744 Ok(S3Path {
3745 bucket: bucket.ok_or(::serde::de::Error::missing_field("Bucket"))?,
3746 key: key.ok_or(::serde::de::Error::missing_field("Key"))?,
3747 })
3748 }
3749 }
3750
3751 d.deserialize_map(Visitor)
3752 }
3753 }
3754}
3755
3756pub mod index {
3757 #[derive(Debug, Default)]
3761 pub struct CapacityUnitsConfiguration {
3762 pub query_capacity_units: ::Value<u32>,
3767 pub storage_capacity_units: ::Value<u32>,
3772 }
3773
3774 impl ::codec::SerializeValue for CapacityUnitsConfiguration {
3775 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3776 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3777 ::serde::ser::SerializeMap::serialize_entry(&mut map, "QueryCapacityUnits", &self.query_capacity_units)?;
3778 ::serde::ser::SerializeMap::serialize_entry(&mut map, "StorageCapacityUnits", &self.storage_capacity_units)?;
3779 ::serde::ser::SerializeMap::end(map)
3780 }
3781 }
3782
3783 impl ::codec::DeserializeValue for CapacityUnitsConfiguration {
3784 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<CapacityUnitsConfiguration, D::Error> {
3785 struct Visitor;
3786
3787 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3788 type Value = CapacityUnitsConfiguration;
3789
3790 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3791 write!(f, "a struct of type CapacityUnitsConfiguration")
3792 }
3793
3794 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3795 let mut query_capacity_units: Option<::Value<u32>> = None;
3796 let mut storage_capacity_units: Option<::Value<u32>> = None;
3797
3798 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3799 match __cfn_key.as_ref() {
3800 "QueryCapacityUnits" => {
3801 query_capacity_units = ::serde::de::MapAccess::next_value(&mut map)?;
3802 }
3803 "StorageCapacityUnits" => {
3804 storage_capacity_units = ::serde::de::MapAccess::next_value(&mut map)?;
3805 }
3806 _ => {}
3807 }
3808 }
3809
3810 Ok(CapacityUnitsConfiguration {
3811 query_capacity_units: query_capacity_units.ok_or(::serde::de::Error::missing_field("QueryCapacityUnits"))?,
3812 storage_capacity_units: storage_capacity_units.ok_or(::serde::de::Error::missing_field("StorageCapacityUnits"))?,
3813 })
3814 }
3815 }
3816
3817 d.deserialize_map(Visitor)
3818 }
3819 }
3820
3821 #[derive(Debug, Default)]
3823 pub struct DocumentMetadataConfiguration {
3824 pub name: ::Value<String>,
3829 pub relevance: Option<::Value<Relevance>>,
3834 pub search: Option<::Value<Search>>,
3839 pub r#type: ::Value<String>,
3844 }
3845
3846 impl ::codec::SerializeValue for DocumentMetadataConfiguration {
3847 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3848 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3849 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Name", &self.name)?;
3850 if let Some(ref relevance) = self.relevance {
3851 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Relevance", relevance)?;
3852 }
3853 if let Some(ref search) = self.search {
3854 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Search", search)?;
3855 }
3856 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Type", &self.r#type)?;
3857 ::serde::ser::SerializeMap::end(map)
3858 }
3859 }
3860
3861 impl ::codec::DeserializeValue for DocumentMetadataConfiguration {
3862 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<DocumentMetadataConfiguration, D::Error> {
3863 struct Visitor;
3864
3865 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3866 type Value = DocumentMetadataConfiguration;
3867
3868 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3869 write!(f, "a struct of type DocumentMetadataConfiguration")
3870 }
3871
3872 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3873 let mut name: Option<::Value<String>> = None;
3874 let mut relevance: Option<::Value<Relevance>> = None;
3875 let mut search: Option<::Value<Search>> = None;
3876 let mut r#type: Option<::Value<String>> = None;
3877
3878 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3879 match __cfn_key.as_ref() {
3880 "Name" => {
3881 name = ::serde::de::MapAccess::next_value(&mut map)?;
3882 }
3883 "Relevance" => {
3884 relevance = ::serde::de::MapAccess::next_value(&mut map)?;
3885 }
3886 "Search" => {
3887 search = ::serde::de::MapAccess::next_value(&mut map)?;
3888 }
3889 "Type" => {
3890 r#type = ::serde::de::MapAccess::next_value(&mut map)?;
3891 }
3892 _ => {}
3893 }
3894 }
3895
3896 Ok(DocumentMetadataConfiguration {
3897 name: name.ok_or(::serde::de::Error::missing_field("Name"))?,
3898 relevance: relevance,
3899 search: search,
3900 r#type: r#type.ok_or(::serde::de::Error::missing_field("Type"))?,
3901 })
3902 }
3903 }
3904
3905 d.deserialize_map(Visitor)
3906 }
3907 }
3908
3909 #[derive(Debug, Default)]
3911 pub struct JsonTokenTypeConfiguration {
3912 pub group_attribute_field: ::Value<String>,
3917 pub user_name_attribute_field: ::Value<String>,
3922 }
3923
3924 impl ::codec::SerializeValue for JsonTokenTypeConfiguration {
3925 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
3926 let mut map = ::serde::Serializer::serialize_map(s, None)?;
3927 ::serde::ser::SerializeMap::serialize_entry(&mut map, "GroupAttributeField", &self.group_attribute_field)?;
3928 ::serde::ser::SerializeMap::serialize_entry(&mut map, "UserNameAttributeField", &self.user_name_attribute_field)?;
3929 ::serde::ser::SerializeMap::end(map)
3930 }
3931 }
3932
3933 impl ::codec::DeserializeValue for JsonTokenTypeConfiguration {
3934 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<JsonTokenTypeConfiguration, D::Error> {
3935 struct Visitor;
3936
3937 impl<'de> ::serde::de::Visitor<'de> for Visitor {
3938 type Value = JsonTokenTypeConfiguration;
3939
3940 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
3941 write!(f, "a struct of type JsonTokenTypeConfiguration")
3942 }
3943
3944 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
3945 let mut group_attribute_field: Option<::Value<String>> = None;
3946 let mut user_name_attribute_field: Option<::Value<String>> = None;
3947
3948 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
3949 match __cfn_key.as_ref() {
3950 "GroupAttributeField" => {
3951 group_attribute_field = ::serde::de::MapAccess::next_value(&mut map)?;
3952 }
3953 "UserNameAttributeField" => {
3954 user_name_attribute_field = ::serde::de::MapAccess::next_value(&mut map)?;
3955 }
3956 _ => {}
3957 }
3958 }
3959
3960 Ok(JsonTokenTypeConfiguration {
3961 group_attribute_field: group_attribute_field.ok_or(::serde::de::Error::missing_field("GroupAttributeField"))?,
3962 user_name_attribute_field: user_name_attribute_field.ok_or(::serde::de::Error::missing_field("UserNameAttributeField"))?,
3963 })
3964 }
3965 }
3966
3967 d.deserialize_map(Visitor)
3968 }
3969 }
3970
3971 #[derive(Debug, Default)]
3973 pub struct JwtTokenTypeConfiguration {
3974 pub claim_regex: Option<::Value<String>>,
3979 pub group_attribute_field: Option<::Value<String>>,
3984 pub issuer: Option<::Value<String>>,
3989 pub key_location: ::Value<String>,
3994 pub secret_manager_arn: Option<::Value<String>>,
3999 pub url: Option<::Value<String>>,
4004 pub user_name_attribute_field: Option<::Value<String>>,
4009 }
4010
4011 impl ::codec::SerializeValue for JwtTokenTypeConfiguration {
4012 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4013 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4014 if let Some(ref claim_regex) = self.claim_regex {
4015 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ClaimRegex", claim_regex)?;
4016 }
4017 if let Some(ref group_attribute_field) = self.group_attribute_field {
4018 ::serde::ser::SerializeMap::serialize_entry(&mut map, "GroupAttributeField", group_attribute_field)?;
4019 }
4020 if let Some(ref issuer) = self.issuer {
4021 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Issuer", issuer)?;
4022 }
4023 ::serde::ser::SerializeMap::serialize_entry(&mut map, "KeyLocation", &self.key_location)?;
4024 if let Some(ref secret_manager_arn) = self.secret_manager_arn {
4025 ::serde::ser::SerializeMap::serialize_entry(&mut map, "SecretManagerArn", secret_manager_arn)?;
4026 }
4027 if let Some(ref url) = self.url {
4028 ::serde::ser::SerializeMap::serialize_entry(&mut map, "URL", url)?;
4029 }
4030 if let Some(ref user_name_attribute_field) = self.user_name_attribute_field {
4031 ::serde::ser::SerializeMap::serialize_entry(&mut map, "UserNameAttributeField", user_name_attribute_field)?;
4032 }
4033 ::serde::ser::SerializeMap::end(map)
4034 }
4035 }
4036
4037 impl ::codec::DeserializeValue for JwtTokenTypeConfiguration {
4038 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<JwtTokenTypeConfiguration, D::Error> {
4039 struct Visitor;
4040
4041 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4042 type Value = JwtTokenTypeConfiguration;
4043
4044 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4045 write!(f, "a struct of type JwtTokenTypeConfiguration")
4046 }
4047
4048 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4049 let mut claim_regex: Option<::Value<String>> = None;
4050 let mut group_attribute_field: Option<::Value<String>> = None;
4051 let mut issuer: Option<::Value<String>> = None;
4052 let mut key_location: Option<::Value<String>> = None;
4053 let mut secret_manager_arn: Option<::Value<String>> = None;
4054 let mut url: Option<::Value<String>> = None;
4055 let mut user_name_attribute_field: Option<::Value<String>> = None;
4056
4057 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4058 match __cfn_key.as_ref() {
4059 "ClaimRegex" => {
4060 claim_regex = ::serde::de::MapAccess::next_value(&mut map)?;
4061 }
4062 "GroupAttributeField" => {
4063 group_attribute_field = ::serde::de::MapAccess::next_value(&mut map)?;
4064 }
4065 "Issuer" => {
4066 issuer = ::serde::de::MapAccess::next_value(&mut map)?;
4067 }
4068 "KeyLocation" => {
4069 key_location = ::serde::de::MapAccess::next_value(&mut map)?;
4070 }
4071 "SecretManagerArn" => {
4072 secret_manager_arn = ::serde::de::MapAccess::next_value(&mut map)?;
4073 }
4074 "URL" => {
4075 url = ::serde::de::MapAccess::next_value(&mut map)?;
4076 }
4077 "UserNameAttributeField" => {
4078 user_name_attribute_field = ::serde::de::MapAccess::next_value(&mut map)?;
4079 }
4080 _ => {}
4081 }
4082 }
4083
4084 Ok(JwtTokenTypeConfiguration {
4085 claim_regex: claim_regex,
4086 group_attribute_field: group_attribute_field,
4087 issuer: issuer,
4088 key_location: key_location.ok_or(::serde::de::Error::missing_field("KeyLocation"))?,
4089 secret_manager_arn: secret_manager_arn,
4090 url: url,
4091 user_name_attribute_field: user_name_attribute_field,
4092 })
4093 }
4094 }
4095
4096 d.deserialize_map(Visitor)
4097 }
4098 }
4099
4100 #[derive(Debug, Default)]
4102 pub struct Relevance {
4103 pub duration: Option<::Value<String>>,
4108 pub freshness: Option<::Value<bool>>,
4113 pub importance: Option<::Value<u32>>,
4118 pub rank_order: Option<::Value<String>>,
4123 pub value_importance_items: Option<::ValueList<ValueImportanceItem>>,
4128 }
4129
4130 impl ::codec::SerializeValue for Relevance {
4131 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4132 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4133 if let Some(ref duration) = self.duration {
4134 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Duration", duration)?;
4135 }
4136 if let Some(ref freshness) = self.freshness {
4137 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Freshness", freshness)?;
4138 }
4139 if let Some(ref importance) = self.importance {
4140 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Importance", importance)?;
4141 }
4142 if let Some(ref rank_order) = self.rank_order {
4143 ::serde::ser::SerializeMap::serialize_entry(&mut map, "RankOrder", rank_order)?;
4144 }
4145 if let Some(ref value_importance_items) = self.value_importance_items {
4146 ::serde::ser::SerializeMap::serialize_entry(&mut map, "ValueImportanceItems", value_importance_items)?;
4147 }
4148 ::serde::ser::SerializeMap::end(map)
4149 }
4150 }
4151
4152 impl ::codec::DeserializeValue for Relevance {
4153 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<Relevance, D::Error> {
4154 struct Visitor;
4155
4156 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4157 type Value = Relevance;
4158
4159 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4160 write!(f, "a struct of type Relevance")
4161 }
4162
4163 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4164 let mut duration: Option<::Value<String>> = None;
4165 let mut freshness: Option<::Value<bool>> = None;
4166 let mut importance: Option<::Value<u32>> = None;
4167 let mut rank_order: Option<::Value<String>> = None;
4168 let mut value_importance_items: Option<::ValueList<ValueImportanceItem>> = None;
4169
4170 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4171 match __cfn_key.as_ref() {
4172 "Duration" => {
4173 duration = ::serde::de::MapAccess::next_value(&mut map)?;
4174 }
4175 "Freshness" => {
4176 freshness = ::serde::de::MapAccess::next_value(&mut map)?;
4177 }
4178 "Importance" => {
4179 importance = ::serde::de::MapAccess::next_value(&mut map)?;
4180 }
4181 "RankOrder" => {
4182 rank_order = ::serde::de::MapAccess::next_value(&mut map)?;
4183 }
4184 "ValueImportanceItems" => {
4185 value_importance_items = ::serde::de::MapAccess::next_value(&mut map)?;
4186 }
4187 _ => {}
4188 }
4189 }
4190
4191 Ok(Relevance {
4192 duration: duration,
4193 freshness: freshness,
4194 importance: importance,
4195 rank_order: rank_order,
4196 value_importance_items: value_importance_items,
4197 })
4198 }
4199 }
4200
4201 d.deserialize_map(Visitor)
4202 }
4203 }
4204
4205 #[derive(Debug, Default)]
4207 pub struct Search {
4208 pub displayable: Option<::Value<bool>>,
4213 pub facetable: Option<::Value<bool>>,
4218 pub searchable: Option<::Value<bool>>,
4223 pub sortable: Option<::Value<bool>>,
4228 }
4229
4230 impl ::codec::SerializeValue for Search {
4231 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4232 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4233 if let Some(ref displayable) = self.displayable {
4234 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Displayable", displayable)?;
4235 }
4236 if let Some(ref facetable) = self.facetable {
4237 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Facetable", facetable)?;
4238 }
4239 if let Some(ref searchable) = self.searchable {
4240 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Searchable", searchable)?;
4241 }
4242 if let Some(ref sortable) = self.sortable {
4243 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Sortable", sortable)?;
4244 }
4245 ::serde::ser::SerializeMap::end(map)
4246 }
4247 }
4248
4249 impl ::codec::DeserializeValue for Search {
4250 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<Search, D::Error> {
4251 struct Visitor;
4252
4253 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4254 type Value = Search;
4255
4256 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4257 write!(f, "a struct of type Search")
4258 }
4259
4260 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4261 let mut displayable: Option<::Value<bool>> = None;
4262 let mut facetable: Option<::Value<bool>> = None;
4263 let mut searchable: Option<::Value<bool>> = None;
4264 let mut sortable: Option<::Value<bool>> = None;
4265
4266 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4267 match __cfn_key.as_ref() {
4268 "Displayable" => {
4269 displayable = ::serde::de::MapAccess::next_value(&mut map)?;
4270 }
4271 "Facetable" => {
4272 facetable = ::serde::de::MapAccess::next_value(&mut map)?;
4273 }
4274 "Searchable" => {
4275 searchable = ::serde::de::MapAccess::next_value(&mut map)?;
4276 }
4277 "Sortable" => {
4278 sortable = ::serde::de::MapAccess::next_value(&mut map)?;
4279 }
4280 _ => {}
4281 }
4282 }
4283
4284 Ok(Search {
4285 displayable: displayable,
4286 facetable: facetable,
4287 searchable: searchable,
4288 sortable: sortable,
4289 })
4290 }
4291 }
4292
4293 d.deserialize_map(Visitor)
4294 }
4295 }
4296
4297 #[derive(Debug, Default)]
4299 pub struct ServerSideEncryptionConfiguration {
4300 pub kms_key_id: Option<::Value<String>>,
4305 }
4306
4307 impl ::codec::SerializeValue for ServerSideEncryptionConfiguration {
4308 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4309 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4310 if let Some(ref kms_key_id) = self.kms_key_id {
4311 ::serde::ser::SerializeMap::serialize_entry(&mut map, "KmsKeyId", kms_key_id)?;
4312 }
4313 ::serde::ser::SerializeMap::end(map)
4314 }
4315 }
4316
4317 impl ::codec::DeserializeValue for ServerSideEncryptionConfiguration {
4318 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ServerSideEncryptionConfiguration, D::Error> {
4319 struct Visitor;
4320
4321 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4322 type Value = ServerSideEncryptionConfiguration;
4323
4324 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4325 write!(f, "a struct of type ServerSideEncryptionConfiguration")
4326 }
4327
4328 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4329 let mut kms_key_id: Option<::Value<String>> = None;
4330
4331 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4332 match __cfn_key.as_ref() {
4333 "KmsKeyId" => {
4334 kms_key_id = ::serde::de::MapAccess::next_value(&mut map)?;
4335 }
4336 _ => {}
4337 }
4338 }
4339
4340 Ok(ServerSideEncryptionConfiguration {
4341 kms_key_id: kms_key_id,
4342 })
4343 }
4344 }
4345
4346 d.deserialize_map(Visitor)
4347 }
4348 }
4349
4350 #[derive(Debug, Default)]
4352 pub struct UserTokenConfiguration {
4353 pub json_token_type_configuration: Option<::Value<JsonTokenTypeConfiguration>>,
4358 pub jwt_token_type_configuration: Option<::Value<JwtTokenTypeConfiguration>>,
4363 }
4364
4365 impl ::codec::SerializeValue for UserTokenConfiguration {
4366 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4367 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4368 if let Some(ref json_token_type_configuration) = self.json_token_type_configuration {
4369 ::serde::ser::SerializeMap::serialize_entry(&mut map, "JsonTokenTypeConfiguration", json_token_type_configuration)?;
4370 }
4371 if let Some(ref jwt_token_type_configuration) = self.jwt_token_type_configuration {
4372 ::serde::ser::SerializeMap::serialize_entry(&mut map, "JwtTokenTypeConfiguration", jwt_token_type_configuration)?;
4373 }
4374 ::serde::ser::SerializeMap::end(map)
4375 }
4376 }
4377
4378 impl ::codec::DeserializeValue for UserTokenConfiguration {
4379 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<UserTokenConfiguration, D::Error> {
4380 struct Visitor;
4381
4382 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4383 type Value = UserTokenConfiguration;
4384
4385 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4386 write!(f, "a struct of type UserTokenConfiguration")
4387 }
4388
4389 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4390 let mut json_token_type_configuration: Option<::Value<JsonTokenTypeConfiguration>> = None;
4391 let mut jwt_token_type_configuration: Option<::Value<JwtTokenTypeConfiguration>> = None;
4392
4393 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4394 match __cfn_key.as_ref() {
4395 "JsonTokenTypeConfiguration" => {
4396 json_token_type_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
4397 }
4398 "JwtTokenTypeConfiguration" => {
4399 jwt_token_type_configuration = ::serde::de::MapAccess::next_value(&mut map)?;
4400 }
4401 _ => {}
4402 }
4403 }
4404
4405 Ok(UserTokenConfiguration {
4406 json_token_type_configuration: json_token_type_configuration,
4407 jwt_token_type_configuration: jwt_token_type_configuration,
4408 })
4409 }
4410 }
4411
4412 d.deserialize_map(Visitor)
4413 }
4414 }
4415
4416 #[derive(Debug, Default)]
4418 pub struct ValueImportanceItem {
4419 pub key: Option<::Value<String>>,
4424 pub value: Option<::Value<u32>>,
4429 }
4430
4431 impl ::codec::SerializeValue for ValueImportanceItem {
4432 fn serialize<S: ::serde::Serializer>(&self, s: S) -> Result<S::Ok, S::Error> {
4433 let mut map = ::serde::Serializer::serialize_map(s, None)?;
4434 if let Some(ref key) = self.key {
4435 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Key", key)?;
4436 }
4437 if let Some(ref value) = self.value {
4438 ::serde::ser::SerializeMap::serialize_entry(&mut map, "Value", value)?;
4439 }
4440 ::serde::ser::SerializeMap::end(map)
4441 }
4442 }
4443
4444 impl ::codec::DeserializeValue for ValueImportanceItem {
4445 fn deserialize<'de, D: ::serde::Deserializer<'de>>(d: D) -> Result<ValueImportanceItem, D::Error> {
4446 struct Visitor;
4447
4448 impl<'de> ::serde::de::Visitor<'de> for Visitor {
4449 type Value = ValueImportanceItem;
4450
4451 fn expecting(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
4452 write!(f, "a struct of type ValueImportanceItem")
4453 }
4454
4455 fn visit_map<A: ::serde::de::MapAccess<'de>>(self, mut map: A) -> Result<Self::Value, A::Error> {
4456 let mut key: Option<::Value<String>> = None;
4457 let mut value: Option<::Value<u32>> = None;
4458
4459 while let Some(__cfn_key) = ::serde::de::MapAccess::next_key::<String>(&mut map)? {
4460 match __cfn_key.as_ref() {
4461 "Key" => {
4462 key = ::serde::de::MapAccess::next_value(&mut map)?;
4463 }
4464 "Value" => {
4465 value = ::serde::de::MapAccess::next_value(&mut map)?;
4466 }
4467 _ => {}
4468 }
4469 }
4470
4471 Ok(ValueImportanceItem {
4472 key: key,
4473 value: value,
4474 })
4475 }
4476 }
4477
4478 d.deserialize_map(Visitor)
4479 }
4480 }
4481}