:doc:`ServiceCatalog <../../servicecatalog>` / Client / update_provisioned_product

**************************
update_provisioned_product
**************************



.. py:method:: ServiceCatalog.Client.update_provisioned_product(**kwargs)

  

  Requests updates to the configuration of the specified provisioned product.

   

  If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

   

  You can check the status of this request using  DescribeRecord.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/UpdateProvisionedProduct>`_  


  **Request Syntax**
  ::

    response = client.update_provisioned_product(
        AcceptLanguage='string',
        ProvisionedProductName='string',
        ProvisionedProductId='string',
        ProductId='string',
        ProductName='string',
        ProvisioningArtifactId='string',
        ProvisioningArtifactName='string',
        PathId='string',
        PathName='string',
        ProvisioningParameters=[
            {
                'Key': 'string',
                'Value': 'string',
                'UsePreviousValue': True|False
            },
        ],
        ProvisioningPreferences={
            'StackSetAccounts': [
                'string',
            ],
            'StackSetRegions': [
                'string',
            ],
            'StackSetFailureToleranceCount': 123,
            'StackSetFailureTolerancePercentage': 123,
            'StackSetMaxConcurrencyCount': 123,
            'StackSetMaxConcurrencyPercentage': 123,
            'StackSetOperationType': 'CREATE'|'UPDATE'|'DELETE'
        },
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        UpdateToken='string'
    )
    
  :type AcceptLanguage: string
  :param AcceptLanguage: 

    The language code.

     

    
    * ``jp`` - Japanese
     
    * ``zh`` - Chinese
    

    

  
  :type ProvisionedProductName: string
  :param ProvisionedProductName: 

    The name of the provisioned product. You cannot specify both ``ProvisionedProductName`` and ``ProvisionedProductId``.

    

  
  :type ProvisionedProductId: string
  :param ProvisionedProductId: 

    The identifier of the provisioned product. You must provide the name or ID, but not both.

    

  
  :type ProductId: string
  :param ProductId: 

    The identifier of the product. You must provide the name or ID, but not both.

    

  
  :type ProductName: string
  :param ProductName: 

    The name of the product. You must provide the name or ID, but not both.

    

  
  :type ProvisioningArtifactId: string
  :param ProvisioningArtifactId: 

    The identifier of the provisioning artifact.

    

  
  :type ProvisioningArtifactName: string
  :param ProvisioningArtifactName: 

    The name of the provisioning artifact. You must provide the name or ID, but not both.

    

  
  :type PathId: string
  :param PathId: 

    The path identifier. This value is optional if the product has a default path, and required if the product has more than one path. You must provide the name or ID, but not both.

    

  
  :type PathName: string
  :param PathName: 

    The name of the path. You must provide the name or ID, but not both.

    

  
  :type ProvisioningParameters: list
  :param ProvisioningParameters: 

    The new parameters.

    

  
    - *(dict) --* 

      The parameter key-value pair used to update a provisioned product.

      

    
      - **Key** *(string) --* 

        The parameter key.

        

      
      - **Value** *(string) --* 

        The parameter value.

        

      
      - **UsePreviousValue** *(boolean) --* 

        If set to true, ``Value`` is ignored and the previous parameter value is kept.

        

      
    

  :type ProvisioningPreferences: dict
  :param ProvisioningPreferences: 

    An object that contains information about the provisioning preferences for a stack set.

    

  
    - **StackSetAccounts** *(list) --* 

      One or more Amazon Web Services accounts that will have access to the provisioned product.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      The Amazon Web Services accounts specified should be within the list of accounts in the ``STACKSET`` constraint. To get the list of accounts in the ``STACKSET`` constraint, use the ``DescribeProvisioningParameters`` operation.

       

      If no values are specified, the default value is all accounts from the ``STACKSET`` constraint.

      

    
      - *(string) --* 

      
  
    - **StackSetRegions** *(list) --* 

      One or more Amazon Web Services Regions where the provisioned product will be available.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      The specified Regions should be within the list of Regions from the ``STACKSET`` constraint. To get the list of Regions in the ``STACKSET`` constraint, use the ``DescribeProvisioningParameters`` operation.

       

      If no values are specified, the default value is all Regions from the ``STACKSET`` constraint.

      

    
      - *(string) --* 

      
  
    - **StackSetFailureToleranceCount** *(integer) --* 

      The number of accounts, per Region, for which this operation can fail before Service Catalog stops the operation in that Region. If the operation is stopped in a Region, Service Catalog doesn't attempt the operation in any subsequent Regions.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      Conditional: You must specify either ``StackSetFailureToleranceCount`` or ``StackSetFailureTolerancePercentage``, but not both.

       

      The default value is ``0`` if no value is specified.

      

    
    - **StackSetFailureTolerancePercentage** *(integer) --* 

      The percentage of accounts, per Region, for which this stack operation can fail before Service Catalog stops the operation in that Region. If the operation is stopped in a Region, Service Catalog doesn't attempt the operation in any subsequent Regions.

       

      When calculating the number of accounts based on the specified percentage, Service Catalog rounds down to the next whole number.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      Conditional: You must specify either ``StackSetFailureToleranceCount`` or ``StackSetFailureTolerancePercentage``, but not both.

      

    
    - **StackSetMaxConcurrencyCount** *(integer) --* 

      The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of ``StackSetFailureToleranceCount``. ``StackSetMaxConcurrentCount`` is at most one more than the ``StackSetFailureToleranceCount``.

       

      Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      Conditional: You must specify either ``StackSetMaxConcurrentCount`` or ``StackSetMaxConcurrentPercentage``, but not both.

      

    
    - **StackSetMaxConcurrencyPercentage** *(integer) --* 

      The maximum percentage of accounts in which to perform this operation at one time.

       

      When calculating the number of accounts based on the specified percentage, Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, Service Catalog sets the number as ``1`` instead.

       

      Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

       

      Conditional: You must specify either ``StackSetMaxConcurrentCount`` or ``StackSetMaxConcurrentPercentage``, but not both.

      

    
    - **StackSetOperationType** *(string) --* 

      Determines what action Service Catalog performs to a stack set or a stack instance represented by the provisioned product. The default value is ``UPDATE`` if nothing is specified.

       

      Applicable only to a ``CFN_STACKSET`` provisioned product type.

        CREATE  

      Creates a new stack instance in the stack set represented by the provisioned product. In this case, only new stack instances are created based on accounts and Regions; if new ProductId or ProvisioningArtifactID are passed, they will be ignored.

        UPDATE  

      Updates the stack set represented by the provisioned product and also its stack instances.

        DELETE  

      Deletes a stack instance in the stack set represented by the provisioned product.

      

    
  
  :type Tags: list
  :param Tags: 

    One or more tags. Requires the product to have ``RESOURCE_UPDATE`` constraint with ``TagUpdatesOnProvisionedProduct`` set to ``ALLOWED`` to allow tag updates.

    

  
    - *(dict) --* 

      Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

      

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

        The tag key.

        

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

        The value for this key.

        

      
    

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

    The idempotency token that uniquely identifies the provisioning update request.

    This field is autopopulated if not provided.

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

    
    ::

      {
          'RecordDetail': {
              'RecordId': 'string',
              'ProvisionedProductName': 'string',
              'Status': 'CREATED'|'IN_PROGRESS'|'IN_PROGRESS_IN_ERROR'|'SUCCEEDED'|'FAILED',
              'CreatedTime': datetime(2015, 1, 1),
              'UpdatedTime': datetime(2015, 1, 1),
              'ProvisionedProductType': 'string',
              'RecordType': 'string',
              'ProvisionedProductId': 'string',
              'ProductId': 'string',
              'ProvisioningArtifactId': 'string',
              'PathId': 'string',
              'RecordErrors': [
                  {
                      'Code': 'string',
                      'Description': 'string'
                  },
              ],
              'RecordTags': [
                  {
                      'Key': 'string',
                      'Value': 'string'
                  },
              ],
              'LaunchRoleArn': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **RecordDetail** *(dict) --* 

        Information about the result of the request.

        
        

        - **RecordId** *(string) --* 

          The identifier of the record.

          
        

        - **ProvisionedProductName** *(string) --* 

          The user-friendly name of the provisioned product.

          
        

        - **Status** *(string) --* 

          The status of the provisioned product.

           

          
          * ``CREATED`` - The request was created but the operation has not started.
           
          * ``IN_PROGRESS`` - The requested operation is in progress.
           
          * ``IN_PROGRESS_IN_ERROR`` - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.
           
          * ``SUCCEEDED`` - The requested operation has successfully completed.
           
          * ``FAILED`` - The requested operation has unsuccessfully completed. Investigate using the error messages returned.
          

          
        

        - **CreatedTime** *(datetime) --* 

          The UTC time stamp of the creation time.

          
        

        - **UpdatedTime** *(datetime) --* 

          The time when the record was last updated.

          
        

        - **ProvisionedProductType** *(string) --* 

          The type of provisioned product. The supported values are ``CFN_STACK``, ``CFN_STACKSET``, ``TERRAFORM_OPEN_SOURCE``, ``TERRAFORM_CLOUD``, and ``EXTERNAL``.

          
        

        - **RecordType** *(string) --* 

          The record type.

           

          
          * ``PROVISION_PRODUCT``
           
          * ``UPDATE_PROVISIONED_PRODUCT``
           
          * ``TERMINATE_PROVISIONED_PRODUCT``
          

          
        

        - **ProvisionedProductId** *(string) --* 

          The identifier of the provisioned product.

          
        

        - **ProductId** *(string) --* 

          The product identifier.

          
        

        - **ProvisioningArtifactId** *(string) --* 

          The identifier of the provisioning artifact.

          
        

        - **PathId** *(string) --* 

          The path identifier.

          
        

        - **RecordErrors** *(list) --* 

          The errors that occurred.

          
          

          - *(dict) --* 

            The error code and description resulting from an operation.

            
            

            - **Code** *(string) --* 

              The numeric value of the error.

              
            

            - **Description** *(string) --* 

              The description of the error.

              
        
      
        

        - **RecordTags** *(list) --* 

          One or more tags.

          
          

          - *(dict) --* 

            Information about a tag, which is a key-value pair.

            
            

            - **Key** *(string) --* 

              The key for this tag.

              
            

            - **Value** *(string) --* 

              The value for this tag.

              
        
      
        

        - **LaunchRoleArn** *(string) --* 

          The ARN of the launch role associated with the provisioned product.

          
    
  
  **Exceptions**
  
  *   :py:class:`ServiceCatalog.Client.exceptions.InvalidParametersException`

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

  