aws_sdk_qbusiness/operation/create_subscription/
_create_subscription_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct CreateSubscriptionOutput {
6    /// <p>The identifier of the Amazon Q Business subscription created.</p>
7    pub subscription_id: ::std::option::Option<::std::string::String>,
8    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.</p>
9    pub subscription_arn: ::std::option::Option<::std::string::String>,
10    /// <p>The type of your current Amazon Q Business subscription.</p>
11    pub current_subscription: ::std::option::Option<crate::types::SubscriptionDetails>,
12    /// <p>The type of the Amazon Q Business subscription for the next month.</p>
13    pub next_subscription: ::std::option::Option<crate::types::SubscriptionDetails>,
14    _request_id: Option<String>,
15}
16impl CreateSubscriptionOutput {
17    /// <p>The identifier of the Amazon Q Business subscription created.</p>
18    pub fn subscription_id(&self) -> ::std::option::Option<&str> {
19        self.subscription_id.as_deref()
20    }
21    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.</p>
22    pub fn subscription_arn(&self) -> ::std::option::Option<&str> {
23        self.subscription_arn.as_deref()
24    }
25    /// <p>The type of your current Amazon Q Business subscription.</p>
26    pub fn current_subscription(&self) -> ::std::option::Option<&crate::types::SubscriptionDetails> {
27        self.current_subscription.as_ref()
28    }
29    /// <p>The type of the Amazon Q Business subscription for the next month.</p>
30    pub fn next_subscription(&self) -> ::std::option::Option<&crate::types::SubscriptionDetails> {
31        self.next_subscription.as_ref()
32    }
33}
34impl ::aws_types::request_id::RequestId for CreateSubscriptionOutput {
35    fn request_id(&self) -> Option<&str> {
36        self._request_id.as_deref()
37    }
38}
39impl CreateSubscriptionOutput {
40    /// Creates a new builder-style object to manufacture [`CreateSubscriptionOutput`](crate::operation::create_subscription::CreateSubscriptionOutput).
41    pub fn builder() -> crate::operation::create_subscription::builders::CreateSubscriptionOutputBuilder {
42        crate::operation::create_subscription::builders::CreateSubscriptionOutputBuilder::default()
43    }
44}
45
46/// A builder for [`CreateSubscriptionOutput`](crate::operation::create_subscription::CreateSubscriptionOutput).
47#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
48#[non_exhaustive]
49pub struct CreateSubscriptionOutputBuilder {
50    pub(crate) subscription_id: ::std::option::Option<::std::string::String>,
51    pub(crate) subscription_arn: ::std::option::Option<::std::string::String>,
52    pub(crate) current_subscription: ::std::option::Option<crate::types::SubscriptionDetails>,
53    pub(crate) next_subscription: ::std::option::Option<crate::types::SubscriptionDetails>,
54    _request_id: Option<String>,
55}
56impl CreateSubscriptionOutputBuilder {
57    /// <p>The identifier of the Amazon Q Business subscription created.</p>
58    pub fn subscription_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
59        self.subscription_id = ::std::option::Option::Some(input.into());
60        self
61    }
62    /// <p>The identifier of the Amazon Q Business subscription created.</p>
63    pub fn set_subscription_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
64        self.subscription_id = input;
65        self
66    }
67    /// <p>The identifier of the Amazon Q Business subscription created.</p>
68    pub fn get_subscription_id(&self) -> &::std::option::Option<::std::string::String> {
69        &self.subscription_id
70    }
71    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.</p>
72    pub fn subscription_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
73        self.subscription_arn = ::std::option::Option::Some(input.into());
74        self
75    }
76    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.</p>
77    pub fn set_subscription_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
78        self.subscription_arn = input;
79        self
80    }
81    /// <p>The Amazon Resource Name (ARN) of the Amazon Q Business subscription created.</p>
82    pub fn get_subscription_arn(&self) -> &::std::option::Option<::std::string::String> {
83        &self.subscription_arn
84    }
85    /// <p>The type of your current Amazon Q Business subscription.</p>
86    pub fn current_subscription(mut self, input: crate::types::SubscriptionDetails) -> Self {
87        self.current_subscription = ::std::option::Option::Some(input);
88        self
89    }
90    /// <p>The type of your current Amazon Q Business subscription.</p>
91    pub fn set_current_subscription(mut self, input: ::std::option::Option<crate::types::SubscriptionDetails>) -> Self {
92        self.current_subscription = input;
93        self
94    }
95    /// <p>The type of your current Amazon Q Business subscription.</p>
96    pub fn get_current_subscription(&self) -> &::std::option::Option<crate::types::SubscriptionDetails> {
97        &self.current_subscription
98    }
99    /// <p>The type of the Amazon Q Business subscription for the next month.</p>
100    pub fn next_subscription(mut self, input: crate::types::SubscriptionDetails) -> Self {
101        self.next_subscription = ::std::option::Option::Some(input);
102        self
103    }
104    /// <p>The type of the Amazon Q Business subscription for the next month.</p>
105    pub fn set_next_subscription(mut self, input: ::std::option::Option<crate::types::SubscriptionDetails>) -> Self {
106        self.next_subscription = input;
107        self
108    }
109    /// <p>The type of the Amazon Q Business subscription for the next month.</p>
110    pub fn get_next_subscription(&self) -> &::std::option::Option<crate::types::SubscriptionDetails> {
111        &self.next_subscription
112    }
113    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
114        self._request_id = Some(request_id.into());
115        self
116    }
117
118    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
119        self._request_id = request_id;
120        self
121    }
122    /// Consumes the builder and constructs a [`CreateSubscriptionOutput`](crate::operation::create_subscription::CreateSubscriptionOutput).
123    pub fn build(self) -> crate::operation::create_subscription::CreateSubscriptionOutput {
124        crate::operation::create_subscription::CreateSubscriptionOutput {
125            subscription_id: self.subscription_id,
126            subscription_arn: self.subscription_arn,
127            current_subscription: self.current_subscription,
128            next_subscription: self.next_subscription,
129            _request_id: self._request_id,
130        }
131    }
132}