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
/*
 * Selling Partner API for Notifications
 *
 * The Selling Partner API for Notifications lets you subscribe to notifications that are relevant to a selling partner's business. Using this API you can create a destination to receive notifications, subscribe to notifications, delete notification subscriptions, and more.  For more information, see the [Notifications Use Case Guide](doc:notifications-api-v1-use-case-guide).
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

/// Subscription : Represents a subscription to receive notifications.



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Subscription {
    /// The subscription identifier generated when the subscription is created.
    #[serde(default, rename = "subscriptionId")]
    pub subscription_id: String,
    /// The version of the payload object to be used in the notification.
    #[serde(default, rename = "payloadVersion")]
    pub payload_version: String,
    /// The identifier for the destination where notifications will be delivered.
    #[serde(default, rename = "destinationId")]
    pub destination_id: String,
    #[serde(default, rename = "processingDirective", skip_serializing_if = "Option::is_none")]
    pub processing_directive: Option<Box<crate::models::ProcessingDirective>>,
}

impl Subscription {
    /// Represents a subscription to receive notifications.
    pub fn new(subscription_id: String, payload_version: String, destination_id: String) -> Subscription {
        Subscription {
            subscription_id,
            payload_version,
            destination_id,
            processing_directive: None,
        }
    }
}