amazonka-ec2-1.6.1: 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 Source #

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 Source #

Contains the parameters for ModifySnapshotAttribute.

See: modifySnapshotAttribute smart constructor.

Instances
Eq ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Data ModifySnapshotAttribute Source # 
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 Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Show ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Generic ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rep ModifySnapshotAttribute :: Type -> Type #

Hashable ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

AWSRequest ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rs ModifySnapshotAttribute :: Type #

ToHeaders ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

ToPath ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

ToQuery ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

NFData ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Methods

rnf :: ModifySnapshotAttribute -> () #

type Rep ModifySnapshotAttribute Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

type Rep ModifySnapshotAttribute = D1 (MetaData "ModifySnapshotAttribute" "Network.AWS.EC2.ModifySnapshotAttribute" "amazonka-ec2-1.6.1-GgG1M0FWcBrE5I5IM2QktE" 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 Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Request Lenses

msaCreateVolumePermission :: Lens' ModifySnapshotAttribute (Maybe CreateVolumePermissionModifications) Source #

A JSON representation of the snapshot attribute modification.

msaUserIds :: Lens' ModifySnapshotAttribute [Text] Source #

The account ID to modify for the snapshot.

msaGroupNames :: Lens' ModifySnapshotAttribute [Text] Source #

The group to modify for the snapshot.

msaOperationType :: Lens' ModifySnapshotAttribute (Maybe OperationType) Source #

The type of operation to perform to the attribute.

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

modifySnapshotAttributeResponse :: ModifySnapshotAttributeResponse Source #

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

data ModifySnapshotAttributeResponse Source #

See: modifySnapshotAttributeResponse smart constructor.

Instances
Eq ModifySnapshotAttributeResponse Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Data ModifySnapshotAttributeResponse Source # 
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 Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Show ModifySnapshotAttributeResponse Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Generic ModifySnapshotAttributeResponse Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

Associated Types

type Rep ModifySnapshotAttributeResponse :: Type -> Type #

NFData ModifySnapshotAttributeResponse Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

type Rep ModifySnapshotAttributeResponse Source # 
Instance details

Defined in Network.AWS.EC2.ModifySnapshotAttribute

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