aws_sdk_appmesh/types/
_virtual_node_data.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct VirtualNodeData {
7 pub mesh_name: ::std::string::String,
9 pub virtual_node_name: ::std::string::String,
11 pub spec: ::std::option::Option<crate::types::VirtualNodeSpec>,
13 pub metadata: ::std::option::Option<crate::types::ResourceMetadata>,
15 pub status: ::std::option::Option<crate::types::VirtualNodeStatus>,
17}
18impl VirtualNodeData {
19 pub fn mesh_name(&self) -> &str {
21 use std::ops::Deref;
22 self.mesh_name.deref()
23 }
24 pub fn virtual_node_name(&self) -> &str {
26 use std::ops::Deref;
27 self.virtual_node_name.deref()
28 }
29 pub fn spec(&self) -> ::std::option::Option<&crate::types::VirtualNodeSpec> {
31 self.spec.as_ref()
32 }
33 pub fn metadata(&self) -> ::std::option::Option<&crate::types::ResourceMetadata> {
35 self.metadata.as_ref()
36 }
37 pub fn status(&self) -> ::std::option::Option<&crate::types::VirtualNodeStatus> {
39 self.status.as_ref()
40 }
41}
42impl VirtualNodeData {
43 pub fn builder() -> crate::types::builders::VirtualNodeDataBuilder {
45 crate::types::builders::VirtualNodeDataBuilder::default()
46 }
47}
48
49#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
51#[non_exhaustive]
52pub struct VirtualNodeDataBuilder {
53 pub(crate) mesh_name: ::std::option::Option<::std::string::String>,
54 pub(crate) virtual_node_name: ::std::option::Option<::std::string::String>,
55 pub(crate) spec: ::std::option::Option<crate::types::VirtualNodeSpec>,
56 pub(crate) metadata: ::std::option::Option<crate::types::ResourceMetadata>,
57 pub(crate) status: ::std::option::Option<crate::types::VirtualNodeStatus>,
58}
59impl VirtualNodeDataBuilder {
60 pub fn mesh_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
63 self.mesh_name = ::std::option::Option::Some(input.into());
64 self
65 }
66 pub fn set_mesh_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
68 self.mesh_name = input;
69 self
70 }
71 pub fn get_mesh_name(&self) -> &::std::option::Option<::std::string::String> {
73 &self.mesh_name
74 }
75 pub fn virtual_node_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
78 self.virtual_node_name = ::std::option::Option::Some(input.into());
79 self
80 }
81 pub fn set_virtual_node_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
83 self.virtual_node_name = input;
84 self
85 }
86 pub fn get_virtual_node_name(&self) -> &::std::option::Option<::std::string::String> {
88 &self.virtual_node_name
89 }
90 pub fn spec(mut self, input: crate::types::VirtualNodeSpec) -> Self {
93 self.spec = ::std::option::Option::Some(input);
94 self
95 }
96 pub fn set_spec(mut self, input: ::std::option::Option<crate::types::VirtualNodeSpec>) -> Self {
98 self.spec = input;
99 self
100 }
101 pub fn get_spec(&self) -> &::std::option::Option<crate::types::VirtualNodeSpec> {
103 &self.spec
104 }
105 pub fn metadata(mut self, input: crate::types::ResourceMetadata) -> Self {
108 self.metadata = ::std::option::Option::Some(input);
109 self
110 }
111 pub fn set_metadata(mut self, input: ::std::option::Option<crate::types::ResourceMetadata>) -> Self {
113 self.metadata = input;
114 self
115 }
116 pub fn get_metadata(&self) -> &::std::option::Option<crate::types::ResourceMetadata> {
118 &self.metadata
119 }
120 pub fn status(mut self, input: crate::types::VirtualNodeStatus) -> Self {
123 self.status = ::std::option::Option::Some(input);
124 self
125 }
126 pub fn set_status(mut self, input: ::std::option::Option<crate::types::VirtualNodeStatus>) -> Self {
128 self.status = input;
129 self
130 }
131 pub fn get_status(&self) -> &::std::option::Option<crate::types::VirtualNodeStatus> {
133 &self.status
134 }
135 pub fn build(self) -> ::std::result::Result<crate::types::VirtualNodeData, ::aws_smithy_types::error::operation::BuildError> {
140 ::std::result::Result::Ok(crate::types::VirtualNodeData {
141 mesh_name: self.mesh_name.ok_or_else(|| {
142 ::aws_smithy_types::error::operation::BuildError::missing_field(
143 "mesh_name",
144 "mesh_name was not specified but it is required when building VirtualNodeData",
145 )
146 })?,
147 virtual_node_name: self.virtual_node_name.ok_or_else(|| {
148 ::aws_smithy_types::error::operation::BuildError::missing_field(
149 "virtual_node_name",
150 "virtual_node_name was not specified but it is required when building VirtualNodeData",
151 )
152 })?,
153 spec: self.spec,
154 metadata: self.metadata,
155 status: self.status,
156 })
157 }
158}