:doc:`EC2 <../../ec2>` / Client / modify_fpga_image_attribute

***************************
modify_fpga_image_attribute
***************************



.. py:method:: EC2.Client.modify_fpga_image_attribute(**kwargs)

  

  Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute>`_  


  **Request Syntax**
  ::

    response = client.modify_fpga_image_attribute(
        DryRun=True|False,
        FpgaImageId='string',
        Attribute='description'|'name'|'loadPermission'|'productCodes',
        OperationType='add'|'remove',
        UserIds=[
            'string',
        ],
        UserGroups=[
            'string',
        ],
        ProductCodes=[
            'string',
        ],
        LoadPermission={
            'Add': [
                {
                    'Group': 'all',
                    'UserId': 'string'
                },
            ],
            'Remove': [
                {
                    'Group': 'all',
                    'UserId': 'string'
                },
            ]
        },
        Description='string',
        Name='string'
    )
    
  :type DryRun: boolean
  :param DryRun: 

    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``.

    

  
  :type FpgaImageId: string
  :param FpgaImageId: **[REQUIRED]** 

    The ID of the AFI.

    

  
  :type Attribute: string
  :param Attribute: 

    The name of the attribute.

    

  
  :type OperationType: string
  :param OperationType: 

    The operation type.

    

  
  :type UserIds: list
  :param UserIds: 

    The Amazon Web Services account IDs. This parameter is valid only when modifying the ``loadPermission`` attribute.

    

  
    - *(string) --* 

    

  :type UserGroups: list
  :param UserGroups: 

    The user groups. This parameter is valid only when modifying the ``loadPermission`` attribute.

    

  
    - *(string) --* 

    

  :type ProductCodes: list
  :param ProductCodes: 

    The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the ``productCodes`` attribute.

    

  
    - *(string) --* 

    

  :type LoadPermission: dict
  :param LoadPermission: 

    The load permission for the AFI.

    

  
    - **Add** *(list) --* 

      The load permissions to add.

      

    
      - *(dict) --* 

        Describes a load permission.

        

      
        - **Group** *(string) --* 

          The name of the group.

          

        
        - **UserId** *(string) --* 

          The Amazon Web Services account ID.

          

        
      
  
    - **Remove** *(list) --* 

      The load permissions to remove.

      

    
      - *(dict) --* 

        Describes a load permission.

        

      
        - **Group** *(string) --* 

          The name of the group.

          

        
        - **UserId** *(string) --* 

          The Amazon Web Services account ID.

          

        
      
  
  
  :type Description: string
  :param Description: 

    A description for the AFI.

    

  
  :type Name: string
  :param Name: 

    A name for the AFI.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'FpgaImageAttribute': {
              'FpgaImageId': 'string',
              'Name': 'string',
              'Description': 'string',
              'LoadPermissions': [
                  {
                      'UserId': 'string',
                      'Group': 'all'
                  },
              ],
              'ProductCodes': [
                  {
                      'ProductCodeId': 'string',
                      'ProductCodeType': 'devpay'|'marketplace'
                  },
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **FpgaImageAttribute** *(dict) --* 

        Information about the attribute.

        
        

        - **FpgaImageId** *(string) --* 

          The ID of the AFI.

          
        

        - **Name** *(string) --* 

          The name of the AFI.

          
        

        - **Description** *(string) --* 

          The description of the AFI.

          
        

        - **LoadPermissions** *(list) --* 

          The load permissions.

          
          

          - *(dict) --* 

            Describes a load permission.

            
            

            - **UserId** *(string) --* 

              The Amazon Web Services account ID.

              
            

            - **Group** *(string) --* 

              The name of the group.

              
        
      
        

        - **ProductCodes** *(list) --* 

          The product codes.

          
          

          - *(dict) --* 

            Describes a product code.

            
            

            - **ProductCodeId** *(string) --* 

              The product code.

              
            

            - **ProductCodeType** *(string) --* 

              The type of product code.

              
        
      
    
  