title: boto3 python change_resource_record_sets
body: <p>I am trying to use boto3 to create a new DNS record, however I seem to be getting back a pretty ambiguous error back. I have played around with some of the parameters from: </p>
  
  <p><a href="https://boto3.readthedocs.io/en/develop/reference/services/route53.html#Route53.Client.change_resource_record_sets" rel="nofollow noreferrer">https://boto3.readthedocs.io/en/develop/reference/services/route53.html#Route53.Client.change_resource_record_sets</a></p>
  
  <p>I have searched for examples of this but have not been able to find any.</p>
  
  <pre><code>    [12/01/2017 09:57:12] [INFO]: get_zone_data found zone [{u'ResourceRecordSetCount': 11, u'CallerReference': 
      '6A78SD-88E9-11F7-B1C6-A8S7DAS8D7',
       u'Config': {u'PrivateZone': False}, u'Id': '/hostedzone/ASD678ASD78', u'Name': 'test.mydomain.com.'}]
      Traceback (most recent call last):
        File "example.py", line 6, in &lt;module&gt;
          dns.add(name='hurried.me')
        File "scale/scale/net/dns.py", line 99, in add
  client.change_resource_record_sets(**params)
        File "/usr/local/lib/python2.7/site-packages/botocore/client.py", line 251, in _api_call
          return self._make_api_call(operation_name, kwargs)
        File "/usr/local/lib/python2.7/site-packages/botocore/client.py", line 537, in _make_api_call
          raise ClientError(parsed_response, operation_name)
      botocore.exceptions.ClientError: An error occurred (InvalidInput) when calling the ChangeResourceRecordSets operation: Invalid request
  </code></pre>
  
  <p>My code:</p>
  
  <pre><code>    def add(self, name=None,
              type='A',
              location='172.32.0.1',
              weight=10,
              ttl=10,
              private=False,
              ):
  
      zone = self.get_zone_data(name, private)
                          #'Weight': weight,
  
      params = {
          'HostedZoneId': 'C0P6YPA54A',
          'ChangeBatch': {
              'Changes': [{
                  'Action': 'CREATE',
                      'ResourceRecordSet': {
                          'Name': 'test.mydomain.com',
                          'Type': 'A',
                          'TTL': 300,
                      }
                  },]
          }
      }
  
      client = self.session.client('route53')
      client.change_resource_record_sets(**params)
  </code></pre>