aws_sdk_costexplorer/types/
_ec2_resource_utilization.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct Ec2ResourceUtilization {
7 pub max_cpu_utilization_percentage: ::std::option::Option<::std::string::String>,
9 pub max_memory_utilization_percentage: ::std::option::Option<::std::string::String>,
11 pub max_storage_utilization_percentage: ::std::option::Option<::std::string::String>,
13 pub ebs_resource_utilization: ::std::option::Option<crate::types::EbsResourceUtilization>,
15 pub disk_resource_utilization: ::std::option::Option<crate::types::DiskResourceUtilization>,
17 pub network_resource_utilization: ::std::option::Option<crate::types::NetworkResourceUtilization>,
19}
20impl Ec2ResourceUtilization {
21 pub fn max_cpu_utilization_percentage(&self) -> ::std::option::Option<&str> {
23 self.max_cpu_utilization_percentage.as_deref()
24 }
25 pub fn max_memory_utilization_percentage(&self) -> ::std::option::Option<&str> {
27 self.max_memory_utilization_percentage.as_deref()
28 }
29 pub fn max_storage_utilization_percentage(&self) -> ::std::option::Option<&str> {
31 self.max_storage_utilization_percentage.as_deref()
32 }
33 pub fn ebs_resource_utilization(&self) -> ::std::option::Option<&crate::types::EbsResourceUtilization> {
35 self.ebs_resource_utilization.as_ref()
36 }
37 pub fn disk_resource_utilization(&self) -> ::std::option::Option<&crate::types::DiskResourceUtilization> {
39 self.disk_resource_utilization.as_ref()
40 }
41 pub fn network_resource_utilization(&self) -> ::std::option::Option<&crate::types::NetworkResourceUtilization> {
43 self.network_resource_utilization.as_ref()
44 }
45}
46impl Ec2ResourceUtilization {
47 pub fn builder() -> crate::types::builders::Ec2ResourceUtilizationBuilder {
49 crate::types::builders::Ec2ResourceUtilizationBuilder::default()
50 }
51}
52
53#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
55#[non_exhaustive]
56pub struct Ec2ResourceUtilizationBuilder {
57 pub(crate) max_cpu_utilization_percentage: ::std::option::Option<::std::string::String>,
58 pub(crate) max_memory_utilization_percentage: ::std::option::Option<::std::string::String>,
59 pub(crate) max_storage_utilization_percentage: ::std::option::Option<::std::string::String>,
60 pub(crate) ebs_resource_utilization: ::std::option::Option<crate::types::EbsResourceUtilization>,
61 pub(crate) disk_resource_utilization: ::std::option::Option<crate::types::DiskResourceUtilization>,
62 pub(crate) network_resource_utilization: ::std::option::Option<crate::types::NetworkResourceUtilization>,
63}
64impl Ec2ResourceUtilizationBuilder {
65 pub fn max_cpu_utilization_percentage(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
67 self.max_cpu_utilization_percentage = ::std::option::Option::Some(input.into());
68 self
69 }
70 pub fn set_max_cpu_utilization_percentage(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
72 self.max_cpu_utilization_percentage = input;
73 self
74 }
75 pub fn get_max_cpu_utilization_percentage(&self) -> &::std::option::Option<::std::string::String> {
77 &self.max_cpu_utilization_percentage
78 }
79 pub fn max_memory_utilization_percentage(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
81 self.max_memory_utilization_percentage = ::std::option::Option::Some(input.into());
82 self
83 }
84 pub fn set_max_memory_utilization_percentage(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
86 self.max_memory_utilization_percentage = input;
87 self
88 }
89 pub fn get_max_memory_utilization_percentage(&self) -> &::std::option::Option<::std::string::String> {
91 &self.max_memory_utilization_percentage
92 }
93 pub fn max_storage_utilization_percentage(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
95 self.max_storage_utilization_percentage = ::std::option::Option::Some(input.into());
96 self
97 }
98 pub fn set_max_storage_utilization_percentage(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
100 self.max_storage_utilization_percentage = input;
101 self
102 }
103 pub fn get_max_storage_utilization_percentage(&self) -> &::std::option::Option<::std::string::String> {
105 &self.max_storage_utilization_percentage
106 }
107 pub fn ebs_resource_utilization(mut self, input: crate::types::EbsResourceUtilization) -> Self {
109 self.ebs_resource_utilization = ::std::option::Option::Some(input);
110 self
111 }
112 pub fn set_ebs_resource_utilization(mut self, input: ::std::option::Option<crate::types::EbsResourceUtilization>) -> Self {
114 self.ebs_resource_utilization = input;
115 self
116 }
117 pub fn get_ebs_resource_utilization(&self) -> &::std::option::Option<crate::types::EbsResourceUtilization> {
119 &self.ebs_resource_utilization
120 }
121 pub fn disk_resource_utilization(mut self, input: crate::types::DiskResourceUtilization) -> Self {
123 self.disk_resource_utilization = ::std::option::Option::Some(input);
124 self
125 }
126 pub fn set_disk_resource_utilization(mut self, input: ::std::option::Option<crate::types::DiskResourceUtilization>) -> Self {
128 self.disk_resource_utilization = input;
129 self
130 }
131 pub fn get_disk_resource_utilization(&self) -> &::std::option::Option<crate::types::DiskResourceUtilization> {
133 &self.disk_resource_utilization
134 }
135 pub fn network_resource_utilization(mut self, input: crate::types::NetworkResourceUtilization) -> Self {
137 self.network_resource_utilization = ::std::option::Option::Some(input);
138 self
139 }
140 pub fn set_network_resource_utilization(mut self, input: ::std::option::Option<crate::types::NetworkResourceUtilization>) -> Self {
142 self.network_resource_utilization = input;
143 self
144 }
145 pub fn get_network_resource_utilization(&self) -> &::std::option::Option<crate::types::NetworkResourceUtilization> {
147 &self.network_resource_utilization
148 }
149 pub fn build(self) -> crate::types::Ec2ResourceUtilization {
151 crate::types::Ec2ResourceUtilization {
152 max_cpu_utilization_percentage: self.max_cpu_utilization_percentage,
153 max_memory_utilization_percentage: self.max_memory_utilization_percentage,
154 max_storage_utilization_percentage: self.max_storage_utilization_percentage,
155 ebs_resource_utilization: self.ebs_resource_utilization,
156 disk_resource_utilization: self.disk_resource_utilization,
157 network_resource_utilization: self.network_resource_utilization,
158 }
159 }
160}