Repository: boto/boto

Issue:
monitoring_enabled should specify it enables *detailed* monitoring
IMO, the `monitoring_enabled` argument of [boto.ec2.connection.EC2Connection.run_instances](http://boto.readthedocs.org/en/latest/ref/ec2.html#boto.ec2.connection.EC2Connection.run_instances) should specify that it enables or disables _detailed_ monitoring, i.e. at 1-minute intervals as described here:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html

_Basic_ monitoring (at 5-minute intervals) is provided if the flag is False. I find it a bit confusing that boto's description for this flag simply states:

> Enable CloudWatch monitoring on the instance.

which makes me think the monitoring will be either enabled or disabled entirely, which is not the case. I believe the `monitoring_enabled` argument is used in various other calls with similar confusion.



Discussion:
Yes, you are right.
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html

The right doc for the above should be,

> Enable detailed CloudWatch monitoring on the instance.

That should do it.


Resolving patch:
diff --git a/boto/ec2/connection.py b/boto/ec2/connection.py
--- a/boto/ec2/connection.py
+++ b/boto/ec2/connection.py
@@ -826,7 +826,7 @@ def run_instances(self, image_id, min_count=1, max_count=1,
             instances.
 
         :type monitoring_enabled: bool
-        :param monitoring_enabled: Enable CloudWatch monitoring on
+        :param monitoring_enabled: Enable detailed CloudWatch monitoring on
             the instance.
 
         :type subnet_id: string
@@ -1527,7 +1527,7 @@ def request_spot_instances(self, price, image_id, count=1, type='one-time',
             instances
 
         :type monitoring_enabled: bool
-        :param monitoring_enabled: Enable CloudWatch monitoring on
+        :param monitoring_enabled: Enable detailed CloudWatch monitoring on
             the instance.
 
         :type subnet_id: string
@@ -3868,7 +3868,7 @@ def describe_reserved_instances_modifications(self,
 
     def monitor_instances(self, instance_ids, dry_run=False):
         """
-        Enable CloudWatch monitoring for the supplied instances.
+        Enable detailed CloudWatch monitoring for the supplied instances.
 
         :type instance_id: list of strings
         :param instance_id: The instance ids
@@ -3889,7 +3889,7 @@ def monitor_instances(self, instance_ids, dry_run=False):
     def monitor_instance(self, instance_id, dry_run=False):
         """
         Deprecated Version, maintained for backward compatibility.
-        Enable CloudWatch monitoring for the supplied instance.
+        Enable detailed CloudWatch monitoring for the supplied instance.
 
         :type instance_id: string
         :param instance_id: The instance id
@@ -3925,7 +3925,7 @@ def unmonitor_instances(self, instance_ids, dry_run=False):
     def unmonitor_instance(self, instance_id, dry_run=False):
         """
         Deprecated Version, maintained for backward compatibility.
-        Disable CloudWatch monitoring for the supplied instance.
+        Disable detailed CloudWatch monitoring for the supplied instance.
 
         :type instance_id: string
         :param instance_id: The instance id


Test patch: