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,descriptionandloadPermissionattributes.aws ec2 modify-fpga-image-attribute: update AFIname,descriptionandloadPermissionattributes.aws ec2 reset-fpga-image-attribute: resetloadPermissionattribute.
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-attributeand 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
allto 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
}