1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 * Selling Partner API for A+ Content Management
 *
 * With the A+ Content API, you can build applications that help selling partners add rich marketing content to their Amazon product detail pages. A+ content helps selling partners share their brand and product story, which helps buyers make informed purchasing decisions. Selling partners assemble content by choosing from content modules and adding images and text.
 *
 * The version of the OpenAPI document: 2020-11-01
 * 
 * Generated by: https://openapi-generator.tech
 */

/// ContentModule : An A+ Content module. An A+ Content document is composed of content modules. The contentModuleType property selects which content module types to use.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct ContentModule {
    #[serde(default, rename = "contentModuleType")]
    pub content_module_type: crate::models::ContentModuleType,
    #[serde(default, rename = "standardCompanyLogo", skip_serializing_if = "Option::is_none")]
    pub standard_company_logo: Option<Box<crate::models::StandardCompanyLogoModule>>,
    #[serde(default, rename = "standardComparisonTable", skip_serializing_if = "Option::is_none")]
    pub standard_comparison_table: Option<Box<crate::models::StandardComparisonTableModule>>,
    #[serde(default, rename = "standardFourImageText", skip_serializing_if = "Option::is_none")]
    pub standard_four_image_text: Option<Box<crate::models::StandardFourImageTextModule>>,
    #[serde(default, rename = "standardFourImageTextQuadrant", skip_serializing_if = "Option::is_none")]
    pub standard_four_image_text_quadrant: Option<Box<crate::models::StandardFourImageTextQuadrantModule>>,
    #[serde(default, rename = "standardHeaderImageText", skip_serializing_if = "Option::is_none")]
    pub standard_header_image_text: Option<Box<crate::models::StandardHeaderImageTextModule>>,
    #[serde(default, rename = "standardImageSidebar", skip_serializing_if = "Option::is_none")]
    pub standard_image_sidebar: Option<Box<crate::models::StandardImageSidebarModule>>,
    #[serde(default, rename = "standardImageTextOverlay", skip_serializing_if = "Option::is_none")]
    pub standard_image_text_overlay: Option<Box<crate::models::StandardImageTextOverlayModule>>,
    #[serde(default, rename = "standardMultipleImageText", skip_serializing_if = "Option::is_none")]
    pub standard_multiple_image_text: Option<Box<crate::models::StandardMultipleImageTextModule>>,
    #[serde(default, rename = "standardProductDescription", skip_serializing_if = "Option::is_none")]
    pub standard_product_description: Option<Box<crate::models::StandardProductDescriptionModule>>,
    #[serde(default, rename = "standardSingleImageHighlights", skip_serializing_if = "Option::is_none")]
    pub standard_single_image_highlights: Option<Box<crate::models::StandardSingleImageHighlightsModule>>,
    #[serde(default, rename = "standardSingleImageSpecsDetail", skip_serializing_if = "Option::is_none")]
    pub standard_single_image_specs_detail: Option<Box<crate::models::StandardSingleImageSpecsDetailModule>>,
    #[serde(default, rename = "standardSingleSideImage", skip_serializing_if = "Option::is_none")]
    pub standard_single_side_image: Option<Box<crate::models::StandardSingleSideImageModule>>,
    #[serde(default, rename = "standardTechSpecs", skip_serializing_if = "Option::is_none")]
    pub standard_tech_specs: Option<Box<crate::models::StandardTechSpecsModule>>,
    #[serde(default, rename = "standardText", skip_serializing_if = "Option::is_none")]
    pub standard_text: Option<Box<crate::models::StandardTextModule>>,
    #[serde(default, rename = "standardThreeImageText", skip_serializing_if = "Option::is_none")]
    pub standard_three_image_text: Option<Box<crate::models::StandardThreeImageTextModule>>,
}

impl ContentModule {
    /// An A+ Content module. An A+ Content document is composed of content modules. The contentModuleType property selects which content module types to use.
    pub fn new(content_module_type: crate::models::ContentModuleType) -> ContentModule {
        ContentModule {
            content_module_type,
            standard_company_logo: None,
            standard_comparison_table: None,
            standard_four_image_text: None,
            standard_four_image_text_quadrant: None,
            standard_header_image_text: None,
            standard_image_sidebar: None,
            standard_image_text_overlay: None,
            standard_multiple_image_text: None,
            standard_product_description: None,
            standard_single_image_highlights: None,
            standard_single_image_specs_detail: None,
            standard_single_side_image: None,
            standard_tech_specs: None,
            standard_text: None,
            standard_three_image_text: None,
        }
    }
}