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

*****************
update_constraint
*****************



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

  

  Updates the specified constraint.

  

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


  **Request Syntax**
  ::

    response = client.update_constraint(
        AcceptLanguage='string',
        Id='string',
        Description='string',
        Parameters='string'
    )
    
  :type AcceptLanguage: string
  :param AcceptLanguage: 

    The language code.

     

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

    

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

    The identifier of the constraint.

    

  
  :type Description: string
  :param Description: 

    The updated description of the constraint.

    

  
  :type Parameters: string
  :param Parameters: 

    The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

      LAUNCH  

    You are required to specify either the ``RoleArn`` or the ``LocalRoleName`` but can't use both.

     

    Specify the ``RoleArn`` property as follows:

     

    ``{"RoleArn" : "arn:aws:iam::123456789012:role/LaunchRole"}``

     

    Specify the ``LocalRoleName`` property as follows:

     

    ``{"LocalRoleName": "SCBasicLaunchRole"}``

     

    If you specify the ``LocalRoleName`` property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account.

     

    .. note::

      

      The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint.

      

     

    You cannot have both a ``LAUNCH`` and a ``STACKSET`` constraint.

     

    You also cannot have more than one ``LAUNCH`` constraint on a product and portfolio.

      NOTIFICATION  

    Specify the ``NotificationArns`` property as follows:

     

    ``{"NotificationArns" : ["arn:aws:sns:us-east-1:123456789012:Topic"]}``

      RESOURCE_UPDATE  

    Specify the ``TagUpdatesOnProvisionedProduct`` property as follows:

     

    ``{"Version":"2.0","Properties":{"TagUpdateOnProvisionedProduct":"String"}}``

     

    The ``TagUpdatesOnProvisionedProduct`` property accepts a string value of ``ALLOWED`` or ``NOT_ALLOWED``.

      STACKSET  

    Specify the ``Parameters`` property as follows:

     

    ``{"Version": "String", "Properties": {"AccountList": [ "String" ], "RegionList": [ "String" ], "AdminRole": "String", "ExecutionRole": "String"}}``

     

    You cannot have both a ``LAUNCH`` and a ``STACKSET`` constraint.

     

    You also cannot have more than one ``STACKSET`` constraint on a product and portfolio.

     

    Products with a ``STACKSET`` constraint will launch an CloudFormation stack set.

      TEMPLATE  

    Specify the ``Rules`` property. For more information, see `Template Constraint Rules <http://docs.aws.amazon.com/servicecatalog/latest/adminguide/reference-template_constraint_rules.html>`__.

    

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

    
    ::

      {
          'ConstraintDetail': {
              'ConstraintId': 'string',
              'Type': 'string',
              'Description': 'string',
              'Owner': 'string',
              'ProductId': 'string',
              'PortfolioId': 'string'
          },
          'ConstraintParameters': 'string',
          'Status': 'AVAILABLE'|'CREATING'|'FAILED'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **ConstraintDetail** *(dict) --* 

        Information about the constraint.

        
        

        - **ConstraintId** *(string) --* 

          The identifier of the constraint.

          
        

        - **Type** *(string) --* 

          The type of constraint.

           

          
          * ``LAUNCH``
           
          * ``NOTIFICATION``
           
          * STACKSET
           
          * ``TEMPLATE``
          

          
        

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

          The description of the constraint.

          
        

        - **Owner** *(string) --* 

          The owner of the constraint.

          
        

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

          The identifier of the product the constraint applies to. Note that a constraint applies to a specific instance of a product within a certain portfolio.

          
        

        - **PortfolioId** *(string) --* 

          The identifier of the portfolio the product resides in. The constraint applies only to the instance of the product that lives within this portfolio.

          
    
      

      - **ConstraintParameters** *(string) --* 

        The constraint parameters.

        
      

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

        The status of the current request.

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

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

  