aws_sdk_backupgateway/types/
_vmware_to_aws_tag_mapping.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct VmwareToAwsTagMapping {
7 pub vmware_category: ::std::string::String,
9 pub vmware_tag_name: ::std::string::String,
11 pub aws_tag_key: ::std::string::String,
13 pub aws_tag_value: ::std::string::String,
15}
16impl VmwareToAwsTagMapping {
17 pub fn vmware_category(&self) -> &str {
19 use std::ops::Deref;
20 self.vmware_category.deref()
21 }
22 pub fn vmware_tag_name(&self) -> &str {
24 use std::ops::Deref;
25 self.vmware_tag_name.deref()
26 }
27 pub fn aws_tag_key(&self) -> &str {
29 use std::ops::Deref;
30 self.aws_tag_key.deref()
31 }
32 pub fn aws_tag_value(&self) -> &str {
34 use std::ops::Deref;
35 self.aws_tag_value.deref()
36 }
37}
38impl VmwareToAwsTagMapping {
39 pub fn builder() -> crate::types::builders::VmwareToAwsTagMappingBuilder {
41 crate::types::builders::VmwareToAwsTagMappingBuilder::default()
42 }
43}
44
45#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
47#[non_exhaustive]
48pub struct VmwareToAwsTagMappingBuilder {
49 pub(crate) vmware_category: ::std::option::Option<::std::string::String>,
50 pub(crate) vmware_tag_name: ::std::option::Option<::std::string::String>,
51 pub(crate) aws_tag_key: ::std::option::Option<::std::string::String>,
52 pub(crate) aws_tag_value: ::std::option::Option<::std::string::String>,
53}
54impl VmwareToAwsTagMappingBuilder {
55 pub fn vmware_category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
58 self.vmware_category = ::std::option::Option::Some(input.into());
59 self
60 }
61 pub fn set_vmware_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
63 self.vmware_category = input;
64 self
65 }
66 pub fn get_vmware_category(&self) -> &::std::option::Option<::std::string::String> {
68 &self.vmware_category
69 }
70 pub fn vmware_tag_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
73 self.vmware_tag_name = ::std::option::Option::Some(input.into());
74 self
75 }
76 pub fn set_vmware_tag_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
78 self.vmware_tag_name = input;
79 self
80 }
81 pub fn get_vmware_tag_name(&self) -> &::std::option::Option<::std::string::String> {
83 &self.vmware_tag_name
84 }
85 pub fn aws_tag_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
88 self.aws_tag_key = ::std::option::Option::Some(input.into());
89 self
90 }
91 pub fn set_aws_tag_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
93 self.aws_tag_key = input;
94 self
95 }
96 pub fn get_aws_tag_key(&self) -> &::std::option::Option<::std::string::String> {
98 &self.aws_tag_key
99 }
100 pub fn aws_tag_value(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
103 self.aws_tag_value = ::std::option::Option::Some(input.into());
104 self
105 }
106 pub fn set_aws_tag_value(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
108 self.aws_tag_value = input;
109 self
110 }
111 pub fn get_aws_tag_value(&self) -> &::std::option::Option<::std::string::String> {
113 &self.aws_tag_value
114 }
115 pub fn build(self) -> ::std::result::Result<crate::types::VmwareToAwsTagMapping, ::aws_smithy_types::error::operation::BuildError> {
122 ::std::result::Result::Ok(crate::types::VmwareToAwsTagMapping {
123 vmware_category: self.vmware_category.ok_or_else(|| {
124 ::aws_smithy_types::error::operation::BuildError::missing_field(
125 "vmware_category",
126 "vmware_category was not specified but it is required when building VmwareToAwsTagMapping",
127 )
128 })?,
129 vmware_tag_name: self.vmware_tag_name.ok_or_else(|| {
130 ::aws_smithy_types::error::operation::BuildError::missing_field(
131 "vmware_tag_name",
132 "vmware_tag_name was not specified but it is required when building VmwareToAwsTagMapping",
133 )
134 })?,
135 aws_tag_key: self.aws_tag_key.ok_or_else(|| {
136 ::aws_smithy_types::error::operation::BuildError::missing_field(
137 "aws_tag_key",
138 "aws_tag_key was not specified but it is required when building VmwareToAwsTagMapping",
139 )
140 })?,
141 aws_tag_value: self.aws_tag_value.ok_or_else(|| {
142 ::aws_smithy_types::error::operation::BuildError::missing_field(
143 "aws_tag_value",
144 "aws_tag_value was not specified but it is required when building VmwareToAwsTagMapping",
145 )
146 })?,
147 })
148 }
149}