Hello community,

here is the log from the commit of package aws-cli for openSUSE:Factory checked 
in at 2015-06-23 11:55:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aws-cli (Old)
 and      /work/SRC/openSUSE:Factory/.aws-cli.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "aws-cli"

Changes:
--------
--- /work/SRC/openSUSE:Factory/aws-cli/aws-cli.changes  2015-05-30 
12:33:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.aws-cli.new/aws-cli.changes     2015-06-23 
11:55:49.000000000 +0200
@@ -1,0 +2,14 @@
+Mon Jun  1 20:47:37 UTC 2015 - [email protected]
+
+- update to version 1.7.31 (bnc#905354)
+    - Follow up to previous update to address API compatibility issues
+      with botocore
+    - Improved lambda support
+    - Add support for uploading code using Amazon S3
+    - Preview services are now documented
+      and will also show up in the list of available services
+  + From 1.7.30
+    - Add support for ``aws efs``
+    - Add paginators and waiters for ``aws ecs``
+
+-------------------------------------------------------------------

Old:
----
  aws-cli-1.7.29.tar.gz

New:
----
  aws-cli-1.7.31.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ aws-cli.spec ++++++
--- /var/tmp/diff_new_pack.W6oRtM/_old  2015-06-23 11:55:50.000000000 +0200
+++ /var/tmp/diff_new_pack.W6oRtM/_new  2015-06-23 11:55:50.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           aws-cli
-Version:        1.7.29
+Version:        1.7.31
 Release:        0
 Summary:        Amazon Web Services Command Line Interface
 License:        Apache-2.0

++++++ aws-cli-1.7.29.tar.gz -> aws-cli-1.7.31.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/CHANGELOG.rst 
new/aws-cli-1.7.31/CHANGELOG.rst
--- old/aws-cli-1.7.29/CHANGELOG.rst    2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/CHANGELOG.rst    2015-05-29 00:00:07.000000000 +0200
@@ -2,6 +2,37 @@
 CHANGELOG
 =========
 
+1.7.31
+======
+
+* feature:``aws lambda create-function``: Add support for uploading code
+  using Amazon S3.
+* feature:Preview Services: Preview services are now documented
+  and will also show up in the list of available services
+  (`issue 1345 <https://github.com/aws/aws-cli/pull/1345>`__)
+
+
+1.7.30
+======
+
+* feature:``aws efs``: Add support for ``aws efs``
+* feature:``aws ecs``: Add paginators and waiters for
+  ``aws ecs``
+
+
+1.7.29
+======
+
+* feature:``aws kinesis``: The ``get-records`` command now returns a new value
+  MillisBehindLatest: the number of milliseconds the ``get-records`` response 
is
+  from the end of the stream, indicating how far behind real time a consumer
+  is.
+* feature:``aws kms``: Add update-alias command
+* feature:``aws elastictranscoder``: Update the aws elastictranscoder command
+  to include support for additional formats, including MXF, FLAC, and OGA, and
+  additional flexibility for your output audio.
+
+
 1.7.28
 ======
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/awscli/__init__.py 
new/aws-cli-1.7.31/awscli/__init__.py
--- old/aws-cli-1.7.29/awscli/__init__.py       2015-05-21 22:33:43.000000000 
+0200
+++ new/aws-cli-1.7.31/awscli/__init__.py       2015-05-29 00:00:07.000000000 
+0200
@@ -17,7 +17,7 @@
 """
 import os
 
-__version__ = '1.7.29'
+__version__ = '1.7.31'
 
 #
 # Get our data path to be added to botocore's search path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/awscli/customizations/awslambda.py 
new/aws-cli-1.7.31/awscli/customizations/awslambda.py
--- old/aws-cli-1.7.29/awscli/customizations/awslambda.py       2015-05-21 
22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/awscli/customizations/awslambda.py       2015-05-29 
00:00:07.000000000 +0200
@@ -11,11 +11,12 @@
 # ANY KIND, either express or implied. See the License for the specific
 # language governing permissions and limitations under the License.
 import zipfile
+import copy
 from contextlib import closing
 
 from botocore.vendored import six
 
-from awscli.arguments import CustomArgument
+from awscli.arguments import CustomArgument, CLIArgument
 from awscli.customizations import utils
 
 ERROR_MSG = (
@@ -25,7 +26,7 @@
 
 def register_lambda_create_function(cli):
     cli.register('building-argument-table.lambda.create-function',
-                 _flatten_code_argument)
+                 _extract_code_and_zip_file_arguments)
     cli.register('process-cli-arg.lambda.update-function-code',
                  validate_is_zip_file)
 
@@ -35,12 +36,22 @@
         _should_contain_zip_content(value)
 
 
-def _flatten_code_argument(argument_table, **kwargs):
+def _extract_code_and_zip_file_arguments(session, argument_table, **kwargs):
     argument_table['zip-file'] = ZipFileArgument(
         'zip-file', help_text=('The path to the zip file of the code you '
                                'are uploading. Example: fileb://code.zip'),
-        cli_type_name='blob', required=True)
-    del argument_table['code']
+        cli_type_name='blob')
+    code_argument = argument_table['code']
+    code_model = copy.deepcopy(code_argument.argument_model)
+    del code_model.members['ZipFile']
+    argument_table['code'] = CodeArgument(
+        name='code',
+        argument_model=code_model,
+        operation_model=code_argument._operation_model,
+        is_required=False,
+        event_emitter=session.get_component('event_emitter'),
+        serialized_name='Code'
+    )
 
 
 def _should_contain_zip_content(value):
@@ -64,4 +75,18 @@
             return
         _should_contain_zip_content(value)
         zip_file_param = {'ZipFile': value}
-        parameters['Code'] = zip_file_param
+        if parameters.get('Code'):
+            parameters['Code'].update(zip_file_param)
+        else:
+            parameters['Code'] = zip_file_param
+
+
+class CodeArgument(CLIArgument):
+    def add_to_params(self, parameters, value):
+        if value is None:
+            return
+        unpacked = self._unpack_argument(value)
+        if parameters.get('Code'):
+            parameters['Code'].update(unpacked)
+        else:
+            parameters['Code'] = unpacked
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/awscli/customizations/preview.py 
new/aws-cli-1.7.31/awscli/customizations/preview.py
--- old/aws-cli-1.7.29/awscli/customizations/preview.py 2015-05-21 
22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/awscli/customizations/preview.py 2015-05-29 
00:00:07.000000000 +0200
@@ -33,31 +33,15 @@
 import sys
 import textwrap
 
-from awscli.clidriver import CLICommand
-
 
 logger = logging.getLogger(__name__)
 
-# Mapping of service name to help text to print
-# when a user tries to invoke a service marked as preview.
-CLOUDSEARCH_HELP = """
-CloudSearch has a specialized command line tool available at
-http://aws.amazon.com/tools#cli. The AWS CLI does not yet
-support all of the features of the CloudSearch CLI. Until these features
-are added to the AWS CLI, you may have a more complete
-experience using the CloudSearch CLI.
-"""
-
-
-GENERAL_HELP = """
-This service is only available as a preview service.
-"""
-
-
-PREVIEW_SERVICES = {
-    'cloudfront': GENERAL_HELP,
-    'sdb': GENERAL_HELP,
-}
+
+PREVIEW_SERVICES = [
+    'cloudfront',
+    'sdb',
+    'efs',
+]
 
 
 def register_preview_commands(events):
@@ -69,15 +53,48 @@
     # explicitly enabled in the config file.
     allowed_services = _get_allowed_services(session)
     for preview_service in PREVIEW_SERVICES:
+        is_enabled = False
         if preview_service in allowed_services:
             # Then we don't need to swap it as a preview
             # service, the user has specifically asked to
             # enable this service.
             logger.debug("Preview service enabled through config file: %s",
                          preview_service)
-            continue
-        command_table[preview_service] = PreviewModeCommand(
-            preview_service, PREVIEW_SERVICES[preview_service])
+            is_enabled = True
+        original_command = command_table[preview_service]
+        preview_cls = type(
+            'PreviewCommand',
+            (PreviewModeCommandMixin, original_command.__class__), {})
+        command_table[preview_service] = preview_cls(
+            cli_name=original_command.name,
+            session=session,
+            service_name=original_command.service_model.service_name,
+            is_enabled=is_enabled)
+        # We also want to register a handler that will update the
+        # description in the docs to say that this is a preview service.
+        session.get_component('event_emitter').register_last(
+            'doc-description.%s' % preview_service,
+            update_description_with_preview)
+
+
+def update_description_with_preview(help_command, **kwargs):
+    style = help_command.doc.style
+    style.start_note()
+    style.bold(PreviewModeCommandMixin.HELP_SNIPPET.strip())
+    # bcdoc does not currently allow for what I'd like to do
+    # which is have a code block like:
+    #
+    # ::
+    #    [preview]
+    #    service=true
+    #
+    #    aws configure set preview.service true
+    #
+    # So for now we're just going to add the configure command
+    # to enable this.
+    style.doc.write("You can enable this service by running: ")
+    style.code("aws configure set preview.%s true" % help_command.name)
+    style.end_note()
 
 
 def _get_allowed_services(session):
@@ -92,14 +109,9 @@
     return allowed
 
 
-class PreviewModeCommand(CLICommand):
-    # This is a hidden attribute that tells the doc system
-    # not to document this command in the provider help.
-    # This is an internal implementation detail.
-    _UNDOCUMENTED = True
-
+class PreviewModeCommandMixin(object):
     ENABLE_DOCS = textwrap.dedent("""\
-    However, if you'd like to use a basic set of {service} commands with the
+    However, if you'd like to use the "aws {service}" commands with the
     AWS CLI, you can enable this service by adding the following to your CLI
     config file:
 
@@ -111,13 +123,24 @@
         aws configure set preview.{service} true
 
     """)
+    HELP_SNIPPET = "This service is only available as a preview service.\n"
 
-    def __init__(self, service_name, service_help):
-        self._service_name = service_name
-        self._service_help = service_help
+    def __init__(self, *args, **kwargs):
+        self._is_enabled = kwargs.pop('is_enabled')
+        super(PreviewModeCommandMixin, self).__init__(*args, **kwargs)
 
     def __call__(self, args, parsed_globals):
-        sys.stderr.write(self._service_help)
+        if self._is_enabled or self._is_help_command(args):
+            return super(PreviewModeCommandMixin, self).__call__(
+                args, parsed_globals)
+        else:
+            return self._display_opt_in_message()
+
+    def _is_help_command(self, args):
+        return args and args[-1] == 'help'
+
+    def _display_opt_in_message(self):
+        sys.stderr.write(self.HELP_SNIPPET)
         sys.stderr.write("\n")
         # Then let them know how to enable this service.
         sys.stderr.write(self.ENABLE_DOCS.format(service=self._service_name))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/authorize-security-group-egress.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/authorize-security-group-egress.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/authorize-security-group-egress.rst  
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/authorize-security-group-egress.rst  
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,15 @@
+**To add a rule that allows outbound traffic to a specific address range**
+
+This example command adds a rule that grants access to the specified address 
ranges on TCP port 80.
+
+Command:
+
+  aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --protocol 
tcp --port 80 --cidr 203.0.113.0/24
+
+**To add a rule that allows outbound traffic to a specific security group**
+
+This example command adds a rule that grants access to the specified security 
group on TCP port 80.
+
+Command:
+
+  aws ec2 authorize-security-group-egress --group-id sg-1a2b3c4d --protocol 
tcp --port 80 --source-group sg-9a8d7f5c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/cancel-spot-fleet-requests.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/cancel-spot-fleet-requests.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/cancel-spot-fleet-requests.rst       
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/cancel-spot-fleet-requests.rst       
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,39 @@
+**To cancel Spot fleet requests**
+
+This example command cancels a Spot fleet request and terminates the 
associated Spot Instances.
+
+Command::
+
+  aws ec2 cancel-spot-fleet-requests --spot-fleet-request-ids 
sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --terminate-instances
+
+Output::
+
+  {
+    "SuccessfulFleetRequests": [
+        {
+            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
+            "CurrentSpotFleetRequestState": "cancelled_running",
+            "PreviousSpotFleetRequestState": "active"
+        }
+    ],
+    "UnsuccessfulFleetRequests": []
+  }
+
+This example command cancels a Spot fleet request without terminating the 
associated Spot Instances.
+
+Command::
+
+  aws ec2 cancel-spot-fleet-requests --spot-fleet-request-ids 
sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --no-terminate-instances
+
+Output::
+
+  {
+    "SuccessfulFleetRequests": [
+        {
+            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
+            "CurrentSpotFleetRequestState": "cancelled_terminating",
+            "PreviousSpotFleetRequestState": "active"
+        }
+    ],
+    "UnsuccessfulFleetRequests": []  
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/create-placement-group.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/create-placement-group.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/create-placement-group.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/create-placement-group.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,7 @@
+**To create a placement group**
+
+This example command creates a placement group with the specified name.
+
+Command::
+
+  aws ec2 create-placement-group --group-name my-cluster --strategy cluster
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/create-vpc-endpoint.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/create-vpc-endpoint.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/create-vpc-endpoint.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/create-vpc-endpoint.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,23 @@
+**To create an endpoint**
+
+This example creates a VPC endpoint between VPC vpc-1a2b3c4d and Amazon S3 in 
the us-east-1 region, and associates route table rtb-11aa22bb with the endpoint.
+
+Command::
+
+  aws ec2 create-vpc-endpoint --vpc-id vpc-1a2b3c4d --service-name 
com.amazonaws.us-east-1.s3 --route-table-ids rtb-11aa22bb
+
+Output::
+
+  {
+    "VpcEndpoint": {
+    "PolicyDocument": 
"{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}",
 
+    "VpcId": "vpc-1a2b3c4d", 
+    "State": "available", 
+    "ServiceName": "com.amazonaws.us-east-1.s3", 
+    "RouteTableIds": [
+      "rtb-11aa22bb"
+    ], 
+    "VpcEndpointId": "vpce-3ecf2a57", 
+    "CreationTimestamp": "2015-05-15T09:40:50Z"
+    }
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/delete-placement-group.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/delete-placement-group.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/delete-placement-group.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/delete-placement-group.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,7 @@
+**To delete a placement group**
+
+This example command deletes the specified placement group.
+
+Command::
+
+  aws ec2 delete-placement-group --group-name my-cluster
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/delete-vpc-endpoints.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/delete-vpc-endpoints.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/delete-vpc-endpoints.rst     
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/delete-vpc-endpoints.rst     
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,13 @@
+**To delete an endpoint**
+
+This example deletes endpoints vpce-aa22bb33 and vpce-1a2b3c4d. If the command 
is partially successful or unsuccessful, a list of unsuccessful items is 
returned. If the command succeeds, the returned list is empty.
+
+Command::
+
+  aws ec2 delete-vpc-endpoints --vpc-endpoint-ids vpce-aa22bb33 vpce-1a2b3c4d
+
+Output::
+
+  {
+    "Unsuccessful": []
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-moving-addresses.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-moving-addresses.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-moving-addresses.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-moving-addresses.rst        
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,24 @@
+**To describe your moving addresses**
+
+This example describes all of your moving Elastic IP addresses.
+
+Command::
+
+  aws ec2 describe-moving-addresses
+
+Output::
+
+  {
+    "MovingAddressStatuses": [
+      {
+        "PublicIp": "198.51.100.0",
+        "MoveStatus": "MovingToVpc"
+      }
+    ]
+  }
+
+This example describes all addresses that are moving to the EC2-VPC platform.
+
+Command::
+
+  aws ec2 describe-moving-addresses --filters 
Name=moving-status,Values=MovingToVpc
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-network-interface-attribute.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-network-interface-attribute.rst
--- 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-network-interface-attribute.rst 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-network-interface-attribute.rst 
    2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,76 @@
+**To describe the attachment attribute of a network interface**
+
+This example command describes the <code>attachment</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 describe-network-interface-attribute --network-interface-id 
eni-686ea200 --attribute attachment
+  
+Output::
+
+  {
+    "NetworkInterfaceId": "eni-686ea200",
+    "Attachment": {
+        "Status": "attached",
+        "DeviceIndex": 0,
+        "AttachTime": "2015-05-21T20:02:20.000Z",
+        "InstanceId": "i-d5652e23",
+        "DeleteOnTermination": true,
+        "AttachmentId": "eni-attach-43348162",
+        "InstanceOwnerId": "123456789012"
+    }
+  }
+
+**To describe the description attribute of a network interface**
+
+This example command describes the <code>description</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 describe-network-interface-attribute --network-interface-id 
eni-686ea200 --attribute description 
+  
+Output::
+
+  {
+    "NetworkInterfaceId": "eni-686ea200",
+    "Description": {
+        "Value": "My description"
+    }
+  }
+
+**To describe the groupSet attribute of a network interface**
+
+This example command describes the <code>groupSet</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 describe-network-interface-attribute --network-interface-id 
eni-686ea200 --attribute groupSet
+  
+Output::
+
+  {
+    "NetworkInterfaceId": "eni-686ea200",
+    "Groups": [
+        {
+            "GroupName": "my-security-group",
+            "GroupId": "sg-903004f8"
+        }
+    ]
+  }
+
+**To describe the sourceDestCheck attribute of a network interface**
+
+This example command describes the <code>sourceDestCheck</code> attribute of 
the specified network interface.
+
+Command::
+
+  aws ec2 describe-network-interface-attribute --network-interface-id 
eni-686ea200 --attribute sourceDestCheck
+  
+Output::
+
+  {
+    "NetworkInterfaceId": "eni-686ea200",
+    "SourceDestCheck": {
+        "Value": true
+    }
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-placement-groups.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-placement-groups.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-placement-groups.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-placement-groups.rst        
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,20 @@
+**To describe your placement groups**
+
+This example command describes all of your placement groups.
+
+Command::
+
+  aws ec2 describe-placement-groups
+
+Output::
+
+  {
+      "PlacementGroups": [
+          {
+              "GroupName": "my-cluster",
+              "State": "available",
+              "Strategy": "cluster"
+          },
+          ...
+      ]
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-prefix-lists.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-prefix-lists.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-prefix-lists.rst    
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-prefix-lists.rst    
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,21 @@
+**To describe prefix lists**
+
+This example lists all available prefix lists for the region.
+
+Command::
+
+  aws ec2 describe-prefix-lists
+
+Output::
+
+  {
+    "PrefixLists": [
+      {
+        "PrefixListName": "com.amazonaws.us-east-1.s3", 
+        "Cidrs": [
+          "54.231.0.0/17"
+        ], 
+        "PrefixListId": "pl-63a5400a"
+      }
+    ]
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-instances.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-instances.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-instances.rst    
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-instances.rst    
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,21 @@
+**To describe the Spot Instances associated with a Spot fleet**
+
+This example command lists the Spot instances associated with the specified 
Spot fleet.
+
+Command::
+
+  aws ec2 describe-spot-fleet-instances --spot-fleet-request-id 
sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
+
+Output::
+
+  {
+    "ActiveInstances": [
+        {
+            "InstanceId": "i-3852c1cf",
+            "InstanceType": "m3.medium",
+            "SpotInstanceRequestId": "sir-08b93456"
+        },
+        ...
+    ],
+    "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-request-history.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-request-history.rst
--- 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-request-history.rst  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-request-history.rst  
    2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,49 @@
+**To describe Spot fleet history**
+
+This example command returns the history for the specified Spot fleet starting 
at the specified time.
+
+Command::
+
+  aws ec2 describe-spot-fleet-request-history --spot-fleet-request-id 
sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --start-time 2015-05-26T00:00:00Z
+
+The following example output shows the successful launches of two Spot 
Instances for the Spot fleet.
+  
+Output::
+
+  {
+    "HistoryRecords": [
+        {
+            "Timestamp": "2015-05-26T23:17:20.697Z",
+            "EventInformation": {
+                "EventSubType": "submitted"
+            },
+            "EventType": "fleetRequestChange"
+        },
+        {
+            "Timestamp": "2015-05-26T23:17:20.873Z",
+            "EventInformation": {
+                "EventSubType": "active"
+            },
+            "EventType": "fleetRequestChange"
+        },
+        {
+            "Timestamp": "2015-05-26T23:21:21.712Z",
+            "EventInformation": {
+                "InstanceId": "i-3a52c1cd",
+                "EventSubType": "launched"
+            },
+            "EventType": "instanceChange"
+        },
+        {
+            "Timestamp": "2015-05-26T23:21:21.816Z",
+            "EventInformation": {
+                "InstanceId": "i-3852c1cf",
+                "EventSubType": "launched"
+            },
+            "EventType": "instanceChange"
+        }
+    ],
+    "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
+    "NextToken": 
"CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=",
+    "StartTime": "2015-05-26T00:00:00Z"  
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-requests.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-requests.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-spot-fleet-requests.rst     
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-spot-fleet-requests.rst     
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,132 @@
+**To describe your Spot fleet requests**
+
+This example describes all of your Spot fleet requests.
+
+Command::
+
+  aws ec2 describe-spot-fleet-requests
+
+Output::
+
+  {
+    "SpotFleetRequestConfigs": [
+        {
+            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
+            "SpotFleetRequestConfig": {
+                "TargetCapacity": 20,
+                "LaunchSpecifications": [
+                    {
+                        "EbsOptimized": false,
+                        "NetworkInterfaces": [
+                            {
+                                "SubnetId": "subnet-a61dafcf",
+                                "DeviceIndex": 0,
+                                "DeleteOnTermination": false,
+                                "AssociatePublicIpAddress": true,
+                                "SecondaryPrivateIpAddressCount": 0
+                            }
+                        ],
+                        "InstanceType": "cc2.8xlarge",
+                        "ImageId": "ami-1a2b3c4d"
+                    },
+                    {
+                        "EbsOptimized": false,
+                        "NetworkInterfaces": [
+                            {
+                                "SubnetId": "subnet-a61dafcf",
+                                "DeviceIndex": 0,
+                                "DeleteOnTermination": false,
+                                "AssociatePublicIpAddress": true,
+                                "SecondaryPrivateIpAddressCount": 0
+                            }
+                        ],
+                        "InstanceType": "r3.8xlarge",
+                        "ImageId": "ami-1a2b3c4d"
+                    }
+                ],
+                "SpotPrice": "0.05",
+                "IamFleetRole": 
"arn:aws:iam::123456789012:role/my-spot-fleet-role"
+            },
+            "SpotFleetRequestState": "active"
+        },  
+        {
+            "SpotFleetRequestId": "sfr-306341ed-9739-402e-881b-ce47bEXAMPLE",
+            "SpotFleetRequestConfig": {
+                "TargetCapacity": 20,
+                "LaunchSpecifications": [
+                    {
+                        "EbsOptimized": false,
+                        "NetworkInterfaces": [
+                            {
+                                "SubnetId": "subnet-6e7f829e",
+                                "DeviceIndex": 0,
+                                "DeleteOnTermination": false,
+                                "AssociatePublicIpAddress": true,
+                                "SecondaryPrivateIpAddressCount": 0
+                            }
+                        ],
+                        "InstanceType": "m3.medium",
+                        "ImageId": "ami-1a2b3c4d"
+                    }
+                ],
+                "SpotPrice": "0.05",
+                "IamFleetRole": 
"arn:aws:iam::123456789012:role/my-spot-fleet-role"
+            },
+            "SpotFleetRequestState": "active"
+        }
+    ]
+  }
+
+**To describe a Spot fleet request**
+
+This example describes the specified Spot fleet request.
+
+Command::
+
+  aws ec2 describe-spot-fleet-requests --spot-fleet-request-ids 
sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
+
+Output::
+
+  {
+    "SpotFleetRequestConfigs": [
+        {
+            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
+            "SpotFleetRequestConfig": {
+                "TargetCapacity": 20,
+                "LaunchSpecifications": [
+                    {
+                        "EbsOptimized": false,
+                        "NetworkInterfaces": [
+                            {
+                                "SubnetId": "subnet-a61dafcf",
+                                "DeviceIndex": 0,
+                                "DeleteOnTermination": false,
+                                "AssociatePublicIpAddress": true,
+                                "SecondaryPrivateIpAddressCount": 0
+                            }
+                        ],
+                        "InstanceType": "cc2.8xlarge",
+                        "ImageId": "ami-1a2b3c4d"
+                    },
+                    {
+                        "EbsOptimized": false,
+                        "NetworkInterfaces": [
+                            {
+                                "SubnetId": "subnet-a61dafcf",
+                                "DeviceIndex": 0,
+                                "DeleteOnTermination": false,
+                                "AssociatePublicIpAddress": true,
+                                "SecondaryPrivateIpAddressCount": 0
+                            }
+                        ],
+                        "InstanceType": "r3.8xlarge",
+                        "ImageId": "ami-1a2b3c4d"
+                    }
+                ],
+                "SpotPrice": "0.05",
+                "IamFleetRole": 
"arn:aws:iam::123456789012:role/my-spot-fleet-role"
+            },
+            "SpotFleetRequestState": "active"
+        }
+    ]
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-vpc-endpoint-services.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-vpc-endpoint-services.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-vpc-endpoint-services.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-vpc-endpoint-services.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,15 @@
+**To describe VPC endpoint services**
+
+This example describes all available endpoint services for the region.
+
+Command::
+
+  aws ec2 describe-vpc-endpoint-services
+
+Output::
+
+  {
+    "ServiceNames": [
+      "com.amazonaws.us-east-1.s3"
+    ]
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/describe-vpc-endpoints.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/describe-vpc-endpoints.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/describe-vpc-endpoints.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/describe-vpc-endpoints.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,25 @@
+**To describe endpoints**
+
+This example describes all of your endpoints.
+
+Command::
+
+  aws ec2 describe-vpc-endpoints
+
+Output::
+
+  {
+    "VpcEndpoints": [
+      {
+        "PolicyDocument": 
"{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"*\",\"Resource\":\"*\"}]}",
 
+        "VpcId": "vpc-ec43eb89", 
+        "State": "available", 
+        "ServiceName": "com.amazonaws.us-east-1.s3", 
+        "RouteTableIds": [
+          "rtb-4e5ef02b"
+        ], 
+        "VpcEndpointId": "vpce-3ecf2a57", 
+        "CreationTimestamp": "2015-05-15T09:40:50Z"
+      }
+    ]
+  } 
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/import-key-pair.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/import-key-pair.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/import-key-pair.rst  1970-01-01 
01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/import-key-pair.rst  2015-05-29 
00:00:07.000000000 +0200
@@ -0,0 +1,25 @@
+**To import a public key**
+
+First, generate a key pair with the tool of your choice. For example, use this 
OpenSSL command:
+
+Command::
+
+  openssl genrsa -out my-key.pem 2048
+  
+Next, save the public key to a local file. For example, use this OpenSSL 
command:
+
+Command::
+
+  openssl rsa -in my-key.pem -pubout > my-key.pub
+  
+Finally, this example command imports the specified public key. The public key 
is the text in the .pub file that is between <code>-----BEGIN PUBLIC 
KEY-----</code> and <code>-----END PUBLIC KEY-----</code>.
+
+Command::
+
+  aws ec2 import-key-pair --key-name my-key --public-key-material 
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuhrGNglwb2Zz/Qcz1zV+l12fJOnWmJxC2GMwQOjAX/L7p01o9vcLRoHXxOtcHBx0TmwMo+i85HWMUE7aJtYclVWPMOeepFmDqR1AxFhaIc9jDe88iLA07VK96wY4oNpp8+lICtgCFkuXyunsk4+KhuasN6kOpk7B2w5cUWveooVrhmJprR90FOHQB2Uhe9MkRkFjnbsA/hvZ/Ay0Cflc2CRZm/NG00lbLrV4l/SQnZmP63DJx194T6pI3vAev2+6UMWSwptNmtRZPMNADjmo50KiG2c3uiUIltiQtqdbSBMh9ztL/98AHtn88JG0s8u2uSRTNEHjG55tyuMbLD40QEXAMPLE
+  
+Output::
+  {
+    "KeyName": "my-key",
+    "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca"  
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/modify-network-interface-attribute.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/modify-network-interface-attribute.rst
--- 
old/aws-cli-1.7.29/awscli/examples/ec2/modify-network-interface-attribute.rst   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/aws-cli-1.7.31/awscli/examples/ec2/modify-network-interface-attribute.rst   
    2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,34 @@
+**To modify the attachment attribute of a network interface**
+
+This example command modifies the <code>attachment</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 modify-network-interface-attribute --network-interface-id 
eni-686ea200 --attachment 
AttachmentId=eni-attach-43348162,DeleteOnTermination=false
+
+
+**To modify the description attribute of a network interface**
+
+This example command modifies the <code>description</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 modify-network-interface-attribute --network-interface-id 
eni-686ea200 --description "My description"
+  
+
+**To modify the groupSet attribute of a network interface**
+
+This example command modifies the <code>groupSet</code> attribute of the 
specified network interface.
+
+Command::
+
+  aws ec2 modify-network-interface-attribute --network-interface-id 
eni-686ea200 --groups sg-903004f8 sg-1a2b3c4d
+  
+
+**To modify the sourceDestCheck attribute of a network interface**
+
+This example command modifies the <code>sourceDestCheck</code> attribute of 
the specified network interface.
+
+Command::
+
+  aws ec2 modify-network-interface-attribute --network-interface-id 
eni-686ea200 --no-source-dest-check
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/modify-vpc-endpoint.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/modify-vpc-endpoint.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/modify-vpc-endpoint.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/modify-vpc-endpoint.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,13 @@
+**To modify an endpoint**
+
+This example modifies endpoint vpce-1a2b3c4d by associating route table 
rtb-aaa222bb with the endpoint, and resetting the policy document.
+
+Command::
+
+  aws ec2 modify-vpc-endpoint --vpc-endpoint-id vpce-1a2b3c4d 
--add-route-table-ids rtb-aaa222bb --reset-policy
+
+Output::
+
+  {
+    "Return": true
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/monitor-instances.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/monitor-instances.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/monitor-instances.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/monitor-instances.rst        
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,20 @@
+**To enable detailed monitoring for an instance**
+
+This example command enables detailed monitoring for the specified instance.
+
+Command::
+
+  aws ec2 monitor-instances --instance-ids i-570e5a28
+
+Output::
+
+  {
+    "InstanceMonitorings": [
+        {
+            "InstanceId": "i-570e5a28",
+            "Monitoring": {
+                "State": "pending"
+            }
+        }
+    ]
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/move-address-to-vpc.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/move-address-to-vpc.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/move-address-to-vpc.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/move-address-to-vpc.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,13 @@
+**To move an address to EC2-VPC**
+
+This example moves Elastic IP address 54.123.4.56 to the EC2-VPC platform.
+
+Command::
+
+  aws ec2 move-address-to-vpc --public-ip 54.123.4.56
+
+Output::
+
+  {
+    "Status": "MoveInProgress"
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/replace-network-acl-entry.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/replace-network-acl-entry.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/replace-network-acl-entry.rst        
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/replace-network-acl-entry.rst        
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,7 @@
+**To replace a network ACL entry**
+
+This example replaces an entry for the specified network ACL. The new rule 100 
allows ingress traffic from 203.0.113.12/24 on UDP port 53 (DNS) into any 
associated subnet.
+
+Command::
+
+  aws ec2 replace-network-acl-entry --network-acl-id acl-5fb85d36 --ingress 
--rule-number 100 --protocol udp --port-range From=53,To=53 --cidr-block 
203.0.113.12/24 --rule-action allow
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/report-instance-status.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/report-instance-status.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/report-instance-status.rst   
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/report-instance-status.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,7 @@
+**To report status feedback for an instance**
+
+This example command reports status feedback for the specified instance.
+
+Command::
+
+  aws ec2 report-instance-status --instances i-570e5a28 --status impaired 
--reason-codes unresponsive
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/request-spot-fleet.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/request-spot-fleet.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/request-spot-fleet.rst       
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/request-spot-fleet.rst       
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,29 @@
+**To request a Spot fleet in a nondefault VPC**
+
+This example command creates a request for a Spot fleet in a nondefault VPC.
+
+Command::
+
+  aws ec2 request-spot-fleet --spot-fleet-request-config 
{\"TargetCapacity\":2,\"SpotPrice\":\"0.05\",\"IamFleetRole\":\"arn:aws:iam::123456789012:role/my-spot-fleet-role\",\"LaunchSpecifications\":[{\"ImageId\":\"ami-1a2b3c4d\",\"InstanceType\":\"m3.medium\",\"SubnetId\":\"subnet-a61dafcf\"}]}
+
+Output::
+
+  {
+    "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
+  }
+
+
+**To request a Spot fleet in a default VPC or EC2-Classic**
+
+This example command creates a request for a Spot fleet in a default VPC or 
EC2-Classic.
+
+Command::
+
+  aws ec2 request-spot-fleet --spot-fleet-request-config 
{\"TargetCapacity\":2,\"SpotPrice\":\"0.05\",\"IamFleetRole\":\"arn:aws:iam::123456789012:role/my-spot-fleet-role\",\"LaunchSpecifications\":[{\"ImageId\":\"ami-1a2b3c4d\",\"InstanceType\":\"m3.medium\",\"Placement\":{\"AvailabilityZone\":\"us-west-2b\"}}]}
+
+Output::
+
+  {
+    "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
+  }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/request-spot-instances.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/request-spot-instances.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/request-spot-instances.rst   
2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/awscli/examples/ec2/request-spot-instances.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -1,11 +1,53 @@
 **To request Spot Instances**
 
-This example command creates a Spot Instances request for five m1.small 
instances in a VPC.
+This example command creates a Spot Instance request for five instances in a 
default VPC or EC2-Classic.
 
 Command::
 
-  aws ec2 request-spot-instances --spot-price "0.050" --instance-count 5 
--type "one-time" --launch-specification 
"{\"ImageId\":\"ami-a43909e1\",\"InstanceType\":
-  "m1.small\",\"SubnetId\":\"subnet-d50bfebc\"}"
+  aws ec2 request-spot-instances --spot-price "0.050" --instance-count 5 
--type "one-time" --launch-specification 
{\"ImageId\":\"ami-1a2b3c4d\",\"InstanceType\":"t1.micro\",\"Placement\":{\"AvailabilityZone\":\"us-west-2a\"}}
+
+Output::
+
+  {
+    "SpotInstanceRequests": [
+        {
+            "Status": {
+                "UpdateTime": "2014-03-25T20:54:21.000Z",
+                "Code": "pending-evaluation",
+                "Message": "Your Spot request has been submitted for review, 
and is pending evaluation."
+            },
+            "ProductDescription": "Linux/UNIX",
+            "SpotInstanceRequestId": "sir-df6f405d",
+            "State": "open",
+            "LaunchSpecification": {
+                "Placement": {
+                    "AvailabilityZone": "us-west-2a"
+                },
+                "SecurityGroups": [
+                    {
+                        "GroupName": "default",
+                        "GroupId": "sg-223b284e"
+                    }
+                ],
+                "InstanceType": "t1.micro",
+                "Monitoring": {
+                    "Enabled": false
+                },
+                "ImageId": "ami-1a2b3c4d"
+            },
+            "Type": "one-time",
+            "CreateTime": "2014-03-25T20:54:20.000Z",
+            "SpotPrice": "0.050000"
+        },
+        ...
+    ]
+  }
+
+This example command creates a Spot Instance request for five instances in a 
nondefault VPC.
+
+Command::
+
+  aws ec2 request-spot-instances --spot-price "0.050" --instance-count 5 
--type "one-time" --launch-specification 
{\"ImageId\":\"ami-a43909e1\",\"InstanceType\":"t2.micro\",\"SubnetId\":\"subnet-d50bfebc\"}
 
 Output::
 
@@ -16,57 +58,37 @@
                "UpdateTime": "2014-03-25T22:21:58.000Z",
                "Code": "pending-evaluation",
                "Message": "Your Spot request has been submitted for review, 
and is pending evaluation."
-        },
+            },
             "ProductDescription": "Linux/UNIX",
             "SpotInstanceRequestId": "sir-df6f405d",
             "State": "open",
             "LaunchSpecification": {
-                   "SubnetId": "subnet-d50bfebc",
-                   "Placement": {
-                       "AvailabilityZone": "us-west-1c"
+               "Placement": {
+                   "AvailabilityZone": "us-west-2a"
+               }
+               "ImageId": "ami-a43909e1"
+               "SecurityGroups": [
+                   {
+                       "GroupName": "default",
+                       "GroupID": "sg-223b284e"
                    }
-                   "SecurityGroups": [
-                       {
-                           "GroupName": "default",
-                           "GroupID": "sg-223b284e"
-                       }
-                   ]
-                   "InstanceType": "m1.small",
-                   "ImageId": "ami-a43909e1"
-               },
-               "Type": "one-time",
-               "CreateTime": "2014-03-25T22:21:58.000Z",
-               "SpotPrice": "0.050000"
-            },
-            {
-               "Status": {
-                   "UpdateTime": "2014-03-25T22:21:58:000Z",
-                   "Code": "pending-evaluation",
-                   "Message": "Your Spot request has been submitted for 
review, and is pending evaluation."
-               },
-               "ProductDescription": "Linux/UNIX",
-               "SpotInstanceRequestId": "sir-696e265d",
-               "State": "open",
-               "LaunchSpecification": {
-                   "SubnetId": "subnet-d50bfebc",
-                   "Placement": {
-                       "AvailabilityZone": "us-west-1c"
-                   },
-                   "SecurityGroups": [
-                       {
-                           "GroupName": "default",
-                           "GroupId": "sg-223b284e"
-                       }
-                   ]
-                   "InstanceType": "m1.small",
-                   "ImageId": "ami-a43909e1"
+               ]
+               "SubnetId": "subnet-d50bfebc",
+               "Monitoring": {
+                   "Enabled": false
                },
-               "Type": "one-time",
-               "CreateTime": "2014-03-25T22:21:58.000Z",
-               "SpotPrice": "0.050000"
-            },
-            ...
-            }
-   ]
+               "InstanceType": "t2.micro",
+           },
+           "Type": "one-time",
+           "CreateTime": "2014-03-25T22:21:58.000Z",
+           "SpotPrice": "0.050000"
+        },
+        ...
+    ]
   }
 
+To assign a public IP address to the Spot Instances that you launch in a 
nondefault VPC, use the following command: 
+
+Command::
+
+  aws ec2 request-spot-instances --spot-price "0.050" --instance-count 1 
--type "one-time" --launch-specification 
"{\"ImageId\":\"ami-e7527ed7\",\"InstanceType\":\"m3.medium\",\"NetworkInterfaces\":[{\"DeviceIndex\":0,\"SubnetId\":\"subnet-e4f33493\",\"AssociatePublicIpAddress\":true}]}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/restore-address-to-classic.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/restore-address-to-classic.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/restore-address-to-classic.rst       
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/restore-address-to-classic.rst       
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,14 @@
+**To restore an address to EC2-Classic**
+
+This example restores Elastic IP address 198.51.100.0 to the EC2-Classic 
platform.
+
+Command::
+
+  aws ec2 restore-address-to-classic --public-ip 198.51.100.0
+
+Output::
+
+  {
+    "Status": "MoveInProgress", 
+    "PublicIp": "198.51.100.0"
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/revoke-security-group-egress.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/revoke-security-group-egress.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/revoke-security-group-egress.rst     
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/revoke-security-group-egress.rst     
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,15 @@
+**To remove the rule that allows outbound traffic to a specific address range**
+
+This example command removes the rule that grants access to the specified 
address ranges on TCP port 80.
+
+Command:
+
+  aws ec2 revoke-security-group-egress --group-id sg-1a2b3c4d --protocol tcp 
--port 80 --cidr 203.0.113.0/24
+
+**To remove the rule that allows outbound traffic to a specific security 
group**
+
+This example command removes the rule that grants access to the specified 
security group on TCP port 80.
+
+Command:
+
+  aws ec2 revoke-security-group-egress --group-id sg-1a2b3c4d --protocol tcp 
--port 80 --source-group sg-9a8d7f5c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/ec2/unmonitor-instances.rst 
new/aws-cli-1.7.31/awscli/examples/ec2/unmonitor-instances.rst
--- old/aws-cli-1.7.29/awscli/examples/ec2/unmonitor-instances.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/ec2/unmonitor-instances.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,20 @@
+**To disable detailed monitoring for an instance**
+
+This example command disables detailed monitoring for the specified instance.
+
+Command::
+
+  aws ec2 unmonitor-instances --instance-ids i-570e5a28
+
+Output::
+
+  {
+    "InstanceMonitorings": [
+        {
+            "InstanceId": "i-570e5a28",
+            "Monitoring": {
+                "State": "disabling"
+            }
+        }
+    ]
+  }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/cancel-job.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/cancel-job.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/cancel-job.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/importexport/cancel-job.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,5 @@
+The following command cancels the specified job::
+
+  aws importexport cancel-job --job-id EX1ID
+
+Only jobs that were created by the AWS account you're currently using can be 
canceled. Jobs that have already completed cannot be canceled.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/create-job.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/create-job.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/create-job.rst      
2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/awscli/examples/importexport/create-job.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -1,6 +1,6 @@
 The following command creates an import job from a manifest file::
 
-  aws importexport create-job --job-type import --manifest file://manifest
+  aws importexport create-job --job-type import --manifest file://manifest 
--no-validate-only
 
 The file ``manifest`` is a YAML formatted text file in the current directory 
with the following content::
 
@@ -42,4 +42,4 @@
 
 For information on quoting string arguments and using files, see `Specifying 
Parameter Values`_ in the *AWS CLI User Guide*.
 
-.. _`Specifying Parameter Values`: 
http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html
\ No newline at end of file
+.. _`Specifying Parameter Values`: 
http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/get-shipping-label.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/get-shipping-label.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/get-shipping-label.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/importexport/get-shipping-label.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,11 @@
+The following command creates a pre-paid shipping label for the specified job::
+
+  aws importexport get-shipping-label --job-ids EX1ID --name "Jane Roe" 
--company "Example Corp." --phone-number "206-555-1111" --country "USA" 
--state-or-province "WA" --city "Anytown" --postal-code "91011-1111" --street1 
"123 Any Street"
+
+The output for the get-shipping-label command looks like the following::
+
+  https://s3.amazonaws.com/myBucket/shipping-label-EX1ID.pdf
+
+The link in the output contains the pre-paid shipping label generated in a 
PDF. It also contains shipping instructions with a unique bar code to identify 
and authenticate your device. For more information about using the pre-paid 
shipping label and shipping your device, see `Shipping Your Storage Device`_ in 
the *AWS Import/Export Developer Guide*.
+
+.. _`Shipping Your Storage Device`: 
http://docs.aws.amazon.com/AWSImportExport/latest/DG/CHAP_ShippingYourStorageDevice.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/get-status.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/get-status.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/get-status.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/importexport/get-status.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,32 @@
+The following command returns the status the specified job::
+
+  aws importexport get-status  --job-id EX1ID
+
+The output for the get-status command looks like the following::
+
+  2015-05-27T18:58:21Z    manifestVersion:2.0
+  generator:Text editor
+  bucket:myBucket
+  deviceId:49382
+  eraseDevice:yes
+  notificationEmail:[email protected];[email protected]
+  trueCryptPassword:password123
+  acl:private
+  serviceLevel:standard
+  returnAddress:
+      name: Jane Roe
+      company: Example Corp.
+      street1: 123 Any Street
+      street2:
+      street3:
+      city: Anytown
+      stateOrProvince: WA
+      postalCode: 91011-1111
+      country:USA
+      phoneNumber:206-555-1111    0       EX1ID   Import  NotReceived     AWS 
has not received your device.       Pending The specified job has not started.
+  ktKDXpdbEXAMPLEyGFJmQO744UHw=    version:2.0
+  signingMethod:HmacSHA1
+  jobId:EX1ID
+  signature:ktKDXpdbEXAMPLEyGFJmQO744UHw=
+
+When you ship your device, it will be delivered to a sorting facility, and 
then forwarded on to an AWS data center. Note that when you send a get-status 
command, the status of your job will not show as ``At AWS`` until the shipment 
has been received at the AWS data center.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/list-jobs.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/list-jobs.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/list-jobs.rst       
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/importexport/list-jobs.rst       
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,9 @@
+The following command lists the jobs you've created::
+
+  aws importexport list-jobs
+
+The output for the list-jobs command looks like the following::
+
+  JOBS    2015-05-27T18:58:21Z    False   EX1ID   Import
+
+You can only list jobs created by users under the AWS account you are 
currently using. Listing jobs returns useful information, like job IDs, which 
are necessary for other AWS Import/Export commands.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/importexport/update-job.rst 
new/aws-cli-1.7.31/awscli/examples/importexport/update-job.rst
--- old/aws-cli-1.7.29/awscli/examples/importexport/update-job.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/importexport/update-job.rst      
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,9 @@
+The following command updates the specified job::
+
+  aws importexport update-job --job-id EX1ID --job-type import --manifest 
file://manifest.txt --no-validate-only
+
+The output for the update-jobs command looks like the following::
+
+  True    **** Device will be erased before being returned. ****
+
+With this command, you can either modify the original manifest you submitted, 
or you can start over and create a new manifest file. In either case, the 
original manifest is discarded.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/route53/create-hosted-zone.rst 
new/aws-cli-1.7.31/awscli/examples/route53/create-hosted-zone.rst
--- old/aws-cli-1.7.29/awscli/examples/route53/create-hosted-zone.rst   
2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/awscli/examples/route53/create-hosted-zone.rst   
2015-05-29 00:00:07.000000000 +0200
@@ -1,8 +1,8 @@
 **To create a hosted zone**
 
-The following ``create-hosted-zone`` command adds a hosted zone named 
``example.com`` using the caller reference ``2014-04-01-18:47``. The optional 
comment includes a space, so it must be enclosed in quotation marks::
+The following ``create-hosted-zone`` command adds a hosted zone named 
``www.example.com`` using the caller reference ``2014-04-01-18:47``. The 
optional comment includes a space, so it must be enclosed in quotation marks::
 
-  aws route53 create-hosted-zone --name example.com --caller-reference 
2014-04-01-18:47 --hosted-zone-config Comment="command-line version"
+  aws route53 create-hosted-zone --name www.example.com --caller-reference 
2014-04-01-18:47 --hosted-zone-config Comment="command-line version"
 
 For more information, see `Working with Hosted Zones`_ in the *Amazon Route 53 
Developer Guide*.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/awscli/examples/route53/list-hosted-zones-by-name.rst 
new/aws-cli-1.7.31/awscli/examples/route53/list-hosted-zones-by-name.rst
--- old/aws-cli-1.7.29/awscli/examples/route53/list-hosted-zones-by-name.rst    
1970-01-01 01:00:00.000000000 +0100
+++ new/aws-cli-1.7.31/awscli/examples/route53/list-hosted-zones-by-name.rst    
2015-05-29 00:00:07.000000000 +0200
@@ -0,0 +1,56 @@
+The following command lists up to 100 hosted zones ordered by domain name::
+
+  aws route53 list-hosted-zones-by-name
+
+Output::
+
+  {
+    "HostedZones": [
+        {
+            "ResourceRecordSetCount": 2,
+            "CallerReference": "test20150527-2",
+            "Config": {
+                "Comment": "test2",
+                "PrivateZone": false
+            },
+            "Id": "/hostedzone/Z119WBBTVP5WFX",
+            "Name": "2.example.com."
+        },
+        {
+            "ResourceRecordSetCount": 2,
+            "CallerReference": "test20150527-1",
+            "Config": {
+                "Comment": "test",
+                "PrivateZone": false
+            },
+            "Id": "/hostedzone/Z3P5QSUBK4POTI",
+            "Name": "www.example.com."
+        }
+    ],
+    "IsTruncated": false,
+    "MaxItems": "100"
+  }
+
+The following command lists hosted zones ordered by name, beginning with 
``www.example.com``::
+  
+  aws route53 list-hosted-zones-by-name --dns-name www.example.com
+
+Output::
+
+  {
+    "HostedZones": [
+        {
+            "ResourceRecordSetCount": 2,
+            "CallerReference": "mwunderl20150527-1",
+            "Config": {
+                "Comment": "test",
+                "PrivateZone": false
+            },
+            "Id": "/hostedzone/Z3P5QSUBK4POTI",
+            "Name": "www.example.com."
+        }
+    ],
+    "DNSName": "www.example.com",
+    "IsTruncated": false,
+    "MaxItems": "100"
+  }
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/doc/source/conf.py 
new/aws-cli-1.7.31/doc/source/conf.py
--- old/aws-cli-1.7.29/doc/source/conf.py       2015-05-21 22:33:43.000000000 
+0200
+++ new/aws-cli-1.7.31/doc/source/conf.py       2015-05-29 00:00:07.000000000 
+0200
@@ -52,7 +52,7 @@
 # The short X.Y version.
 version = '1.7.'
 # The full version, including alpha/beta/rc tags.
-release = '1.7.29'
+release = '1.7.31'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/setup.py new/aws-cli-1.7.31/setup.py
--- old/aws-cli-1.7.29/setup.py 2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/setup.py 2015-05-29 00:00:07.000000000 +0200
@@ -6,7 +6,7 @@
 import awscli
 
 
-requires = ['botocore==1.0.0a1',
+requires = ['botocore==1.0.0a3',
             'bcdoc>=0.14.0,<0.15.0',
             'colorama>=0.2.5,<=0.3.3',
             'docutils>=0.10',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/tests/integration/customizations/test_generatecliskeleton.py 
new/aws-cli-1.7.31/tests/integration/customizations/test_generatecliskeleton.py
--- 
old/aws-cli-1.7.29/tests/integration/customizations/test_generatecliskeleton.py 
    2015-05-21 22:33:43.000000000 +0200
+++ 
new/aws-cli-1.7.31/tests/integration/customizations/test_generatecliskeleton.py 
    2015-05-29 00:00:07.000000000 +0200
@@ -16,12 +16,16 @@
 
 from awscli.clidriver import create_clidriver
 from awscli.testutils import unittest, aws
+from awscli.customizations.preview import PREVIEW_SERVICES
 
 
 def test_can_generate_skeletons_for_all_service_comands():
     driver = create_clidriver()
     help_command = driver.create_help_command()
     for command_name, command_obj in help_command.command_table.items():
+        if command_name in PREVIEW_SERVICES:
+            # Skip over any preview services for now.
+            continue
         sub_help = command_obj.create_help_command()
         # This avoids command objects like ``PreviewModeCommand`` that
         # do not exhibit any visible functionality (i.e. provides a command
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/tests/unit/customizations/test_awslambda.py 
new/aws-cli-1.7.31/tests/unit/customizations/test_awslambda.py
--- old/aws-cli-1.7.29/tests/unit/customizations/test_awslambda.py      
2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/tests/unit/customizations/test_awslambda.py      
2015-05-29 00:00:07.000000000 +0200
@@ -55,13 +55,48 @@
         }
         self.assert_params_for_cmd(cmdline, result)
 
-    def test_create_function_code_argument_cause_error(self):
+    def test_create_function_with_code_argument(self):
         cmdline = self.prefix
         cmdline += ' --function-name myfunction --runtime myruntime'
-        cmdline += ' --role myrole --handler myhandler --zip-file myzip'
-        cmdline += ' --code mycode'
+        cmdline += ' --role myrole --handler myhandler'
+        cmdline += ' --code S3Bucket=mybucket,S3Key=mykey,S3ObjectVersion=vs'
+        result = {
+            'FunctionName': 'myfunction',
+            'Runtime': 'myruntime',
+            'Role': 'myrole',
+            'Handler': 'myhandler',
+            'Code': {'S3Bucket': 'mybucket',
+                     'S3Key': 'mykey',
+                     'S3ObjectVersion': 'vs'}
+        }
+        self.assert_params_for_cmd(cmdline, result)
+
+    def test_create_function_with_code_and_zipfile_argument(self):
+        cmdline = self.prefix
+        cmdline += ' --function-name myfunction --runtime myruntime'
+        cmdline += ' --role myrole --handler myhandler'
+        cmdline += ' --code S3Bucket=mybucket,S3Key=mykey,S3ObjectVersion=vs'
+        cmdline += ' --zip-file fileb://%s' % self.zip_file
+        result = {
+            'FunctionName': 'myfunction',
+            'Runtime': 'myruntime',
+            'Role': 'myrole',
+            'Handler': 'myhandler',
+            'Code': {'S3Bucket': 'mybucket',
+                     'S3Key': 'mykey',
+                     'S3ObjectVersion': 'vs',
+                     'ZipFile': self.zip_file_contents}
+        }
+        self.assert_params_for_cmd(cmdline, result)
+
+    def test_create_function_with_zip_file_in_code_argument(self):
+        cmdline = self.prefix
+        cmdline += ' --function-name myfunction --runtime myruntime'
+        cmdline += ' --role myrole --handler myhandler'
+        cmdline += ' --code S3Bucket=mybucket,S3Key=mykey,S3ObjectVersion=vs,'
+        cmdline += 'ZipFile=foo'
         stdout, stderr, rc = self.run_cmd(cmdline, expected_rc=255)
-        self.assertIn('Unknown options: --code', stderr)
+        self.assertIn('Unknown key \'ZipFile\'', stderr)
 
     def test_create_function_with_invalid_file_contents(self):
         cmdline = self.prefix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aws-cli-1.7.29/tests/unit/customizations/test_preview.py 
new/aws-cli-1.7.31/tests/unit/customizations/test_preview.py
--- old/aws-cli-1.7.29/tests/unit/customizations/test_preview.py        
2015-05-21 22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/tests/unit/customizations/test_preview.py        
2015-05-29 00:00:07.000000000 +0200
@@ -40,14 +40,28 @@
         # ever mark cloudfront as not being a preview service
         # by default.
         self.assertIn('cloudfront', preview.PREVIEW_SERVICES)
-        rc = self.driver.main('cloudfront help'.split())
+        rc = self.driver.main('cloudfront list-distributions'.split())
         self.assertEqual(rc, 1)
-        self.assertIn(preview.PREVIEW_SERVICES['cloudfront'],
+        self.assertIn(preview.PreviewModeCommandMixin.HELP_SNIPPET,
                       self.stderr.getvalue())
 
-    @mock.patch('awscli.help.get_renderer')
-    def test_preview_service_off(self, get_renderer):
+    def test_preview_service_not_true(self):
+        # If it's not "true" then we still make it a preview service.
+        self.full_config['preview'] = {'cloudfront': 'false'}
+        rc = self.driver.main('cloudfront list-distributions'.split())
+        self.assertEqual(rc, 1)
+        self.assertIn(preview.PreviewModeCommandMixin.HELP_SNIPPET,
+                      self.stderr.getvalue())
+
+    def test_preview_service_enabled_makes_call(self):
         self.full_config['preview'] = {'cloudfront': 'true'}
+        self.assert_params_for_cmd('cloudfront list-distributions', params={})
+
+    @mock.patch('awscli.help.get_renderer')
+    def test_can_still_document_preview_service(self, get_renderer):
+        # Even if a service is still marked as being in preview,
+        # you can still pull up its documentation.
+        self.full_config['preview'] = {'cloudfront': 'false'}
         renderer = mock.Mock()
         get_renderer.return_value = renderer
         self.driver.main('cloudfront help'.split())
@@ -55,18 +69,10 @@
         # and we check that we rendered the contents.
         self.assertTrue(renderer.render.called)
 
-    def test_preview_service_not_true(self):
-        # If it's not "true" then we still make it a preview service.
-        self.full_config['preview'] = {'cloudfront': 'false'}
-        rc = self.driver.main('cloudfront help'.split())
-        self.assertEqual(rc, 1)
-        self.assertIn(preview.PREVIEW_SERVICES['cloudfront'],
-                      self.stderr.getvalue())
-
     @mock.patch('awscli.help.get_renderer')
-    def test_preview_mode_not_in_provider_help(self, renderer):
+    def test_preview_mode_is_in_provider_help(self, renderer):
         self.driver.main(['help'])
-        contents = renderer.return_value.render.call_args
-        # The preview services should not be in the help output.
+        contents = renderer.return_value.render.call_args[0][0]
+        # The preview services should still be in the help output.
         for service in preview.PREVIEW_SERVICES:
-            self.assertNotIn(service, contents)
+            self.assertIn(service, contents.decode('utf-8'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aws-cli-1.7.29/tests/unit/test_completer.py 
new/aws-cli-1.7.31/tests/unit/test_completer.py
--- old/aws-cli-1.7.29/tests/unit/test_completer.py     2015-05-21 
22:33:43.000000000 +0200
+++ new/aws-cli-1.7.31/tests/unit/test_completer.py     2015-05-29 
00:00:07.000000000 +0200
@@ -28,22 +28,23 @@
               '--query', '--no-sign-request']
 
 COMPLETIONS = [
-    ('aws ', -1, set(['autoscaling', 'cloudformation', 'cloudhsm',
-                      'cloudsearch', 'cloudsearchdomain', 'cloudtrail',
-                      'cloudwatch', 'cognito-identity', 'cognito-sync',
-                      'configservice', 'configure', 'datapipeline', 'deploy',
-                      'directconnect', 'ds', 'dynamodb', 'glacier', 'ec2',
-                      'ecs', 'elasticache', 'elasticbeanstalk',
-                      'elastictranscoder', 'elb', 'emr', 'iam',
-                      'importexport', 'kinesis', 'kms', 'lambda', 'logs',
-                      'machinelearning', 'opsworks', 'rds', 'redshift',
-                      'route53', 'route53domains', 's3', 's3api', 'ses',
-                      'sns', 'sqs', 'storagegateway', 'sts', 'ssm', 'support',
-                      'swf', 'workspaces'])),
-    ('aws cloud', -1, set(['cloudformation', 'cloudhsm', 'cloudsearch',
-                           'cloudsearchdomain', 'cloudtrail', 'cloudwatch'])),
-    ('aws cloudf', -1, set(['cloudformation'])),
-    ('aws cloudfr', -1, set([])),
+    ('aws ', -1, set(['autoscaling', 'cloudformation', 'cloudfront',
+                      'cloudhsm', 'cloudsearch', 'cloudsearchdomain',
+                      'cloudtrail', 'cloudwatch', 'cognito-identity',
+                      'cognito-sync', 'configservice', 'configure',
+                      'datapipeline', 'deploy', 'directconnect', 'ds',
+                      'dynamodb', 'glacier', 'ec2', 'ecs', 'efs',
+                      'elasticache', 'elasticbeanstalk', 'elastictranscoder',
+                      'elb', 'emr', 'iam', 'importexport', 'kinesis', 'kms',
+                      'lambda', 'logs', 'machinelearning', 'opsworks', 'rds',
+                      'redshift', 'route53', 'route53domains', 's3', 's3api',
+                      'sdb', 'ses', 'sns', 'sqs', 'storagegateway', 'sts',
+                      'ssm', 'support', 'swf', 'workspaces'])),
+    ('aws cloud', -1, set(['cloudformation', 'cloudfront', 'cloudhsm',
+                           'cloudsearch', 'cloudsearchdomain', 'cloudtrail',
+                           'cloudwatch'])),
+    ('aws cloudf', -1, set(['cloudformation', 'cloudfront',])),
+    ('aws cloudfr', -1, set(['cloudfront'])),
     ('aws foobar', -1, set([])),
     ('aws  --', -1, set(GLOBALOPTS)),
     ('aws  --re', -1, set(['--region'])),

++++++ hide_py_pckgmgmt.patch ++++++
--- /var/tmp/diff_new_pack.W6oRtM/_old  2015-06-23 11:55:50.000000000 +0200
+++ /var/tmp/diff_new_pack.W6oRtM/_new  2015-06-23 11:55:50.000000000 +0200
@@ -4,12 +4,12 @@
  import awscli
  
  
--requires = ['botocore==1.0.0a1',
+-requires = ['botocore==1.0.0a3',
 -            'bcdoc>=0.14.0,<0.15.0',
 -            'colorama>=0.2.5,<=0.3.3',
 -            'docutils>=0.10',
 -            'rsa>=3.1.2,<=3.1.4']
-+#requires = ['botocore==1.0.0a1',
++#requires = ['botocore==1.0.0a3',
 +#            'bcdoc>=0.14.0,<0.15.0',
 +#            'colorama>=0.2.5,<=0.3.3',
 +#            'docutils>=0.10',


Reply via email to