amazonka-ec2-1.4.2: 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.AuthorizeSecurityGroupIngress

Contents

Description

Adds one or more ingress rules to a security group.

EC2-Classic: You can have up to 100 rules per group.

EC2-VPC: You can have up to 50 rules per group (covering both ingress and egress rules).

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

EC2-Classic
This action gives one or more CIDR IP address ranges permission to access a security group in your account, or gives one or more security groups (called the source groups) permission to access a security group for your account. A source group can be for your own AWS account, or another.
EC2-VPC
This action gives one or more CIDR IP address ranges permission to access a security group in your VPC, or gives one or more other security groups (called the source groups) permission to access a security group for your VPC. The security groups must all be for the same VPC.

Synopsis

Creating a Request

data AuthorizeSecurityGroupIngress Source #

Contains the parameters for AuthorizeSecurityGroupIngress.

See: authorizeSecurityGroupIngress smart constructor.

Instances

Eq AuthorizeSecurityGroupIngress Source # 
Data AuthorizeSecurityGroupIngress Source # 

Methods

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

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

toConstr :: AuthorizeSecurityGroupIngress -> Constr #

dataTypeOf :: AuthorizeSecurityGroupIngress -> DataType #

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

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

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

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

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

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

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

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

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

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

Read AuthorizeSecurityGroupIngress Source # 
Show AuthorizeSecurityGroupIngress Source # 
Generic AuthorizeSecurityGroupIngress Source # 
Hashable AuthorizeSecurityGroupIngress Source # 
NFData AuthorizeSecurityGroupIngress Source # 
AWSRequest AuthorizeSecurityGroupIngress Source # 
ToPath AuthorizeSecurityGroupIngress Source # 
ToHeaders AuthorizeSecurityGroupIngress Source # 
ToQuery AuthorizeSecurityGroupIngress Source # 
type Rep AuthorizeSecurityGroupIngress Source # 
type Rep AuthorizeSecurityGroupIngress = D1 (MetaData "AuthorizeSecurityGroupIngress" "Network.AWS.EC2.AuthorizeSecurityGroupIngress" "amazonka-ec2-1.4.2-6EJAAVBh1q13dHrwE82a1F" False) (C1 (MetaCons "AuthorizeSecurityGroupIngress'" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_asgiFromPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_asgiIPPermissions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [IPPermission])))) ((:*:) (S1 (MetaSel (Just Symbol "_asgiIPProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_asgiGroupId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asgiToPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_asgiCIdRIP") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asgiSourceSecurityGroupOwnerId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_asgiGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_asgiSourceSecurityGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_asgiDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool))))))))
type Rs AuthorizeSecurityGroupIngress Source # 

Request Lenses

asgiFromPort :: Lens' AuthorizeSecurityGroupIngress (Maybe Int) Source #

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use '-1' to specify all ICMP types.

asgiIPPermissions :: Lens' AuthorizeSecurityGroupIngress [IPPermission] Source #

A set of IP permissions. Can be used to specify multiple rules in a single command.

asgiIPProtocol :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). (VPC only) Use '-1' to specify all.

asgiGroupId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

The ID of the security group. Required for a nondefault VPC.

asgiToPort :: Lens' AuthorizeSecurityGroupIngress (Maybe Int) Source #

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use '-1' to specify all ICMP codes for the ICMP type.

asgiCIdRIP :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

asgiSourceSecurityGroupOwnerId :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

EC2-Classic
The AWS account number for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

asgiGroupName :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

EC2-Classic, default VPC
The name of the security group.

asgiSourceSecurityGroupName :: Lens' AuthorizeSecurityGroupIngress (Maybe Text) Source #

EC2-Classic, default VPC
The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

asgiDryRun :: Lens' AuthorizeSecurityGroupIngress (Maybe Bool) Source #

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.

Destructuring the Response

data AuthorizeSecurityGroupIngressResponse Source #

Instances

Eq AuthorizeSecurityGroupIngressResponse Source # 
Data AuthorizeSecurityGroupIngressResponse Source # 

Methods

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

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

toConstr :: AuthorizeSecurityGroupIngressResponse -> Constr #

dataTypeOf :: AuthorizeSecurityGroupIngressResponse -> DataType #

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

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

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

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

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

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

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

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

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

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

Read AuthorizeSecurityGroupIngressResponse Source # 
Show AuthorizeSecurityGroupIngressResponse Source # 
Generic AuthorizeSecurityGroupIngressResponse Source # 
NFData AuthorizeSecurityGroupIngressResponse Source # 
type Rep AuthorizeSecurityGroupIngressResponse Source # 
type Rep AuthorizeSecurityGroupIngressResponse = D1 (MetaData "AuthorizeSecurityGroupIngressResponse" "Network.AWS.EC2.AuthorizeSecurityGroupIngress" "amazonka-ec2-1.4.2-6EJAAVBh1q13dHrwE82a1F" False) (C1 (MetaCons "AuthorizeSecurityGroupIngressResponse'" PrefixI False) U1)