:doc:`BillingandCostManagementPricingCalculator <../../bcm-pricing-calculator>` / Client / list_bill_scenario_commitment_modifications

*******************************************
list_bill_scenario_commitment_modifications
*******************************************



.. py:method:: BillingandCostManagementPricingCalculator.Client.list_bill_scenario_commitment_modifications(**kwargs)

  

  Lists the commitment modifications associated with a bill scenario.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/bcm-pricing-calculator-2024-06-19/ListBillScenarioCommitmentModifications>`_  


  **Request Syntax**
  ::

    response = client.list_bill_scenario_commitment_modifications(
        billScenarioId='string',
        nextToken='string',
        maxResults=123
    )
    
  :type billScenarioId: string
  :param billScenarioId: **[REQUIRED]** 

    The unique identifier of the bill scenario to list commitment modifications for.

    

  
  :type nextToken: string
  :param nextToken: 

    A token to retrieve the next page of results.

    

  
  :type maxResults: integer
  :param maxResults: 

    The maximum number of results to return per page.

    

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

    
    ::

      {
          'items': [
              {
                  'id': 'string',
                  'usageAccountId': 'string',
                  'group': 'string',
                  'commitmentAction': {
                      'addReservedInstanceAction': {
                          'reservedInstancesOfferingId': 'string',
                          'instanceCount': 123
                      },
                      'addSavingsPlanAction': {
                          'savingsPlanOfferingId': 'string',
                          'commitment': 123.0
                      },
                      'negateReservedInstanceAction': {
                          'reservedInstancesId': 'string'
                      },
                      'negateSavingsPlanAction': {
                          'savingsPlanId': 'string'
                      }
                  }
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **items** *(list) --* 

        The list of commitment modifications associated with the bill scenario.

        
        

        - *(dict) --* 

          Represents a commitment modification item in a bill scenario.

          
          

          - **id** *(string) --* 

            The unique identifier of the commitment modification.

            
          

          - **usageAccountId** *(string) --* 

            The Amazon Web Services account ID associated with this commitment modification.

            
          

          - **group** *(string) --* 

            The group identifier for the commitment modification.

            
          

          - **commitmentAction** *(dict) --* 

            The specific commitment action taken in this modification.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``addReservedInstanceAction``, ``addSavingsPlanAction``, ``negateReservedInstanceAction``, ``negateSavingsPlanAction``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **addReservedInstanceAction** *(dict) --* 

              Action to add a Reserved Instance to the scenario.

              
              

              - **reservedInstancesOfferingId** *(string) --* 

                The ID of the Reserved Instance offering to add. For more information, see `DescribeReservedInstancesOfferings <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeReservedInstancesOfferings.html>`__.

                
              

              - **instanceCount** *(integer) --* 

                The number of instances to add for this Reserved Instance offering.

                
          
            

            - **addSavingsPlanAction** *(dict) --* 

              Action to add a Savings Plan to the scenario.

              
              

              - **savingsPlanOfferingId** *(string) --* 

                The ID of the Savings Plan offering to add. For more information, see `DescribeSavingsPlansOfferings <https://docs.aws.amazon.com/savingsplans/latest/APIReference/API_DescribeSavingsPlansOfferings.html>`__.

                
              

              - **commitment** *(float) --* 

                The hourly commitment, in the same currency of the ``savingsPlanOfferingId``. This is a value between 0.001 and 1 million. You cannot specify more than five digits after the decimal point.

                
          
            

            - **negateReservedInstanceAction** *(dict) --* 

              Action to remove a Reserved Instance from the scenario.

              
              

              - **reservedInstancesId** *(string) --* 

                The ID of the Reserved Instance to remove.

                
          
            

            - **negateSavingsPlanAction** *(dict) --* 

              Action to remove a Savings Plan from the scenario.

              
              

              - **savingsPlanId** *(string) --* 

                The ID of the Savings Plan to remove.

                
          
        
      
    
      

      - **nextToken** *(string) --* 

        A token to retrieve the next page of results, if any.

        
  
  **Exceptions**
  
  *   :py:class:`BillingandCostManagementPricingCalculator.Client.exceptions.ValidationException`

  
  *   :py:class:`BillingandCostManagementPricingCalculator.Client.exceptions.DataUnavailableException`

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

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

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

  
  *   :py:class:`BillingandCostManagementPricingCalculator.Client.exceptions.ThrottlingException`

  