AWS EC2 APIs describe-fpga-image-attribute, modify-fpga-image-attribute and reset-fpga-image-attribute
AWS provides the following EC2 operations to manage AFI attributes:
aws ec2 describe-fpga-image-attribute
: get AFIname
,description
andloadPermission
attributes.aws ec2 modify-fpga-image-attribute
: update AFIname
,description
andloadPermission
attributes.aws ec2 reset-fpga-image-attribute
: resetloadPermission
attribute.
Supported AFI attributes include:
name
: user-defined AFI namedescription
: user-defined AFI descriptionloadPermission
: user IDs and groups allowed to load the AFI. Usemodify-fpga-image-attribute
and this attribute to control who can load your AFI:- User ID load permissions allow sharing AFIs to specific AWS accounts
- Group load permissions only support
all
to make the AFI public or private
Load permissions can be updated only if the AFI is available
. Removing or resetting load permissions do not affect loaded AFIs, only prevents users with revoked permission from re-loading the AFI.
NOTE: AWS API documentation includes productCodes
as a supported Fpga image attribute. At this time, product codes are only available
for AWS marketplace use and not discussed in this documentation.
- Show command manual page:
$ aws ec2 describe-fpga-image-attribute help
$ aws ec2 modify-fpga-image-attribute help
$ aws ec2 reset-fpga-image-attribute help
- Describe name attribute:
$ aws ec2 --region us-east-1 describe-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --attribute name
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"Name": "cl_dram_dma.17_07_21-234442"
}
}
- Describe description attribute:
$ aws ec2 --region us-east-1 describe-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --attribute description
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"Description": "cl_dram_dma example"
}
}
- Describe load permissions attribute:
$ aws ec2 --region us-east-1 describe-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --attribute loadPermission
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"LoadPermissions": []
}
}
- Change AFI name attribute:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --name "new fpga image name"
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"Name": "new fpga image name"
}
}
- Change AFI description attribute:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --description "new fpga image description"
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"Description": "new fpga image description"
}
}
- Add user ID (AWS account) load permission:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --operation-type add --user-ids 095707098027
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"LoadPermissions": [
{
"UserId": "095707098027"
}
]
}
}
- Remove user ID (AWS account) load permission:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --operation-type remove --user-ids 095707098027
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"LoadPermissions": []
}
}
- Make AFI public:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --operation-type add --user-groups all
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"LoadPermissions": [
{
"Group": "all"
}
]
}
}
- Make AFI private:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --operation-type remove --user-groups all
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0e5361a69d2af203d",
"LoadPermissions": []
}
}
- Add load permission for multiple user IDs:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --operation-type add --user-ids 095707098027 951708639280
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0f42ec0869372c806",
"LoadPermissions": [
{
"UserId": "095707098027"
},
{
"UserId": "951708639280"
}
]
}
}
- Update (add/remove) load permissions using
Shorthand Syntax
:
$ aws ec2 --region us-east-1 modify-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --load-permission 'Add=[{UserId=524807397729}],Remove=[{UserId=095707098027},{UserId=951708639280}]'
{
"FpgaImageAttribute": {
"FpgaImageId": "afi-0f42ec0869372c806",
"LoadPermissions": [
{
"UserId": "524807397729"
}
]
}
}
- Reset all load permissions:
$ aws ec2 --region us-east-1 reset-fpga-image-attribute --fpga-image-id afi-0e5361a69d2af203d --attribute loadPermission
{
"Return": true
}