Copyright | (c) 2013-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- isEC2 :: MonadIO m => Manager -> m Bool
- dynamic :: (MonadIO m, MonadThrow m) => Manager -> Dynamic -> m ByteString
- metadata :: (MonadIO m, MonadThrow m) => Manager -> Metadata -> m ByteString
- userdata :: (MonadIO m, MonadCatch m) => Manager -> m (Maybe ByteString)
- identity :: (MonadIO m, MonadThrow m) => Manager -> m (Either String IdentityDocument)
- data Dynamic
- data Metadata
- = AMIId
- | AMILaunchIndex
- | AMIManifestPath
- | AncestorAMIIds
- | BlockDevice !Mapping
- | Hostname
- | IAM !Info
- | InstanceAction
- | InstanceId
- | InstanceType
- | KernelId
- | LocalHostname
- | LocalIPV4
- | MAC
- | Network !Text !Interface
- | AvailabilityZone
- | ProductCodes
- | PublicHostname
- | PublicIPV4
- | OpenSSHKey
- | RAMDiskId
- | ReservationId
- | SecurityGroups
- data Mapping
- data Info
- data Interface
- data IdentityDocument = IdentityDocument {
- _devpayProductCodes :: Maybe Text
- _billingProducts :: Maybe Text
- _version :: Maybe Text
- _privateIp :: Maybe Text
- _availabilityZone :: Text
- _region :: !Region
- _instanceId :: Text
- _instanceType :: Text
- _accountId :: Text
- _imageId :: Maybe Text
- _kernelId :: Maybe Text
- _ramdiskId :: Maybe Text
- _architecture :: Maybe Text
- _pendingTime :: Maybe ISO8601
- devpayProductCodes :: Lens' IdentityDocument (Maybe Text)
- billingProducts :: Lens' IdentityDocument (Maybe Text)
- version :: Lens' IdentityDocument (Maybe Text)
- privateIp :: Lens' IdentityDocument (Maybe Text)
- availabilityZone :: Lens' IdentityDocument Text
- region :: Lens' IdentityDocument Region
- instanceId :: Lens' IdentityDocument Text
- instanceType :: Lens' IdentityDocument Text
- accountId :: Lens' IdentityDocument Text
- imageId :: Lens' IdentityDocument (Maybe Text)
- kernelId :: Lens' IdentityDocument (Maybe Text)
- ramdiskId :: Lens' IdentityDocument (Maybe Text)
- architecture :: Lens' IdentityDocument (Maybe Text)
- pendingTime :: Lens' IdentityDocument (Maybe UTCTime)
EC2 Instance Check
isEC2 :: MonadIO m => Manager -> m Bool Source #
Test whether the underlying host is running on EC2 by
making an HTTP request to http://instance-data/latest
.
Retrieving Instance Data
dynamic :: (MonadIO m, MonadThrow m) => Manager -> Dynamic -> m ByteString Source #
Retrieve the specified Dynamic
data.
Throws HttpException
if HTTP communication fails.
metadata :: (MonadIO m, MonadThrow m) => Manager -> Metadata -> m ByteString Source #
Retrieve the specified Metadata
.
Throws HttpException
if HTTP communication fails.
userdata :: (MonadIO m, MonadCatch m) => Manager -> m (Maybe ByteString) Source #
Retrieve the user data. Returns Nothing
if no user data is assigned
to the instance.
Throws HttpException
if HTTP communication fails.
identity :: (MonadIO m, MonadThrow m) => Manager -> m (Either String IdentityDocument) Source #
Path Constructors
FWS | Value showing whether the customer has enabled detailed one-minute monitoring in CloudWatch. Valid values: enabled | disabled. |
Document | JSON containing instance attributes, such as instance-id,
private IP address, etc.
See: |
PKCS7 | Used to verify the document's authenticity and content against the signature. |
Signature |
AMIId | The AMI ID used to launch the instance. |
AMILaunchIndex | If you started more than one instance at the same time, this value indicates the order in which the instance was launched. The value of the first instance launched is 0. |
AMIManifestPath | The path to the AMI's manifest file in Amazon S3. If you used an Amazon EBS-backed AMI to launch the instance, the returned result is unknown. |
AncestorAMIIds | The AMI IDs of any instances that were rebundled to create this AMI. This value will only exist if the AMI manifest file contained an ancestor-amis key. |
BlockDevice !Mapping | See: |
Hostname | The private hostname of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). |
IAM !Info | See: |
InstanceAction | Notifies the instance that it should reboot in preparation for bundling. Valid values: none | shutdown | bundle-pending. |
InstanceId | The ID of this instance. |
InstanceType | The type of instance. See: |
KernelId | The ID of the kernel launched with this instance, if applicable. |
LocalHostname | The private DNS hostname of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). |
LocalIPV4 | The private IP address of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). |
MAC | The instance's media access control (MAC) address. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which the device number is 0). |
Network !Text !Interface | See: |
AvailabilityZone | The Availability Zone in which the instance launched. |
ProductCodes | Product codes associated with the instance, if any. |
PublicHostname | The instance's public DNS. If the instance is in a VPC, this category is only returned if the enableDnsHostnames attribute is set to true. For more information, see Using DNS with Your VPC. |
PublicIPV4 | The public IP address. If an Elastic IP address is associated with the instance, the value returned is the Elastic IP address. |
OpenSSHKey | Public key. Only available if supplied at instance launch time. |
RAMDiskId | The ID of the RAM disk specified at launch time, if applicable. |
ReservationId | ID of the reservation. |
SecurityGroups | The names of the security groups applied to the instance. |
AMI | The virtual device that contains the root/boot file system. |
EBS !Int | The virtual devices associated with Amazon EBS volumes, if present. This value is only available in metadata if it is present at launch time. The N indicates the index of the Amazon EBS volume (such as ebs1 or ebs2). |
Ephemeral !Int | The virtual devices associated with ephemeral devices, if present. The N indicates the index of the ephemeral volume. |
Root | The virtual devices or partitions associated with the root devices, or partitions on the virtual device, where the root (/ or C:) file system is associated with the given instance. |
Swap | The virtual devices associated with swap. Not always present. |
Info' | Returns information about the last time the instance profile was updated, including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId. |
SecurityCredentials (Maybe Text) | Where role-name is the name of the IAM role associated with the instance. Returns the temporary security credentials. See: |
IDeviceNumber | The device number associated with that interface. Each interface must have a unique device number. The device number serves as a hint to device naming in the instance; for example, device-number is 2 for the eth2 device. |
IIPV4Associations !Text | The private IPv4 addresses that are associated with each public-ip address and assigned to that interface. |
ILocalHostname | The interface's local hostname. |
ILocalIPV4s | The private IP addresses associated with the interface. |
IMAC | The instance's MAC address. |
IOwnerId | The ID of the owner of the network interface. In multiple-interface environments, an interface can be attached by a third party, such as Elastic Load Balancing. Traffic on an interface is always billed to the interface owner. |
IPublicHostname | The interface's public DNS. If the instance is in a VPC, this category is only returned if the enableDnsHostnames attribute is set to true. For more information, see Using DNS with Your VPC. |
IPublicIPV4s | The Elastic IP addresses associated with the interface. There may be multiple IP addresses on an instance. |
ISecurityGroups | Security groups to which the network interface belongs. Returned only for instances launched into a VPC. |
ISecurityGroupIds | IDs of the security groups to which the network interface belongs. Returned only for instances launched into a VPC. For more information on security groups in the EC2-VPC platform, see Security Groups for Your VPC. |
ISubnetId | The ID of the subnet in which the interface resides. Returned only for instances launched into a VPC. |
ISubnetIPV4_CIDRBlock | The CIDR block of the subnet in which the interface resides. Returned only for instances launched into a VPC. |
IVPCId | The ID of the VPC in which the interface resides. Returned only for instances launched into a VPC. |
IVPCIPV4_CIDRBlock | The CIDR block of the VPC in which the interface resides. Returned only for instances launched into a VPC. |
Identity Document
data IdentityDocument Source #
Represents an instance's identity document.
Note: Fields such as _instanceType
are represented as unparsed Text
and
will need to be manually parsed using fromText
when the relevant types
from a library such as Network.AWS.EC2 are brought into scope.
IdentityDocument | |
|