:doc:`EC2 <../../ec2>` / Paginator / DescribeFlowLogs

****************
DescribeFlowLogs
****************



.. py:class:: EC2.Paginator.DescribeFlowLogs

  ::

    
    paginator = client.get_paginator('describe_flow_logs')

  
  

  .. py:method:: paginate(**kwargs)

    Creates an iterator that will paginate through responses from :py:meth:`EC2.Client.describe_flow_logs`.

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


    **Request Syntax**
    ::

      response_iterator = paginator.paginate(
          DryRun=True|False,
          Filters=[
              {
                  'Name': 'string',
                  'Values': [
                      'string',
                  ]
              },
          ],
          FlowLogIds=[
              'string',
          ],
          PaginationConfig={
              'MaxItems': 123,
              'PageSize': 123,
              'StartingToken': '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 Filters: list
    :param Filters: 

      One or more filters.

       

      
      * ``deliver-log-status`` - The status of the logs delivery ( ``SUCCESS`` | ``FAILED``).
       
      * ``log-destination-type`` - The type of destination for the flow log data ( ``cloud-watch-logs`` | ``s3`` | ``kinesis-data-firehose``).
       
      * ``flow-log-id`` - The ID of the flow log.
       
      * ``log-group-name`` - The name of the log group.
       
      * ``resource-id`` - The ID of the VPC, subnet, or network interface.
       
      * ``traffic-type`` - The type of traffic ( ``ACCEPT`` | ``REJECT`` | ``ALL``).
       
      * ``tag``:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key ``Owner`` and the value ``TeamA``, specify ``tag:Owner`` for the filter name and ``TeamA`` for the filter value.
       
      * ``tag-key`` - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.
      

      

    
      - *(dict) --* 

        A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

         

        If you specify multiple filters, the filters are joined with an ``AND``, and the request returns only results that match all of the specified filters.

         

        For more information, see `List and filter using the CLI and API <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Filtering.html#Filtering_Resources_CLI>`__ in the *Amazon EC2 User Guide*.

        

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

          The name of the filter. Filter names are case-sensitive.

          

        
        - **Values** *(list) --* 

          The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an ``OR``, and the request returns all results that match any of the specified values.

          

        
          - *(string) --* 

          
      
      
  
    :type FlowLogIds: list
    :param FlowLogIds: 

      One or more flow log IDs.

       

      Constraint: Maximum of 1000 flow log IDs.

      

    
      - *(string) --* 

      
  
    :type PaginationConfig: dict
    :param PaginationConfig: 

      A dictionary that provides parameters to control pagination.

      

    
      - **MaxItems** *(integer) --* 

        The total number of items to return. If the total number of items available is more than the value specified in max-items then a ``NextToken`` will be provided in the output that you can use to resume pagination.

        

      
      - **PageSize** *(integer) --* 

        The size of each page.

        

      
      - **StartingToken** *(string) --* 

        A token to specify where to start paginating. This is the ``NextToken`` from a previous response.

        

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

      
      ::

        {
            'FlowLogs': [
                {
                    'CreationTime': datetime(2015, 1, 1),
                    'DeliverLogsErrorMessage': 'string',
                    'DeliverLogsPermissionArn': 'string',
                    'DeliverCrossAccountRole': 'string',
                    'DeliverLogsStatus': 'string',
                    'FlowLogId': 'string',
                    'FlowLogStatus': 'string',
                    'LogGroupName': 'string',
                    'ResourceId': 'string',
                    'TrafficType': 'ACCEPT'|'REJECT'|'ALL',
                    'LogDestinationType': 'cloud-watch-logs'|'s3'|'kinesis-data-firehose',
                    'LogDestination': 'string',
                    'LogFormat': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ],
                    'MaxAggregationInterval': 123,
                    'DestinationOptions': {
                        'FileFormat': 'plain-text'|'parquet',
                        'HiveCompatiblePartitions': True|False,
                        'PerHourPartition': True|False
                    }
                },
            ],
            
        }
        
      **Response Structure**

      

      - *(dict) --* 
        

        - **FlowLogs** *(list) --* 

          Information about the flow logs.

          
          

          - *(dict) --* 

            Describes a flow log.

            
            

            - **CreationTime** *(datetime) --* 

              The date and time the flow log was created.

              
            

            - **DeliverLogsErrorMessage** *(string) --* 

              Information about the error that occurred. ``Rate limited`` indicates that CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of log groups that you can create. ``Access error`` indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. ``Unknown error`` indicates an internal error.

              
            

            - **DeliverLogsPermissionArn** *(string) --* 

              The ARN of the IAM role allows the service to publish logs to CloudWatch Logs.

              
            

            - **DeliverCrossAccountRole** *(string) --* 

              The ARN of the IAM role that allows the service to publish flow logs across accounts.

              
            

            - **DeliverLogsStatus** *(string) --* 

              The status of the logs delivery ( ``SUCCESS`` | ``FAILED``).

              
            

            - **FlowLogId** *(string) --* 

              The ID of the flow log.

              
            

            - **FlowLogStatus** *(string) --* 

              The status of the flow log ( ``ACTIVE``).

              
            

            - **LogGroupName** *(string) --* 

              The name of the flow log group.

              
            

            - **ResourceId** *(string) --* 

              The ID of the resource being monitored.

              
            

            - **TrafficType** *(string) --* 

              The type of traffic captured for the flow log.

              
            

            - **LogDestinationType** *(string) --* 

              The type of destination for the flow log data.

              
            

            - **LogDestination** *(string) --* 

              The Amazon Resource Name (ARN) of the destination for the flow log data.

              
            

            - **LogFormat** *(string) --* 

              The format of the flow log record.

              
            

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

              The tags for the flow log.

              
              

              - *(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.

                  
            
          
            

            - **MaxAggregationInterval** *(integer) --* 

              The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

               

              When a network interface is attached to a `Nitro-based instance <https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html>`__, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

               

              Valid Values: ``60`` | ``600``

              
            

            - **DestinationOptions** *(dict) --* 

              The destination options.

              
              

              - **FileFormat** *(string) --* 

                The format for the flow log.

                
              

              - **HiveCompatiblePartitions** *(boolean) --* 

                Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

                
              

              - **PerHourPartition** *(boolean) --* 

                Indicates whether to partition the flow log per hour.

                
          
        
      
    