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.RevokeSecurityGroupIngress

Contents

Description

Removes one or more ingress rules from a security group. The values that you specify in the revoke request (for example, ports) must match the existing rule's values for the rule to be removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code.

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

Synopsis

Creating a Request

revokeSecurityGroupIngress :: RevokeSecurityGroupIngress #

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

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

  • rsgiFromPort - 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.
  • rsgiIPPermissions - A set of IP permissions. You can't specify a source security group and a CIDR IP address range.
  • rsgiIPProtocol - The IP protocol name (tcp , udp , icmp ) or number (see Protocol Numbers ). Use -1 to specify all.
  • rsgiGroupId - The ID of the security group. Required for a security group in a nondefault VPC.
  • rsgiToPort - 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.
  • rsgiCidrIP - The CIDR IP address range. You can't specify this parameter when specifying a source security group.
  • rsgiSourceSecurityGroupOwnerId - [EC2-Classic] The AWS account ID of 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. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.
  • rsgiGroupName - [EC2-Classic, default VPC] The name of the security group.
  • rsgiSourceSecurityGroupName - [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. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.
  • rsgiDryRun - 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 .

data RevokeSecurityGroupIngress #

Contains the parameters for RevokeSecurityGroupIngress.

See: revokeSecurityGroupIngress smart constructor.

Instances

Eq RevokeSecurityGroupIngress # 
Data RevokeSecurityGroupIngress # 

Methods

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

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

toConstr :: RevokeSecurityGroupIngress -> Constr #

dataTypeOf :: RevokeSecurityGroupIngress -> DataType #

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

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

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

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

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

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

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

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

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

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

Read RevokeSecurityGroupIngress # 
Show RevokeSecurityGroupIngress # 
Generic RevokeSecurityGroupIngress # 
Hashable RevokeSecurityGroupIngress # 
NFData RevokeSecurityGroupIngress # 
AWSRequest RevokeSecurityGroupIngress # 
ToQuery RevokeSecurityGroupIngress # 
ToPath RevokeSecurityGroupIngress # 
ToHeaders RevokeSecurityGroupIngress # 
type Rep RevokeSecurityGroupIngress # 
type Rep RevokeSecurityGroupIngress = D1 (MetaData "RevokeSecurityGroupIngress" "Network.AWS.EC2.RevokeSecurityGroupIngress" "amazonka-ec2-1.4.5-C4CR35JggG2GhWFrIiKGhu" False) (C1 (MetaCons "RevokeSecurityGroupIngress'" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiFromPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_rsgiIPPermissions") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [IPPermission])))) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiIPProtocol") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiGroupId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_rsgiToPort") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiCidrIP") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_rsgiSourceSecurityGroupOwnerId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_rsgiSourceSecurityGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_rsgiDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool))))))))
type Rs RevokeSecurityGroupIngress # 

Request Lenses

rsgiFromPort :: Lens' RevokeSecurityGroupIngress (Maybe Int) #

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.

rsgiIPPermissions :: Lens' RevokeSecurityGroupIngress [IPPermission] #

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

rsgiIPProtocol :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

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

rsgiGroupId :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

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

rsgiToPort :: Lens' RevokeSecurityGroupIngress (Maybe Int) #

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.

rsgiCidrIP :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

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

rsgiSourceSecurityGroupOwnerId :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

EC2-Classic
The AWS account ID of 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. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

rsgiGroupName :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

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

rsgiSourceSecurityGroupName :: Lens' RevokeSecurityGroupIngress (Maybe Text) #

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. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

rsgiDryRun :: Lens' RevokeSecurityGroupIngress (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 .

Destructuring the Response

revokeSecurityGroupIngressResponse :: RevokeSecurityGroupIngressResponse #

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

data RevokeSecurityGroupIngressResponse #

See: revokeSecurityGroupIngressResponse smart constructor.

Instances

Eq RevokeSecurityGroupIngressResponse # 
Data RevokeSecurityGroupIngressResponse # 

Methods

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

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

toConstr :: RevokeSecurityGroupIngressResponse -> Constr #

dataTypeOf :: RevokeSecurityGroupIngressResponse -> DataType #

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

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

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

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

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

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

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

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

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

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

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