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

Contents

Description

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single API call. If you need to both add and remove account IDs for a snapshot, you must use multiple API calls.

For more information on modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide .

Synopsis

Creating a Request

modifySnapshotAttribute #

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

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

  • msaAttribute - The snapshot attribute to modify.
  • msaCreateVolumePermission - A JSON representation of the snapshot attribute modification.
  • msaUserIds - The account ID to modify for the snapshot.
  • msaGroupNames - The group to modify for the snapshot.
  • msaOperationType - The type of operation to perform to the attribute.
  • msaDryRun - 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 .
  • msaSnapshotId - The ID of the snapshot.

data ModifySnapshotAttribute #

Contains the parameters for ModifySnapshotAttribute.

See: modifySnapshotAttribute smart constructor.

Instances

Eq ModifySnapshotAttribute # 
Data ModifySnapshotAttribute # 

Methods

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

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

toConstr :: ModifySnapshotAttribute -> Constr #

dataTypeOf :: ModifySnapshotAttribute -> DataType #

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

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

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

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

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

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

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

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

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

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

Read ModifySnapshotAttribute # 
Show ModifySnapshotAttribute # 
Generic ModifySnapshotAttribute # 
Hashable ModifySnapshotAttribute # 
NFData ModifySnapshotAttribute # 

Methods

rnf :: ModifySnapshotAttribute -> () #

AWSRequest ModifySnapshotAttribute # 
ToQuery ModifySnapshotAttribute # 
ToPath ModifySnapshotAttribute # 
ToHeaders ModifySnapshotAttribute # 
type Rep ModifySnapshotAttribute # 
type Rs ModifySnapshotAttribute # 

Request Lenses

msaCreateVolumePermission :: Lens' ModifySnapshotAttribute (Maybe CreateVolumePermissionModifications) #

A JSON representation of the snapshot attribute modification.

msaUserIds :: Lens' ModifySnapshotAttribute [Text] #

The account ID to modify for the snapshot.

msaGroupNames :: Lens' ModifySnapshotAttribute [Text] #

The group to modify for the snapshot.

msaOperationType :: Lens' ModifySnapshotAttribute (Maybe OperationType) #

The type of operation to perform to the attribute.

msaDryRun :: Lens' ModifySnapshotAttribute (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

modifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse #

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

data ModifySnapshotAttributeResponse #

See: modifySnapshotAttributeResponse smart constructor.

Instances

Eq ModifySnapshotAttributeResponse # 
Data ModifySnapshotAttributeResponse # 

Methods

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

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

toConstr :: ModifySnapshotAttributeResponse -> Constr #

dataTypeOf :: ModifySnapshotAttributeResponse -> DataType #

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

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

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

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

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

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

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

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

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

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

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