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

Copyright(c) 2013-2018 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@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 # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Data ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.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 # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Show ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Generic ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rep ModifySnapshotAttribute :: * -> * #

Hashable ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

AWSRequest ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rs ModifySnapshotAttribute :: * #

ToHeaders ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

ToPath ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

ToQuery ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

NFData ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Methods

rnf :: ModifySnapshotAttribute -> () #

type Rep ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

type Rep ModifySnapshotAttribute = D1 (MetaData "ModifySnapshotAttribute" "Network.AWS.EC2.ModifySnapshotAttribute" "amazonka-ec2-1.6.0-G6ppxISnQxeI7PhDx9p8Zy" False) (C1 (MetaCons "ModifySnapshotAttribute'" PrefixI True) ((S1 (MetaSel (Just "_msaAttribute") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe SnapshotAttributeName)) :*: (S1 (MetaSel (Just "_msaCreateVolumePermission") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe CreateVolumePermissionModifications)) :*: S1 (MetaSel (Just "_msaUserIds") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Text])))) :*: ((S1 (MetaSel (Just "_msaGroupNames") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 (MetaSel (Just "_msaOperationType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe OperationType))) :*: (S1 (MetaSel (Just "_msaDryRun") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 (MetaSel (Just "_msaSnapshotId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))
type Rs ModifySnapshotAttribute # 
Instance details

Defined in Network.AWS.EC2.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 # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Data ModifySnapshotAttributeResponse # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

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 # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Show ModifySnapshotAttributeResponse # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Generic ModifySnapshotAttributeResponse # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rep ModifySnapshotAttributeResponse :: * -> * #

NFData ModifySnapshotAttributeResponse # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

type Rep ModifySnapshotAttributeResponse # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

type Rep ModifySnapshotAttributeResponse = D1 (MetaData "ModifySnapshotAttributeResponse" "Network.AWS.EC2.ModifySnapshotAttribute" "amazonka-ec2-1.6.0-G6ppxISnQxeI7PhDx9p8Zy" False) (C1 (MetaCons "ModifySnapshotAttributeResponse'" PrefixI False) (U1 :: * -> *))