func (e *EC2Events) Events() error {
	// Request Input
	var input *ec2.DescribeInstanceStatusInput = &ec2.DescribeInstanceStatusInput{
		DryRun: aws.Bool(false),
		Filters: []*ec2.Filter{
			{
				Name: aws.String("event.code"),
				Values: []*string{
					aws.String("instance-reboot"),
					aws.String("system-reboot"),
					aws.String("system-maintenance"),
					aws.String("instance-retirement"),
					aws.String("instance-stop"),
				},
			},
		},
		MaxResults: aws.Int64(1000),
	}

	// Request response and error
	var (
		resp *ec2.DescribeInstanceStatusOutput
		err  error
	)

	// Instance Status Request
	resp, err = e.client.DescribeInstanceStatus(input)
	if err != nil {
		return err
	}

	// Assign Instance Status Result List into Object
	e.InstanceStatuses = resp.InstanceStatuses
	// In the case Instance Status Result has NextToken
	for resp.NextToken != nil {
		input.NextToken = resp.NextToken
		resp, err = e.client.DescribeInstanceStatus(input)
		if err != nil {
			return err
		}
		e.InstanceStatuses = append(e.InstanceStatuses, resp.InstanceStatuses...)
	}

	// InstanceNames
	e.instanceNames()

	return nil
}