:doc:`Route53 <../../route53>` / Client / change_cidr_collection

**********************
change_cidr_collection
**********************



.. py:method:: Route53.Client.change_cidr_collection(**kwargs)

  

  Creates, changes, or deletes CIDR blocks within a collection. Contains authoritative IP information mapping blocks to one or multiple locations.

   

  A change request can update multiple locations in a collection at a time, which is helpful if you want to move one or more CIDR blocks from one location to another in one transaction, without downtime.

   

  **Limits**

   

  The max number of CIDR blocks included in the request is 1000. As a result, big updates require multiple API calls.

   

  **PUT and DELETE_IF_EXISTS**

   

  Use ``ChangeCidrCollection`` to perform the following actions:

   

  
  * ``PUT``: Create a CIDR block within the specified collection.
   
  * ``DELETE_IF_EXISTS``: Delete an existing CIDR block from the collection.
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/route53-2013-04-01/ChangeCidrCollection>`_  


  **Request Syntax**
  ::

    response = client.change_cidr_collection(
        Id='string',
        CollectionVersion=123,
        Changes=[
            {
                'LocationName': 'string',
                'Action': 'PUT'|'DELETE_IF_EXISTS',
                'CidrList': [
                    'string',
                ]
            },
        ]
    )
    
  :type Id: string
  :param Id: **[REQUIRED]** 

    The UUID of the CIDR collection to update.

    

  
  :type CollectionVersion: integer
  :param CollectionVersion: 

    A sequential counter that Amazon Route 53 sets to 1 when you create a collection and increments it by 1 each time you update the collection.

     

    We recommend that you use ``ListCidrCollection`` to get the current value of ``CollectionVersion`` for the collection that you want to update, and then include that value with the change request. This prevents Route 53 from overwriting an intervening update:

     

    
    * If the value in the request matches the value of ``CollectionVersion`` in the collection, Route 53 updates the collection.
     
    * If the value of ``CollectionVersion`` in the collection is greater than the value in the request, the collection was changed after you got the version number. Route 53 does not update the collection, and it returns a ``CidrCollectionVersionMismatch`` error.
    

    

  
  :type Changes: list
  :param Changes: **[REQUIRED]** 

    Information about changes to a CIDR collection.

    

  
    - *(dict) --* 

      A complex type that contains information about the CIDR collection change.

      

    
      - **LocationName** *(string) --* **[REQUIRED]** 

        Name of the location that is associated with the CIDR collection.

        

      
      - **Action** *(string) --* **[REQUIRED]** 

        CIDR collection change action.

        

      
      - **CidrList** *(list) --* **[REQUIRED]** 

        List of CIDR blocks.

        

      
        - *(string) --* 

        
    
    

  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Id': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Id** *(string) --* 

        The ID that is returned by ``ChangeCidrCollection``. You can use it as input to ``GetChange`` to see if a CIDR collection change has propagated or not.

        
  
  **Exceptions**
  
  *   :py:class:`Route53.Client.exceptions.NoSuchCidrCollectionException`

  
  *   :py:class:`Route53.Client.exceptions.CidrCollectionVersionMismatchException`

  
  *   :py:class:`Route53.Client.exceptions.InvalidInput`

  
  *   :py:class:`Route53.Client.exceptions.CidrBlockInUseException`

  
  *   :py:class:`Route53.Client.exceptions.LimitsExceeded`

  
  *   :py:class:`Route53.Client.exceptions.ConcurrentModification`

  