:doc:`DocDBElastic <../../docdb-elastic>` / Client / update_cluster

**************
update_cluster
**************



.. py:method:: DocDBElastic.Client.update_cluster(**kwargs)

  

  Modifies an elastic cluster. This includes updating admin-username/password, upgrading the API version, and setting up a backup window and maintenance window

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/docdb-elastic-2022-11-28/UpdateCluster>`_  


  **Request Syntax**
  ::

    response = client.update_cluster(
        adminUserPassword='string',
        authType='PLAIN_TEXT'|'SECRET_ARN',
        backupRetentionPeriod=123,
        clientToken='string',
        clusterArn='string',
        preferredBackupWindow='string',
        preferredMaintenanceWindow='string',
        shardCapacity=123,
        shardCount=123,
        shardInstanceCount=123,
        subnetIds=[
            'string',
        ],
        vpcSecurityGroupIds=[
            'string',
        ]
    )
    
  :type adminUserPassword: string
  :param adminUserPassword: 

    The password associated with the elastic cluster administrator. This password can contain any printable ASCII character except forward slash (/), double quote ("), or the "at" symbol (@).

     

    *Constraints*: Must contain from 8 to 100 characters.

    

  
  :type authType: string
  :param authType: 

    The authentication type used to determine where to fetch the password used for accessing the elastic cluster. Valid types are ``PLAIN_TEXT`` or ``SECRET_ARN``.

    

  
  :type backupRetentionPeriod: integer
  :param backupRetentionPeriod: 

    The number of days for which automatic snapshots are retained.

    

  
  :type clientToken: string
  :param clientToken: 

    The client token for the elastic cluster.

    This field is autopopulated if not provided.

  
  :type clusterArn: string
  :param clusterArn: **[REQUIRED]** 

    The ARN identifier of the elastic cluster.

    

  
  :type preferredBackupWindow: string
  :param preferredBackupWindow: 

    The daily time range during which automated backups are created if automated backups are enabled, as determined by the ``backupRetentionPeriod``.

    

  
  :type preferredMaintenanceWindow: string
  :param preferredMaintenanceWindow: 

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

     

    *Format*: ``ddd:hh24:mi-ddd:hh24:mi``

     

    *Default*: a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region, occurring on a random day of the week.

     

    *Valid days*: Mon, Tue, Wed, Thu, Fri, Sat, Sun

     

    *Constraints*: Minimum 30-minute window.

    

  
  :type shardCapacity: integer
  :param shardCapacity: 

    The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

    

  
  :type shardCount: integer
  :param shardCount: 

    The number of shards assigned to the elastic cluster. Maximum is 32.

    

  
  :type shardInstanceCount: integer
  :param shardInstanceCount: 

    The number of replica instances applying to all shards in the elastic cluster. A ``shardInstanceCount`` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

    

  
  :type subnetIds: list
  :param subnetIds: 

    The Amazon EC2 subnet IDs for the elastic cluster.

    

  
    - *(string) --* 

    

  :type vpcSecurityGroupIds: list
  :param vpcSecurityGroupIds: 

    A list of EC2 VPC security groups to associate with the elastic cluster.

    

  
    - *(string) --* 

    

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

    
    ::

      {
          'cluster': {
              'adminUserName': 'string',
              'authType': 'PLAIN_TEXT'|'SECRET_ARN',
              'backupRetentionPeriod': 123,
              'clusterArn': 'string',
              'clusterEndpoint': 'string',
              'clusterName': 'string',
              'createTime': 'string',
              'kmsKeyId': 'string',
              'preferredBackupWindow': 'string',
              'preferredMaintenanceWindow': 'string',
              'shardCapacity': 123,
              'shardCount': 123,
              'shardInstanceCount': 123,
              'shards': [
                  {
                      'createTime': 'string',
                      'shardId': 'string',
                      'status': 'CREATING'|'ACTIVE'|'DELETING'|'UPDATING'|'VPC_ENDPOINT_LIMIT_EXCEEDED'|'IP_ADDRESS_LIMIT_EXCEEDED'|'INVALID_SECURITY_GROUP_ID'|'INVALID_SUBNET_ID'|'INACCESSIBLE_ENCRYPTION_CREDS'|'INACCESSIBLE_SECRET_ARN'|'INACCESSIBLE_VPC_ENDPOINT'|'INCOMPATIBLE_NETWORK'|'MERGING'|'MODIFYING'|'SPLITTING'|'COPYING'|'STARTING'|'STOPPING'|'STOPPED'|'MAINTENANCE'|'INACCESSIBLE_ENCRYPTION_CREDENTIALS_RECOVERABLE'
                  },
              ],
              'status': 'CREATING'|'ACTIVE'|'DELETING'|'UPDATING'|'VPC_ENDPOINT_LIMIT_EXCEEDED'|'IP_ADDRESS_LIMIT_EXCEEDED'|'INVALID_SECURITY_GROUP_ID'|'INVALID_SUBNET_ID'|'INACCESSIBLE_ENCRYPTION_CREDS'|'INACCESSIBLE_SECRET_ARN'|'INACCESSIBLE_VPC_ENDPOINT'|'INCOMPATIBLE_NETWORK'|'MERGING'|'MODIFYING'|'SPLITTING'|'COPYING'|'STARTING'|'STOPPING'|'STOPPED'|'MAINTENANCE'|'INACCESSIBLE_ENCRYPTION_CREDENTIALS_RECOVERABLE',
              'subnetIds': [
                  'string',
              ],
              'vpcSecurityGroupIds': [
                  'string',
              ]
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **cluster** *(dict) --* 

        Returns information about the updated elastic cluster.

        
        

        - **adminUserName** *(string) --* 

          The name of the elastic cluster administrator.

          
        

        - **authType** *(string) --* 

          The authentication type for the elastic cluster.

          
        

        - **backupRetentionPeriod** *(integer) --* 

          The number of days for which automatic snapshots are retained.

          
        

        - **clusterArn** *(string) --* 

          The ARN identifier of the elastic cluster.

          
        

        - **clusterEndpoint** *(string) --* 

          The URL used to connect to the elastic cluster.

          
        

        - **clusterName** *(string) --* 

          The name of the elastic cluster.

          
        

        - **createTime** *(string) --* 

          The time when the elastic cluster was created in Universal Coordinated Time (UTC).

          
        

        - **kmsKeyId** *(string) --* 

          The KMS key identifier to use to encrypt the elastic cluster.

          
        

        - **preferredBackupWindow** *(string) --* 

          The daily time range during which automated backups are created if automated backups are enabled, as determined by ``backupRetentionPeriod``.

          
        

        - **preferredMaintenanceWindow** *(string) --* 

          The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

           

          *Format*: ``ddd:hh24:mi-ddd:hh24:mi``

          
        

        - **shardCapacity** *(integer) --* 

          The number of vCPUs assigned to each elastic cluster shard. Maximum is 64. Allowed values are 2, 4, 8, 16, 32, 64.

          
        

        - **shardCount** *(integer) --* 

          The number of shards assigned to the elastic cluster. Maximum is 32.

          
        

        - **shardInstanceCount** *(integer) --* 

          The number of replica instances applying to all shards in the cluster. A ``shardInstanceCount`` value of 1 means there is one writer instance, and any additional instances are replicas that can be used for reads and to improve availability.

          
        

        - **shards** *(list) --* 

          The total number of shards in the cluster.

          
          

          - *(dict) --* 

            The name of the shard.

            
            

            - **createTime** *(string) --* 

              The time when the shard was created in Universal Coordinated Time (UTC).

              
            

            - **shardId** *(string) --* 

              The ID of the shard.

              
            

            - **status** *(string) --* 

              The current status of the shard.

              
        
      
        

        - **status** *(string) --* 

          The status of the elastic cluster.

          
        

        - **subnetIds** *(list) --* 

          The Amazon EC2 subnet IDs for the elastic cluster.

          
          

          - *(string) --* 
      
        

        - **vpcSecurityGroupIds** *(list) --* 

          A list of EC2 VPC security groups associated with thie elastic cluster.

          
          

          - *(string) --* 
      
    
  
  **Exceptions**
  
  *   :py:class:`DocDBElastic.Client.exceptions.ThrottlingException`

  
  *   :py:class:`DocDBElastic.Client.exceptions.ValidationException`

  
  *   :py:class:`DocDBElastic.Client.exceptions.ConflictException`

  
  *   :py:class:`DocDBElastic.Client.exceptions.InternalServerException`

  
  *   :py:class:`DocDBElastic.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`DocDBElastic.Client.exceptions.AccessDeniedException`

  