#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct TransitGatewayMulticastGroup {
pub group_ip_address: ::std::option::Option<::std::string::String>,
pub transit_gateway_attachment_id: ::std::option::Option<::std::string::String>,
pub subnet_id: ::std::option::Option<::std::string::String>,
pub resource_id: ::std::option::Option<::std::string::String>,
pub resource_type: ::std::option::Option<crate::types::TransitGatewayAttachmentResourceType>,
pub resource_owner_id: ::std::option::Option<::std::string::String>,
pub network_interface_id: ::std::option::Option<::std::string::String>,
pub group_member: ::std::option::Option<bool>,
pub group_source: ::std::option::Option<bool>,
pub member_type: ::std::option::Option<crate::types::MembershipType>,
pub source_type: ::std::option::Option<crate::types::MembershipType>,
}
impl TransitGatewayMulticastGroup {
pub fn group_ip_address(&self) -> ::std::option::Option<&str> {
self.group_ip_address.as_deref()
}
pub fn transit_gateway_attachment_id(&self) -> ::std::option::Option<&str> {
self.transit_gateway_attachment_id.as_deref()
}
pub fn subnet_id(&self) -> ::std::option::Option<&str> {
self.subnet_id.as_deref()
}
pub fn resource_id(&self) -> ::std::option::Option<&str> {
self.resource_id.as_deref()
}
pub fn resource_type(&self) -> ::std::option::Option<&crate::types::TransitGatewayAttachmentResourceType> {
self.resource_type.as_ref()
}
pub fn resource_owner_id(&self) -> ::std::option::Option<&str> {
self.resource_owner_id.as_deref()
}
pub fn network_interface_id(&self) -> ::std::option::Option<&str> {
self.network_interface_id.as_deref()
}
pub fn group_member(&self) -> ::std::option::Option<bool> {
self.group_member
}
pub fn group_source(&self) -> ::std::option::Option<bool> {
self.group_source
}
pub fn member_type(&self) -> ::std::option::Option<&crate::types::MembershipType> {
self.member_type.as_ref()
}
pub fn source_type(&self) -> ::std::option::Option<&crate::types::MembershipType> {
self.source_type.as_ref()
}
}
impl TransitGatewayMulticastGroup {
pub fn builder() -> crate::types::builders::TransitGatewayMulticastGroupBuilder {
crate::types::builders::TransitGatewayMulticastGroupBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct TransitGatewayMulticastGroupBuilder {
pub(crate) group_ip_address: ::std::option::Option<::std::string::String>,
pub(crate) transit_gateway_attachment_id: ::std::option::Option<::std::string::String>,
pub(crate) subnet_id: ::std::option::Option<::std::string::String>,
pub(crate) resource_id: ::std::option::Option<::std::string::String>,
pub(crate) resource_type: ::std::option::Option<crate::types::TransitGatewayAttachmentResourceType>,
pub(crate) resource_owner_id: ::std::option::Option<::std::string::String>,
pub(crate) network_interface_id: ::std::option::Option<::std::string::String>,
pub(crate) group_member: ::std::option::Option<bool>,
pub(crate) group_source: ::std::option::Option<bool>,
pub(crate) member_type: ::std::option::Option<crate::types::MembershipType>,
pub(crate) source_type: ::std::option::Option<crate::types::MembershipType>,
}
impl TransitGatewayMulticastGroupBuilder {
pub fn group_ip_address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.group_ip_address = ::std::option::Option::Some(input.into());
self
}
pub fn set_group_ip_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.group_ip_address = input;
self
}
pub fn get_group_ip_address(&self) -> &::std::option::Option<::std::string::String> {
&self.group_ip_address
}
pub fn transit_gateway_attachment_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.transit_gateway_attachment_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_transit_gateway_attachment_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.transit_gateway_attachment_id = input;
self
}
pub fn get_transit_gateway_attachment_id(&self) -> &::std::option::Option<::std::string::String> {
&self.transit_gateway_attachment_id
}
pub fn subnet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.subnet_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_subnet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.subnet_id = input;
self
}
pub fn get_subnet_id(&self) -> &::std::option::Option<::std::string::String> {
&self.subnet_id
}
pub fn resource_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.resource_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_resource_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.resource_id = input;
self
}
pub fn get_resource_id(&self) -> &::std::option::Option<::std::string::String> {
&self.resource_id
}
pub fn resource_type(mut self, input: crate::types::TransitGatewayAttachmentResourceType) -> Self {
self.resource_type = ::std::option::Option::Some(input);
self
}
pub fn set_resource_type(mut self, input: ::std::option::Option<crate::types::TransitGatewayAttachmentResourceType>) -> Self {
self.resource_type = input;
self
}
pub fn get_resource_type(&self) -> &::std::option::Option<crate::types::TransitGatewayAttachmentResourceType> {
&self.resource_type
}
pub fn resource_owner_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.resource_owner_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_resource_owner_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.resource_owner_id = input;
self
}
pub fn get_resource_owner_id(&self) -> &::std::option::Option<::std::string::String> {
&self.resource_owner_id
}
pub fn network_interface_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.network_interface_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_network_interface_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.network_interface_id = input;
self
}
pub fn get_network_interface_id(&self) -> &::std::option::Option<::std::string::String> {
&self.network_interface_id
}
pub fn group_member(mut self, input: bool) -> Self {
self.group_member = ::std::option::Option::Some(input);
self
}
pub fn set_group_member(mut self, input: ::std::option::Option<bool>) -> Self {
self.group_member = input;
self
}
pub fn get_group_member(&self) -> &::std::option::Option<bool> {
&self.group_member
}
pub fn group_source(mut self, input: bool) -> Self {
self.group_source = ::std::option::Option::Some(input);
self
}
pub fn set_group_source(mut self, input: ::std::option::Option<bool>) -> Self {
self.group_source = input;
self
}
pub fn get_group_source(&self) -> &::std::option::Option<bool> {
&self.group_source
}
pub fn member_type(mut self, input: crate::types::MembershipType) -> Self {
self.member_type = ::std::option::Option::Some(input);
self
}
pub fn set_member_type(mut self, input: ::std::option::Option<crate::types::MembershipType>) -> Self {
self.member_type = input;
self
}
pub fn get_member_type(&self) -> &::std::option::Option<crate::types::MembershipType> {
&self.member_type
}
pub fn source_type(mut self, input: crate::types::MembershipType) -> Self {
self.source_type = ::std::option::Option::Some(input);
self
}
pub fn set_source_type(mut self, input: ::std::option::Option<crate::types::MembershipType>) -> Self {
self.source_type = input;
self
}
pub fn get_source_type(&self) -> &::std::option::Option<crate::types::MembershipType> {
&self.source_type
}
pub fn build(self) -> crate::types::TransitGatewayMulticastGroup {
crate::types::TransitGatewayMulticastGroup {
group_ip_address: self.group_ip_address,
transit_gateway_attachment_id: self.transit_gateway_attachment_id,
subnet_id: self.subnet_id,
resource_id: self.resource_id,
resource_type: self.resource_type,
resource_owner_id: self.resource_owner_id,
network_interface_id: self.network_interface_id,
group_member: self.group_member,
group_source: self.group_source,
member_type: self.member_type,
source_type: self.source_type,
}
}
}