amazonka-ec2-1.4.5: Amazon Elastic Compute Cloud SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.EC2.AuthorizeSecurityGroupEgress

Contents

Description

EC2-VPC only
Adds one or more egress rules to a security group for use with a VPC. Specifically, this action permits instances to send traffic to one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more destination security groups for the same VPC. This action doesn't apply to security groups for use in EC2-Classic. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide . For more information about security group limits, see Amazon VPC Limits .

Each rule consists of the protocol (for example, TCP), plus either a CIDR range or a source group. For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

Synopsis

Creating a Request

authorizeSecurityGroupEgress #

Creates a value of AuthorizeSecurityGroupEgress with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • asgeFromPort - The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.
  • asgeIPPermissions - A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.
  • asgeIPProtocol - The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.
  • asgeToPort - The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.
  • asgeCidrIP - The CIDR IPv4 address range. We recommend that you specify the CIDR range in a set of IP permissions instead.
  • asgeSourceSecurityGroupOwnerId - The AWS account number for a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.
  • asgeSourceSecurityGroupName - The name of a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.
  • asgeDryRun - Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .
  • asgeGroupId - The ID of the security group.

data AuthorizeSecurityGroupEgress #

Contains the parameters for AuthorizeSecurityGroupEgress.

See: authorizeSecurityGroupEgress smart constructor.

Instances

Eq AuthorizeSecurityGroupEgress # 
Data AuthorizeSecurityGroupEgress # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AuthorizeSecurityGroupEgress -> c AuthorizeSecurityGroupEgress #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AuthorizeSecurityGroupEgress #

toConstr :: AuthorizeSecurityGroupEgress -> Constr #

dataTypeOf :: AuthorizeSecurityGroupEgress -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c AuthorizeSecurityGroupEgress) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AuthorizeSecurityGroupEgress) #

gmapT :: (forall b. Data b => b -> b) -> AuthorizeSecurityGroupEgress -> AuthorizeSecurityGroupEgress #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AuthorizeSecurityGroupEgress -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AuthorizeSecurityGroupEgress -> r #

gmapQ :: (forall d. Data d => d -> u) -> AuthorizeSecurityGroupEgress -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AuthorizeSecurityGroupEgress -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgress -> m AuthorizeSecurityGroupEgress #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgress -> m AuthorizeSecurityGroupEgress #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgress -> m AuthorizeSecurityGroupEgress #

Read AuthorizeSecurityGroupEgress # 
Show AuthorizeSecurityGroupEgress # 
Generic AuthorizeSecurityGroupEgress # 
Hashable AuthorizeSecurityGroupEgress # 
NFData AuthorizeSecurityGroupEgress # 
AWSRequest AuthorizeSecurityGroupEgress # 
ToQuery AuthorizeSecurityGroupEgress # 
ToPath AuthorizeSecurityGroupEgress # 
ToHeaders AuthorizeSecurityGroupEgress # 
type Rep AuthorizeSecurityGroupEgress # 
type Rep AuthorizeSecurityGroupEgress = D1 (MetaData "AuthorizeSecurityGroupEgress" "Network.AWS.EC2.AuthorizeSecurityGroupEgress" "amazonka-ec2-1.4.5-C4CR35JggG2GhWFrIiKGhu" False) (C1 (MetaCons "AuthorizeSecurityGroupEgress'" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_asgeFromPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_asgeIPPermissions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [IPPermission])))) ((:*:) (S1 (MetaSel (Just Symbol "_asgeIPProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asgeToPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_asgeCidrIP") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asgeSourceSecurityGroupOwnerId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_asgeSourceSecurityGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_asgeDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool))) (S1 (MetaSel (Just Symbol "_asgeGroupId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))))
type Rs AuthorizeSecurityGroupEgress # 

Request Lenses

asgeFromPort :: Lens' AuthorizeSecurityGroupEgress (Maybe Int) #

The start of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

asgeIPPermissions :: Lens' AuthorizeSecurityGroupEgress [IPPermission] #

A set of IP permissions. You can't specify a destination security group and a CIDR IP address range.

asgeIPProtocol :: Lens' AuthorizeSecurityGroupEgress (Maybe Text) #

The IP protocol name or number. We recommend that you specify the protocol in a set of IP permissions instead.

asgeToPort :: Lens' AuthorizeSecurityGroupEgress (Maybe Int) #

The end of port range for the TCP and UDP protocols, or an ICMP type number. We recommend that you specify the port range in a set of IP permissions instead.

asgeCidrIP :: Lens' AuthorizeSecurityGroupEgress (Maybe Text) #

The CIDR IPv4 address range. We recommend that you specify the CIDR range in a set of IP permissions instead.

asgeSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupEgress (Maybe Text) #

The AWS account number for a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

asgeSourceSecurityGroupName :: Lens' AuthorizeSecurityGroupEgress (Maybe Text) #

The name of a destination security group. To authorize outbound access to a destination security group, we recommend that you use a set of IP permissions instead.

asgeDryRun :: Lens' AuthorizeSecurityGroupEgress (Maybe Bool) #

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .

asgeGroupId :: Lens' AuthorizeSecurityGroupEgress Text #

The ID of the security group.

Destructuring the Response

authorizeSecurityGroupEgressResponse :: AuthorizeSecurityGroupEgressResponse #

Creates a value of AuthorizeSecurityGroupEgressResponse with the minimum fields required to make a request.

data AuthorizeSecurityGroupEgressResponse #

See: authorizeSecurityGroupEgressResponse smart constructor.

Instances

Eq AuthorizeSecurityGroupEgressResponse # 
Data AuthorizeSecurityGroupEgressResponse # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AuthorizeSecurityGroupEgressResponse -> c AuthorizeSecurityGroupEgressResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AuthorizeSecurityGroupEgressResponse #

toConstr :: AuthorizeSecurityGroupEgressResponse -> Constr #

dataTypeOf :: AuthorizeSecurityGroupEgressResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c AuthorizeSecurityGroupEgressResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AuthorizeSecurityGroupEgressResponse) #

gmapT :: (forall b. Data b => b -> b) -> AuthorizeSecurityGroupEgressResponse -> AuthorizeSecurityGroupEgressResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AuthorizeSecurityGroupEgressResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AuthorizeSecurityGroupEgressResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> AuthorizeSecurityGroupEgressResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AuthorizeSecurityGroupEgressResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgressResponse -> m AuthorizeSecurityGroupEgressResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgressResponse -> m AuthorizeSecurityGroupEgressResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AuthorizeSecurityGroupEgressResponse -> m AuthorizeSecurityGroupEgressResponse #

Read AuthorizeSecurityGroupEgressResponse # 
Show AuthorizeSecurityGroupEgressResponse # 
Generic AuthorizeSecurityGroupEgressResponse # 
NFData AuthorizeSecurityGroupEgressResponse # 
type Rep AuthorizeSecurityGroupEgressResponse # 
type Rep AuthorizeSecurityGroupEgressResponse = D1 (MetaData "AuthorizeSecurityGroupEgressResponse" "Network.AWS.EC2.AuthorizeSecurityGroupEgress" "amazonka-ec2-1.4.5-C4CR35JggG2GhWFrIiKGhu" False) (C1 (MetaCons "AuthorizeSecurityGroupEgressResponse'" PrefixI False) U1)