aws_sdk_ec2/operation/deregister_transit_gateway_multicast_group_members/
_deregister_transit_gateway_multicast_group_members_input.rs1#[allow(missing_docs)] #[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DeregisterTransitGatewayMulticastGroupMembersInput {
6 pub transit_gateway_multicast_domain_id: ::std::option::Option<::std::string::String>,
8 pub group_ip_address: ::std::option::Option<::std::string::String>,
10 pub network_interface_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12 pub dry_run: ::std::option::Option<bool>,
14}
15impl DeregisterTransitGatewayMulticastGroupMembersInput {
16 pub fn transit_gateway_multicast_domain_id(&self) -> ::std::option::Option<&str> {
18 self.transit_gateway_multicast_domain_id.as_deref()
19 }
20 pub fn group_ip_address(&self) -> ::std::option::Option<&str> {
22 self.group_ip_address.as_deref()
23 }
24 pub fn network_interface_ids(&self) -> &[::std::string::String] {
28 self.network_interface_ids.as_deref().unwrap_or_default()
29 }
30 pub fn dry_run(&self) -> ::std::option::Option<bool> {
32 self.dry_run
33 }
34}
35impl DeregisterTransitGatewayMulticastGroupMembersInput {
36 pub fn builder(
38 ) -> crate::operation::deregister_transit_gateway_multicast_group_members::builders::DeregisterTransitGatewayMulticastGroupMembersInputBuilder
39 {
40 crate::operation::deregister_transit_gateway_multicast_group_members::builders::DeregisterTransitGatewayMulticastGroupMembersInputBuilder::default()
41 }
42}
43
44#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
46#[non_exhaustive]
47pub struct DeregisterTransitGatewayMulticastGroupMembersInputBuilder {
48 pub(crate) transit_gateway_multicast_domain_id: ::std::option::Option<::std::string::String>,
49 pub(crate) group_ip_address: ::std::option::Option<::std::string::String>,
50 pub(crate) network_interface_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
51 pub(crate) dry_run: ::std::option::Option<bool>,
52}
53impl DeregisterTransitGatewayMulticastGroupMembersInputBuilder {
54 pub fn transit_gateway_multicast_domain_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
56 self.transit_gateway_multicast_domain_id = ::std::option::Option::Some(input.into());
57 self
58 }
59 pub fn set_transit_gateway_multicast_domain_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
61 self.transit_gateway_multicast_domain_id = input;
62 self
63 }
64 pub fn get_transit_gateway_multicast_domain_id(&self) -> &::std::option::Option<::std::string::String> {
66 &self.transit_gateway_multicast_domain_id
67 }
68 pub fn group_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
70 self.group_ip_address = ::std::option::Option::Some(input.into());
71 self
72 }
73 pub fn set_group_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
75 self.group_ip_address = input;
76 self
77 }
78 pub fn get_group_ip_address(&self) -> &::std::option::Option<::std::string::String> {
80 &self.group_ip_address
81 }
82 pub fn network_interface_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
88 let mut v = self.network_interface_ids.unwrap_or_default();
89 v.push(input.into());
90 self.network_interface_ids = ::std::option::Option::Some(v);
91 self
92 }
93 pub fn set_network_interface_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
95 self.network_interface_ids = input;
96 self
97 }
98 pub fn get_network_interface_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
100 &self.network_interface_ids
101 }
102 pub fn dry_run(mut self, input: bool) -> Self {
104 self.dry_run = ::std::option::Option::Some(input);
105 self
106 }
107 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
109 self.dry_run = input;
110 self
111 }
112 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
114 &self.dry_run
115 }
116 pub fn build(
118 self,
119 ) -> ::std::result::Result<
120 crate::operation::deregister_transit_gateway_multicast_group_members::DeregisterTransitGatewayMulticastGroupMembersInput,
121 ::aws_smithy_types::error::operation::BuildError,
122 > {
123 ::std::result::Result::Ok(
124 crate::operation::deregister_transit_gateway_multicast_group_members::DeregisterTransitGatewayMulticastGroupMembersInput {
125 transit_gateway_multicast_domain_id: self.transit_gateway_multicast_domain_id,
126 group_ip_address: self.group_ip_address,
127 network_interface_ids: self.network_interface_ids,
128 dry_run: self.dry_run,
129 },
130 )
131 }
132}