#[non_exhaustive]pub struct AwsEc2SecurityGroupIpPermission {
pub ip_protocol: Option<String>,
pub from_port: Option<i32>,
pub to_port: Option<i32>,
pub user_id_group_pairs: Option<Vec<AwsEc2SecurityGroupUserIdGroupPair>>,
pub ip_ranges: Option<Vec<AwsEc2SecurityGroupIpRange>>,
pub ipv6_ranges: Option<Vec<AwsEc2SecurityGroupIpv6Range>>,
pub prefix_list_ids: Option<Vec<AwsEc2SecurityGroupPrefixListId>>,
}Expand description
An IP permission for an EC2 security group.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ip_protocol: Option<String>The IP protocol name (tcp, udp, icmp, icmpv6) or number.
\[VPC only\] Use -1 to specify all protocols.
When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify.
For tcp, udp, and icmp, you must specify a port range.
For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed.
from_port: Option<i32>The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.
to_port: Option<i32>The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.
user_id_group_pairs: Option<Vec<AwsEc2SecurityGroupUserIdGroupPair>>The security group and Amazon Web Services account ID pairs.
ip_ranges: Option<Vec<AwsEc2SecurityGroupIpRange>>The IPv4 ranges.
ipv6_ranges: Option<Vec<AwsEc2SecurityGroupIpv6Range>>The IPv6 ranges.
prefix_list_ids: Option<Vec<AwsEc2SecurityGroupPrefixListId>>\[VPC only\] The prefix list IDs for an Amazon Web Services service. With outbound rules, this is the Amazon Web Services service to access through a VPC endpoint from instances associated with the security group.
Implementations§
source§impl AwsEc2SecurityGroupIpPermission
impl AwsEc2SecurityGroupIpPermission
sourcepub fn ip_protocol(&self) -> Option<&str>
pub fn ip_protocol(&self) -> Option<&str>
The IP protocol name (tcp, udp, icmp, icmpv6) or number.
\[VPC only\] Use -1 to specify all protocols.
When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify.
For tcp, udp, and icmp, you must specify a port range.
For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed.
sourcepub fn from_port(&self) -> Option<i32>
pub fn from_port(&self) -> Option<i32>
The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.
A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.
sourcepub fn to_port(&self) -> Option<i32>
pub fn to_port(&self) -> Option<i32>
The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.
sourcepub fn user_id_group_pairs(&self) -> &[AwsEc2SecurityGroupUserIdGroupPair]
pub fn user_id_group_pairs(&self) -> &[AwsEc2SecurityGroupUserIdGroupPair]
The security group and Amazon Web Services account ID pairs.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .user_id_group_pairs.is_none().
sourcepub fn ip_ranges(&self) -> &[AwsEc2SecurityGroupIpRange]
pub fn ip_ranges(&self) -> &[AwsEc2SecurityGroupIpRange]
The IPv4 ranges.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ip_ranges.is_none().
sourcepub fn ipv6_ranges(&self) -> &[AwsEc2SecurityGroupIpv6Range]
pub fn ipv6_ranges(&self) -> &[AwsEc2SecurityGroupIpv6Range]
The IPv6 ranges.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ipv6_ranges.is_none().
sourcepub fn prefix_list_ids(&self) -> &[AwsEc2SecurityGroupPrefixListId]
pub fn prefix_list_ids(&self) -> &[AwsEc2SecurityGroupPrefixListId]
\[VPC only\] The prefix list IDs for an Amazon Web Services service. With outbound rules, this is the Amazon Web Services service to access through a VPC endpoint from instances associated with the security group.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .prefix_list_ids.is_none().
source§impl AwsEc2SecurityGroupIpPermission
impl AwsEc2SecurityGroupIpPermission
sourcepub fn builder() -> AwsEc2SecurityGroupIpPermissionBuilder
pub fn builder() -> AwsEc2SecurityGroupIpPermissionBuilder
Creates a new builder-style object to manufacture AwsEc2SecurityGroupIpPermission.
Trait Implementations§
source§impl Clone for AwsEc2SecurityGroupIpPermission
impl Clone for AwsEc2SecurityGroupIpPermission
source§fn clone(&self) -> AwsEc2SecurityGroupIpPermission
fn clone(&self) -> AwsEc2SecurityGroupIpPermission
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl PartialEq for AwsEc2SecurityGroupIpPermission
impl PartialEq for AwsEc2SecurityGroupIpPermission
source§fn eq(&self, other: &AwsEc2SecurityGroupIpPermission) -> bool
fn eq(&self, other: &AwsEc2SecurityGroupIpPermission) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for AwsEc2SecurityGroupIpPermission
Auto Trait Implementations§
impl Freeze for AwsEc2SecurityGroupIpPermission
impl RefUnwindSafe for AwsEc2SecurityGroupIpPermission
impl Send for AwsEc2SecurityGroupIpPermission
impl Sync for AwsEc2SecurityGroupIpPermission
impl Unpin for AwsEc2SecurityGroupIpPermission
impl UnwindSafe for AwsEc2SecurityGroupIpPermission
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more