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
/*
 * 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
 */

/// PublishRecord : The full context for an A+ Content publishing event.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct PublishRecord {
    /// The identifier for the marketplace where the A+ Content is published.
    #[serde(default, rename = "marketplaceId")]
    pub marketplace_id: String,
    /// The IETF language tag. This only supports the primary language subtag with one secondary language subtag. The secondary language subtag is almost always a regional designation. This does not support additional subtags beyond the primary and secondary subtags. **Pattern:** ^[a-z]{2,}-[A-Z0-9]{2,}$
    #[serde(default, rename = "locale")]
    pub locale: String,
    /// The Amazon Standard Identification Number (ASIN).
    #[serde(default, rename = "asin")]
    pub asin: String,
    #[serde(default, rename = "contentType")]
    pub content_type: crate::models::ContentType,
    /// The A+ Content document subtype. This represents a special-purpose type of an A+ Content document. Not every A+ Content document type will have a subtype, and subtypes may change at any time.
    #[serde(default, rename = "contentSubType", skip_serializing_if = "Option::is_none")]
    pub content_sub_type: Option<String>,
    /// A unique reference key for the A+ Content document. A content reference key cannot form a permalink and may change in the future. A content reference key is not guaranteed to match any A+ content identifier.
    #[serde(default, rename = "contentReferenceKey")]
    pub content_reference_key: String,
}

impl PublishRecord {
    /// The full context for an A+ Content publishing event.
    pub fn new(marketplace_id: String, locale: String, asin: String, content_type: crate::models::ContentType, content_reference_key: String) -> PublishRecord {
        PublishRecord {
            marketplace_id,
            locale,
            asin,
            content_type,
            content_sub_type: None,
            content_reference_key,
        }
    }
}