EC2 / Client / describe_spot_fleet_request_history

describe_spot_fleet_request_history#

EC2.Client.describe_spot_fleet_request_history(**kwargs)#

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

See also: AWS API Documentation

Request Syntax

response = client.describe_spot_fleet_request_history(
    DryRun=True|False,
    EventType='instanceChange'|'fleetRequestChange'|'error'|'information',
    MaxResults=123,
    NextToken='string',
    SpotFleetRequestId='string',
    StartTime=datetime(2015, 1, 1)
)
Parameters:
  • DryRun (boolean) – 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.

  • EventType (string) – The type of events to describe. By default, all events are described.

  • MaxResults (integer) – The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

  • NextToken (string) – The token to include in another request to get the next page of items. This value is null when there are no more items to return.

  • SpotFleetRequestId (string) –

    [REQUIRED]

    The ID of the Spot Fleet request.

  • StartTime (datetime) –

    [REQUIRED]

    The starting date and time for the events, in UTC format (for example, YYYY-MM-DD*T*HH:MM:*SS*Z).

Return type:

dict

Returns:

Response Syntax

{
    'HistoryRecords': [
        {
            'EventInformation': {
                'EventDescription': 'string',
                'EventSubType': 'string',
                'InstanceId': 'string'
            },
            'EventType': 'instanceChange'|'fleetRequestChange'|'error'|'information',
            'Timestamp': datetime(2015, 1, 1)
        },
    ],
    'LastEvaluatedTime': datetime(2015, 1, 1),
    'NextToken': 'string',
    'SpotFleetRequestId': 'string',
    'StartTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) –

    Contains the output of DescribeSpotFleetRequestHistory.

    • HistoryRecords (list) –

      Information about the events in the history of the Spot Fleet request.

      • (dict) –

        Describes an event in the history of the Spot Fleet request.

        • EventInformation (dict) –

          Information about the event.

          • EventDescription (string) –

            The description of the event.

          • EventSubType (string) –

            The event.

            error events:

            • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required permissions either to launch or terminate an instance.

            • allLaunchSpecsTemporarilyBlacklisted - None of the configurations are valid, and several attempts to launch instances have failed. For more information, see the description of the event.

            • spotInstanceCountLimitExceeded - You’ve reached the limit on the number of Spot Instances that you can launch.

            • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

            fleetRequestChange events:

            • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running instances.

            • deleted (EC2 Fleet) / cancelled (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and has no running instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are terminated.

            • deleted_running (EC2 Fleet) / cancelled_running (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and does not launch additional instances. Its existing instances continue to run until they are interrupted or terminated. The request remains in this state until all instances are interrupted or terminated.

            • deleted_terminating (EC2 Fleet) / cancelled_terminating (Spot Fleet) - The EC2 Fleet is deleted or the Spot Fleet request is canceled and its instances are terminating. The request remains in this state until all instances are terminated.

            • expired - The EC2 Fleet or Spot Fleet request has expired. If the request was created with TerminateInstancesWithExpiration set, a subsequent terminated event indicates that the instances are terminated.

            • modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. The request remains in this state until the modification is fully processed.

            • modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

            • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of instances.

            • progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

            instanceChange events:

            • launched - A new instance was launched.

            • terminated - An instance was terminated by the user.

            • termination_notified - An instance termination notification was sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target capacity of the fleet was modified down, for example, from a target capacity of 4 to a target capacity of 3.

            Information events:

            • fleetProgressHalted - The price in every launch specification is not valid because it is below the Spot price (all the launch specifications have produced launchSpecUnusable events). A launch specification might become valid if the Spot price changes.

            • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

            • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price.

            • registerWithLoadBalancersFailed - An attempt to register instances with load balancers failed. For more information, see the description of the event.

          • InstanceId (string) –

            The ID of the instance. This information is available only for instanceChange events.

        • EventType (string) –

          The event type.

          • error - An error with the Spot Fleet request.

          • fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

          • instanceChange - An instance was launched or terminated.

          • Information - An informational event.

        • Timestamp (datetime) –

          The date and time of the event, in UTC format (for example, YYYY-MM-DD*T*HH:MM:*SS*Z).

    • LastEvaluatedTime (datetime) –

      The last date and time for the events, in UTC format (for example, YYYY-MM-DD*T*HH:MM:*SS*Z). All records up to this time were retrieved.

      If nextToken indicates that there are more items, this value is not present.

    • NextToken (string) –

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

    • SpotFleetRequestId (string) –

      The ID of the Spot Fleet request.

    • StartTime (datetime) –

      The starting date and time for the events, in UTC format (for example, YYYY-MM-DD*T*HH:MM:*SS*Z).

Examples

This example returns the history for the specified Spot fleet starting at the specified time.

response = client.describe_spot_fleet_request_history(
    SpotFleetRequestId='sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    StartTime=datetime(2015, 5, 26, 0, 0, 0, 1, 146, 0),
)

print(response)

Expected Output:

{
    'HistoryRecords': [
        {
            'EventInformation': {
                'EventSubType': 'submitted',
            },
            'EventType': 'fleetRequestChange',
            'Timestamp': datetime(2015, 5, 26, 23, 17, 20, 1, 146, 0),
        },
        {
            'EventInformation': {
                'EventSubType': 'active',
            },
            'EventType': 'fleetRequestChange',
            'Timestamp': datetime(2015, 5, 26, 23, 17, 20, 1, 146, 0),
        },
        {
            'EventInformation': {
                'EventSubType': 'launched',
                'InstanceId': 'i-1234567890abcdef0',
            },
            'EventType': 'instanceChange',
            'Timestamp': datetime(2015, 5, 26, 23, 21, 21, 1, 146, 0),
        },
        {
            'EventInformation': {
                'EventSubType': 'launched',
                'InstanceId': 'i-1234567890abcdef1',
            },
            'EventType': 'instanceChange',
            'Timestamp': datetime(2015, 5, 26, 23, 21, 21, 1, 146, 0),
        },
    ],
    'NextToken': 'CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=',
    'SpotFleetRequestId': 'sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE',
    'StartTime': datetime(2015, 5, 26, 0, 0, 0, 1, 146, 0),
    'ResponseMetadata': {
        '...': '...',
    },
}