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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>An object which details a discovered Linux subscription.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Subscription {
/// <p>The name of the subscription.</p>
pub name: ::std::option::Option<::std::string::String>,
/// <p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>
pub r#type: ::std::option::Option<::std::string::String>,
/// <p>The total amount of running instances using this subscription.</p>
pub instance_count: ::std::option::Option<i64>,
}
impl Subscription {
/// <p>The name of the subscription.</p>
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
/// <p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>
pub fn r#type(&self) -> ::std::option::Option<&str> {
self.r#type.as_deref()
}
/// <p>The total amount of running instances using this subscription.</p>
pub fn instance_count(&self) -> ::std::option::Option<i64> {
self.instance_count
}
}
impl Subscription {
/// Creates a new builder-style object to manufacture [`Subscription`](crate::types::Subscription).
pub fn builder() -> crate::types::builders::SubscriptionBuilder {
crate::types::builders::SubscriptionBuilder::default()
}
}
/// A builder for [`Subscription`](crate::types::Subscription).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct SubscriptionBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<::std::string::String>,
pub(crate) instance_count: ::std::option::Option<i64>,
}
impl SubscriptionBuilder {
/// <p>The name of the subscription.</p>
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the subscription.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
/// <p>The name of the subscription.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
/// <p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>
pub fn r#type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.r#type = ::std::option::Option::Some(input.into());
self
}
/// <p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>
pub fn set_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.r#type = input;
self
}
/// <p>The type of subscription. The type can be subscription-included with Amazon EC2, Bring Your Own Subscription model (BYOS), or from the Amazon Web Services Marketplace. Certain subscriptions may use licensing from the Amazon Web Services Marketplace as well as OS licensing from Amazon EC2 or BYOS.</p>
pub fn get_type(&self) -> &::std::option::Option<::std::string::String> {
&self.r#type
}
/// <p>The total amount of running instances using this subscription.</p>
pub fn instance_count(mut self, input: i64) -> Self {
self.instance_count = ::std::option::Option::Some(input);
self
}
/// <p>The total amount of running instances using this subscription.</p>
pub fn set_instance_count(mut self, input: ::std::option::Option<i64>) -> Self {
self.instance_count = input;
self
}
/// <p>The total amount of running instances using this subscription.</p>
pub fn get_instance_count(&self) -> &::std::option::Option<i64> {
&self.instance_count
}
/// Consumes the builder and constructs a [`Subscription`](crate::types::Subscription).
pub fn build(self) -> crate::types::Subscription {
crate::types::Subscription {
name: self.name,
r#type: self.r#type,
instance_count: self.instance_count,
}
}
}