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

*************************
create_image_usage_report
*************************



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

  

  Creates a report that shows how your image is used across other Amazon Web Services accounts. The report provides visibility into which accounts are using the specified image, and how many resources (EC2 instances or launch templates) are referencing it.

   

  For more information, see `View your AMI usage <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/your-ec2-ami-usage.html>`__ in the *Amazon EC2 User Guide*.

  

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


  **Request Syntax**
  ::

    response = client.create_image_usage_report(
        ImageId='string',
        DryRun=True|False,
        ResourceTypes=[
            {
                'ResourceType': 'string',
                'ResourceTypeOptions': [
                    {
                        'OptionName': 'string',
                        'OptionValues': [
                            'string',
                        ]
                    },
                ]
            },
        ],
        AccountIds=[
            'string',
        ],
        ClientToken='string',
        TagSpecifications=[
            {
                'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'declarative-policies-report'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'image-usage-report'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'outpost-lag'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'service-link-virtual-interface'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-metering-policy'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'vpc-encryption-control'|'route-server'|'route-server-endpoint'|'route-server-peer'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint'|'verified-access-endpoint-target'|'ipam-external-resource-verification-token'|'capacity-block'|'mac-modification-task'|'ipam-prefix-list-resolver'|'ipam-policy'|'ipam-prefix-list-resolver-target'|'secondary-interface'|'secondary-network'|'secondary-subnet'|'capacity-manager-data-export'|'vpn-concentrator',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            },
        ]
    )
    
  :type ImageId: string
  :param ImageId: **[REQUIRED]** 

    The ID of the image to report on.

    

  
  :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 ResourceTypes: list
  :param ResourceTypes: **[REQUIRED]** 

    The resource types to include in the report.

    

  
    - *(dict) --* 

      A resource type to include in the report. Associated options can also be specified if the resource type is a launch template.

      

    
      - **ResourceType** *(string) --* 

        The resource type.

         

        Valid values: ``ec2:Instance`` | ``ec2:LaunchTemplate``

        

      
      - **ResourceTypeOptions** *(list) --* 

        The options that affect the scope of the report. Valid only when ``ResourceType`` is ``ec2:LaunchTemplate``.

        

      
        - *(dict) --* 

          The options that affect the scope of the report.

          

        
          - **OptionName** *(string) --* 

            The name of the option.

             

            Valid value: ``version-depth`` - The number of launch template versions to check.

            

          
          - **OptionValues** *(list) --* 

            A value for the specified option.

             

            Valid values: Integers between ``1`` and ``10000``

             

            Default: ``20``

            

          
            - *(string) --* 

            
        
        
    
    

  :type AccountIds: list
  :param AccountIds: 

    The Amazon Web Services account IDs to include in the report. To include all accounts, omit this parameter.

    

  
    - *(string) --* 

    

  :type ClientToken: string
  :param ClientToken: 

    A unique, case-sensitive identifier that you provide to ensure idempotency of the request.

    This field is autopopulated if not provided.

  
  :type TagSpecifications: list
  :param TagSpecifications: 

    The tags to apply to the report on creation. The ``ResourceType`` must be set to ``image-usage-report``; any other value will cause the report creation to fail.

     

    To tag a report after it has been created, see `CreateTags <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html>`__.

    

  
    - *(dict) --* 

      The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

       

      .. note::

        

        The ``Valid Values`` lists all the resource types that can be tagged. However, the action you're using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you're using, you'll get an error.

        

      

    
      - **ResourceType** *(string) --* 

        The type of resource to tag on creation.

        

      
      - **Tags** *(list) --* 

        The tags to apply to the resource.

        

      
        - *(dict) --* 

          Describes a tag.

          

        
          - **Key** *(string) --* 

            The key of the tag.

             

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with ``aws:``.

            

          
          - **Value** *(string) --* 

            The value of the tag.

             

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

            

          
        
    
    

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

    
    ::

      {
          'ReportId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ReportId** *(string) --* 

        The ID of the report.

        
  