aws_sdk_ec2/types/
_verified_access_endpoint_eni_options.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct VerifiedAccessEndpointEniOptions {
7 pub network_interface_id: ::std::option::Option<::std::string::String>,
9 pub protocol: ::std::option::Option<crate::types::VerifiedAccessEndpointProtocol>,
11 pub port: ::std::option::Option<i32>,
13 pub port_ranges: ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpointPortRange>>,
15}
16impl VerifiedAccessEndpointEniOptions {
17 pub fn network_interface_id(&self) -> ::std::option::Option<&str> {
19 self.network_interface_id.as_deref()
20 }
21 pub fn protocol(&self) -> ::std::option::Option<&crate::types::VerifiedAccessEndpointProtocol> {
23 self.protocol.as_ref()
24 }
25 pub fn port(&self) -> ::std::option::Option<i32> {
27 self.port
28 }
29 pub fn port_ranges(&self) -> &[crate::types::VerifiedAccessEndpointPortRange] {
33 self.port_ranges.as_deref().unwrap_or_default()
34 }
35}
36impl VerifiedAccessEndpointEniOptions {
37 pub fn builder() -> crate::types::builders::VerifiedAccessEndpointEniOptionsBuilder {
39 crate::types::builders::VerifiedAccessEndpointEniOptionsBuilder::default()
40 }
41}
42
43#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
45#[non_exhaustive]
46pub struct VerifiedAccessEndpointEniOptionsBuilder {
47 pub(crate) network_interface_id: ::std::option::Option<::std::string::String>,
48 pub(crate) protocol: ::std::option::Option<crate::types::VerifiedAccessEndpointProtocol>,
49 pub(crate) port: ::std::option::Option<i32>,
50 pub(crate) port_ranges: ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpointPortRange>>,
51}
52impl VerifiedAccessEndpointEniOptionsBuilder {
53 pub fn network_interface_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
55 self.network_interface_id = ::std::option::Option::Some(input.into());
56 self
57 }
58 pub fn set_network_interface_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
60 self.network_interface_id = input;
61 self
62 }
63 pub fn get_network_interface_id(&self) -> &::std::option::Option<::std::string::String> {
65 &self.network_interface_id
66 }
67 pub fn protocol(mut self, input: crate::types::VerifiedAccessEndpointProtocol) -> Self {
69 self.protocol = ::std::option::Option::Some(input);
70 self
71 }
72 pub fn set_protocol(mut self, input: ::std::option::Option<crate::types::VerifiedAccessEndpointProtocol>) -> Self {
74 self.protocol = input;
75 self
76 }
77 pub fn get_protocol(&self) -> &::std::option::Option<crate::types::VerifiedAccessEndpointProtocol> {
79 &self.protocol
80 }
81 pub fn port(mut self, input: i32) -> Self {
83 self.port = ::std::option::Option::Some(input);
84 self
85 }
86 pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
88 self.port = input;
89 self
90 }
91 pub fn get_port(&self) -> &::std::option::Option<i32> {
93 &self.port
94 }
95 pub fn port_ranges(mut self, input: crate::types::VerifiedAccessEndpointPortRange) -> Self {
101 let mut v = self.port_ranges.unwrap_or_default();
102 v.push(input);
103 self.port_ranges = ::std::option::Option::Some(v);
104 self
105 }
106 pub fn set_port_ranges(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpointPortRange>>) -> Self {
108 self.port_ranges = input;
109 self
110 }
111 pub fn get_port_ranges(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::VerifiedAccessEndpointPortRange>> {
113 &self.port_ranges
114 }
115 pub fn build(self) -> crate::types::VerifiedAccessEndpointEniOptions {
117 crate::types::VerifiedAccessEndpointEniOptions {
118 network_interface_id: self.network_interface_id,
119 protocol: self.protocol,
120 port: self.port,
121 port_ranges: self.port_ranges,
122 }
123 }
124}