:doc:`RDS <../../rds>` / Client / describe_valid_db_instance_modifications

****************************************
describe_valid_db_instance_modifications
****************************************



.. py:method:: RDS.Client.describe_valid_db_instance_modifications(**kwargs)

  

  You can call ``DescribeValidDBInstanceModifications`` to learn what modifications you can make to your DB instance. You can use this information when you call ``ModifyDBInstance``.

   

  This command doesn't apply to RDS Custom.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications>`_  


  **Request Syntax**
  ::

    response = client.describe_valid_db_instance_modifications(
        DBInstanceIdentifier='string'
    )
    
  :type DBInstanceIdentifier: string
  :param DBInstanceIdentifier: **[REQUIRED]** 

    The customer identifier or the ARN of your DB instance.

    

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

    
    ::

      {
          'ValidDBInstanceModificationsMessage': {
              'Storage': [
                  {
                      'StorageType': 'string',
                      'StorageSize': [
                          {
                              'From': 123,
                              'To': 123,
                              'Step': 123
                          },
                      ],
                      'ProvisionedIops': [
                          {
                              'From': 123,
                              'To': 123,
                              'Step': 123
                          },
                      ],
                      'IopsToStorageRatio': [
                          {
                              'From': 123.0,
                              'To': 123.0
                          },
                      ],
                      'ProvisionedStorageThroughput': [
                          {
                              'From': 123,
                              'To': 123,
                              'Step': 123
                          },
                      ],
                      'StorageThroughputToIopsRatio': [
                          {
                              'From': 123.0,
                              'To': 123.0
                          },
                      ],
                      'SupportsStorageAutoscaling': True|False
                  },
              ],
              'ValidProcessorFeatures': [
                  {
                      'Name': 'string',
                      'DefaultValue': 'string',
                      'AllowedValues': 'string'
                  },
              ],
              'SupportsDedicatedLogVolume': True|False,
              'AdditionalStorage': {
                  'SupportsAdditionalStorageVolumes': True|False,
                  'Volumes': [
                      {
                          'VolumeName': 'string',
                          'Storage': [
                              {
                                  'StorageType': 'string',
                                  'StorageSize': [
                                      {
                                          'From': 123,
                                          'To': 123,
                                          'Step': 123
                                      },
                                  ],
                                  'ProvisionedIops': [
                                      {
                                          'From': 123,
                                          'To': 123,
                                          'Step': 123
                                      },
                                  ],
                                  'IopsToStorageRatio': [
                                      {
                                          'From': 123.0,
                                          'To': 123.0
                                      },
                                  ],
                                  'ProvisionedStorageThroughput': [
                                      {
                                          'From': 123,
                                          'To': 123,
                                          'Step': 123
                                      },
                                  ],
                                  'StorageThroughputToIopsRatio': [
                                      {
                                          'From': 123.0,
                                          'To': 123.0
                                      },
                                  ],
                                  'SupportsStorageAutoscaling': True|False
                              },
                          ]
                      },
                  ]
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ValidDBInstanceModificationsMessage** *(dict) --* 

        Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the ``DescribeValidDBInstanceModifications`` action. You can use this information when you call ``ModifyDBInstance``.

        
        

        - **Storage** *(list) --* 

          Valid storage options for your DB instance.

          
          

          - *(dict) --* 

            Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the ``DescribeValidDBInstanceModifications`` action.

            
            

            - **StorageType** *(string) --* 

              The valid storage types for your DB instance. For example: gp2, gp3, io1, io2.

              
            

            - **StorageSize** *(list) --* 

              The valid range of storage in gibibytes (GiB). For example, 100 to 16,384.

              
              

              - *(dict) --* 

                A range of integer values.

                
                

                - **From** *(integer) --* 

                  The minimum value in the range.

                  
                

                - **To** *(integer) --* 

                  The maximum value in the range.

                  
                

                - **Step** *(integer) --* 

                  The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                  
            
          
            

            - **ProvisionedIops** *(list) --* 

              The valid range of provisioned IOPS. For example, 1000-256,000.

              
              

              - *(dict) --* 

                A range of integer values.

                
                

                - **From** *(integer) --* 

                  The minimum value in the range.

                  
                

                - **To** *(integer) --* 

                  The maximum value in the range.

                  
                

                - **Step** *(integer) --* 

                  The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                  
            
          
            

            - **IopsToStorageRatio** *(list) --* 

              The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

              
              

              - *(dict) --* 

                A range of double values.

                
                

                - **From** *(float) --* 

                  The minimum value in the range.

                  
                

                - **To** *(float) --* 

                  The maximum value in the range.

                  
            
          
            

            - **ProvisionedStorageThroughput** *(list) --* 

              The valid range of provisioned storage throughput. For example, 500-4,000 mebibytes per second (MiBps).

              
              

              - *(dict) --* 

                A range of integer values.

                
                

                - **From** *(integer) --* 

                  The minimum value in the range.

                  
                

                - **To** *(integer) --* 

                  The maximum value in the range.

                  
                

                - **Step** *(integer) --* 

                  The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                  
            
          
            

            - **StorageThroughputToIopsRatio** *(list) --* 

              The valid range of storage throughput to provisioned IOPS ratios. For example, 0-0.25.

              
              

              - *(dict) --* 

                A range of double values.

                
                

                - **From** *(float) --* 

                  The minimum value in the range.

                  
                

                - **To** *(float) --* 

                  The maximum value in the range.

                  
            
          
            

            - **SupportsStorageAutoscaling** *(boolean) --* 

              Indicates whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

              
        
      
        

        - **ValidProcessorFeatures** *(list) --* 

          Valid processor features for your DB instance.

          
          

          - *(dict) --* 

            Contains the available processor feature information for the DB instance class of a DB instance.

             

            For more information, see `Configuring the Processor of the DB Instance Class <https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor>`__ in the *Amazon RDS User Guide.*

            
            

            - **Name** *(string) --* 

              The name of the processor feature. Valid names are ``coreCount`` and ``threadsPerCore``.

              
            

            - **DefaultValue** *(string) --* 

              The default value for the processor feature of the DB instance class.

              
            

            - **AllowedValues** *(string) --* 

              The allowed values for the processor feature of the DB instance class.

              
        
      
        

        - **SupportsDedicatedLogVolume** *(boolean) --* 

          Indicates whether a DB instance supports using a dedicated log volume (DLV).

          
        

        - **AdditionalStorage** *(dict) --* 

          The valid additional storage options for the DB instance.

          
          

          - **SupportsAdditionalStorageVolumes** *(boolean) --* 

            Indicates whether the DB instance supports additional storage volumes.

            
          

          - **Volumes** *(list) --* 

            The valid additional storage volume options for the DB instance.

            
            

            - *(dict) --* 

              Contains the valid options for an additional storage volume.

              
              

              - **VolumeName** *(string) --* 

                The name of the additional storage volume.

                
              

              - **Storage** *(list) --* 

                The valid storage options for the additional storage volume.

                
                

                - *(dict) --* 

                  Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the ``DescribeValidDBInstanceModifications`` action.

                  
                  

                  - **StorageType** *(string) --* 

                    The valid storage types for your DB instance. For example: gp2, gp3, io1, io2.

                    
                  

                  - **StorageSize** *(list) --* 

                    The valid range of storage in gibibytes (GiB). For example, 100 to 16,384.

                    
                    

                    - *(dict) --* 

                      A range of integer values.

                      
                      

                      - **From** *(integer) --* 

                        The minimum value in the range.

                        
                      

                      - **To** *(integer) --* 

                        The maximum value in the range.

                        
                      

                      - **Step** *(integer) --* 

                        The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                        
                  
                
                  

                  - **ProvisionedIops** *(list) --* 

                    The valid range of provisioned IOPS. For example, 1000-256,000.

                    
                    

                    - *(dict) --* 

                      A range of integer values.

                      
                      

                      - **From** *(integer) --* 

                        The minimum value in the range.

                        
                      

                      - **To** *(integer) --* 

                        The maximum value in the range.

                        
                      

                      - **Step** *(integer) --* 

                        The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                        
                  
                
                  

                  - **IopsToStorageRatio** *(list) --* 

                    The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

                    
                    

                    - *(dict) --* 

                      A range of double values.

                      
                      

                      - **From** *(float) --* 

                        The minimum value in the range.

                        
                      

                      - **To** *(float) --* 

                        The maximum value in the range.

                        
                  
                
                  

                  - **ProvisionedStorageThroughput** *(list) --* 

                    The valid range of provisioned storage throughput. For example, 500-4,000 mebibytes per second (MiBps).

                    
                    

                    - *(dict) --* 

                      A range of integer values.

                      
                      

                      - **From** *(integer) --* 

                        The minimum value in the range.

                        
                      

                      - **To** *(integer) --* 

                        The maximum value in the range.

                        
                      

                      - **Step** *(integer) --* 

                        The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

                        
                  
                
                  

                  - **StorageThroughputToIopsRatio** *(list) --* 

                    The valid range of storage throughput to provisioned IOPS ratios. For example, 0-0.25.

                    
                    

                    - *(dict) --* 

                      A range of double values.

                      
                      

                      - **From** *(float) --* 

                        The minimum value in the range.

                        
                      

                      - **To** *(float) --* 

                        The maximum value in the range.

                        
                  
                
                  

                  - **SupportsStorageAutoscaling** *(boolean) --* 

                    Indicates whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

                    
              
            
          
        
      
    
  
  **Exceptions**
  
  *   :py:class:`RDS.Client.exceptions.DBInstanceNotFoundFault`

  
  *   :py:class:`RDS.Client.exceptions.InvalidDBInstanceStateFault`

  