:doc:`ConnectCases <../../connectcases>` / Client / update_case_rule

****************
update_case_rule
****************



.. py:method:: ConnectCases.Client.update_case_rule(**kwargs)

  

  Updates a case rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see `Add case field conditions to a case template <https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connectcases-2022-10-03/UpdateCaseRule>`_  


  **Request Syntax**
  ::

    response = client.update_case_rule(
        domainId='string',
        caseRuleId='string',
        name='string',
        description='string',
        rule={
            'required': {
                'defaultValue': True|False,
                'conditions': [
                    {
                        'equalTo': {
                            'operandOne': {
                                'fieldId': 'string'
                            },
                            'operandTwo': {
                                'stringValue': 'string',
                                'booleanValue': True|False,
                                'doubleValue': 123.0,
                                'emptyValue': {}
                                
                            },
                            'result': True|False
                        },
                        'notEqualTo': {
                            'operandOne': {
                                'fieldId': 'string'
                            },
                            'operandTwo': {
                                'stringValue': 'string',
                                'booleanValue': True|False,
                                'doubleValue': 123.0,
                                'emptyValue': {}
                                
                            },
                            'result': True|False
                        }
                    },
                ]
            },
            'fieldOptions': {
                'parentFieldId': 'string',
                'childFieldId': 'string',
                'parentChildFieldOptionsMappings': [
                    {
                        'parentFieldOptionValue': 'string',
                        'childFieldOptionValues': [
                            'string',
                        ]
                    },
                ]
            },
            'hidden': {
                'defaultValue': True|False,
                'conditions': [
                    {
                        'equalTo': {
                            'operandOne': {
                                'fieldId': 'string'
                            },
                            'operandTwo': {
                                'stringValue': 'string',
                                'booleanValue': True|False,
                                'doubleValue': 123.0,
                                'emptyValue': {}
                                
                            },
                            'result': True|False
                        },
                        'notEqualTo': {
                            'operandOne': {
                                'fieldId': 'string'
                            },
                            'operandTwo': {
                                'stringValue': 'string',
                                'booleanValue': True|False,
                                'doubleValue': 123.0,
                                'emptyValue': {}
                                
                            },
                            'result': True|False
                        }
                    },
                ]
            }
        }
    )
    
  :type domainId: string
  :param domainId: **[REQUIRED]** 

    Unique identifier of a Cases domain.

    

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

    Unique identifier of a case rule.

    

  
  :type name: string
  :param name: 

    Name of the case rule.

    

  
  :type description: string
  :param description: 

    Description of a case rule.

    

  
  :type rule: dict
  :param rule: 

    Represents what rule type should take place, under what conditions.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``required``, ``fieldOptions``, ``hidden``. 

  
    - **required** *(dict) --* 

      Required rule type, used to indicate whether a field is required.

      

    
      - **defaultValue** *(boolean) --* **[REQUIRED]** 

        The value of the rule (that is, whether the field is required) should none of the conditions evaluate to true.

        

      
      - **conditions** *(list) --* **[REQUIRED]** 

        List of conditions for the required rule; the first condition to evaluate to true dictates the value of the rule.

        

      
        - *(dict) --* 

          Boolean condition for a rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see `Add case field conditions to a case template <https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html>`__.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``equalTo``, ``notEqualTo``. 

        
          - **equalTo** *(dict) --* 

            Tests that operandOne is equal to operandTwo.

            

          
            - **operandOne** *(dict) --* **[REQUIRED]** 

              Represents the left hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``fieldId``. 

            
              - **fieldId** *(string) --* 

                The field ID that this operand should take the value of.

                

              
            
            - **operandTwo** *(dict) --* **[REQUIRED]** 

              Represents the right hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``stringValue``, ``booleanValue``, ``doubleValue``, ``emptyValue``. 

            
              - **stringValue** *(string) --* 

                String value type.

                

              
              - **booleanValue** *(boolean) --* 

                Boolean value type.

                

              
              - **doubleValue** *(float) --* 

                Double value type.

                

              
              - **emptyValue** *(dict) --* 

                Empty value type.

                

              
              
            
            - **result** *(boolean) --* **[REQUIRED]** 

              The value of the outer rule if the condition evaluates to true.

              

            
          
          - **notEqualTo** *(dict) --* 

            Tests that operandOne is not equal to operandTwo.

            

          
            - **operandOne** *(dict) --* **[REQUIRED]** 

              Represents the left hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``fieldId``. 

            
              - **fieldId** *(string) --* 

                The field ID that this operand should take the value of.

                

              
            
            - **operandTwo** *(dict) --* **[REQUIRED]** 

              Represents the right hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``stringValue``, ``booleanValue``, ``doubleValue``, ``emptyValue``. 

            
              - **stringValue** *(string) --* 

                String value type.

                

              
              - **booleanValue** *(boolean) --* 

                Boolean value type.

                

              
              - **doubleValue** *(float) --* 

                Double value type.

                

              
              - **emptyValue** *(dict) --* 

                Empty value type.

                

              
              
            
            - **result** *(boolean) --* **[REQUIRED]** 

              The value of the outer rule if the condition evaluates to true.

              

            
          
        
    
    
    - **fieldOptions** *(dict) --* 

      Which options are available in a child field based on the selected value in a parent field.

      

    
      - **parentFieldId** *(string) --* 

        The identifier of the parent field that controls options.

        

      
      - **childFieldId** *(string) --* 

        The identifier of the child field whose options are controlled.

        

      
      - **parentChildFieldOptionsMappings** *(list) --* **[REQUIRED]** 

        A mapping between a parent field option value and child field option values.

        

      
        - *(dict) --* 

          A mapping between a parent field option value and child field option values.

          

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

            The value in the parent field.

            

          
          - **childFieldOptionValues** *(list) --* **[REQUIRED]** 

            A list of allowed values in the child field.

            

          
            - *(string) --* 

            
        
        
    
    
    - **hidden** *(dict) --* 

      Whether a field is visible, based on values in other fields.

      

    
      - **defaultValue** *(boolean) --* **[REQUIRED]** 

        Whether the field is hidden when no conditions match.

        

      
      - **conditions** *(list) --* **[REQUIRED]** 

        A list of conditions that determine field visibility.

        

      
        - *(dict) --* 

          Boolean condition for a rule. In the Amazon Connect admin website, case rules are known as *case field conditions*. For more information about case field conditions, see `Add case field conditions to a case template <https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html>`__.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``equalTo``, ``notEqualTo``. 

        
          - **equalTo** *(dict) --* 

            Tests that operandOne is equal to operandTwo.

            

          
            - **operandOne** *(dict) --* **[REQUIRED]** 

              Represents the left hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``fieldId``. 

            
              - **fieldId** *(string) --* 

                The field ID that this operand should take the value of.

                

              
            
            - **operandTwo** *(dict) --* **[REQUIRED]** 

              Represents the right hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``stringValue``, ``booleanValue``, ``doubleValue``, ``emptyValue``. 

            
              - **stringValue** *(string) --* 

                String value type.

                

              
              - **booleanValue** *(boolean) --* 

                Boolean value type.

                

              
              - **doubleValue** *(float) --* 

                Double value type.

                

              
              - **emptyValue** *(dict) --* 

                Empty value type.

                

              
              
            
            - **result** *(boolean) --* **[REQUIRED]** 

              The value of the outer rule if the condition evaluates to true.

              

            
          
          - **notEqualTo** *(dict) --* 

            Tests that operandOne is not equal to operandTwo.

            

          
            - **operandOne** *(dict) --* **[REQUIRED]** 

              Represents the left hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``fieldId``. 

            
              - **fieldId** *(string) --* 

                The field ID that this operand should take the value of.

                

              
            
            - **operandTwo** *(dict) --* **[REQUIRED]** 

              Represents the right hand operand in the condition.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``stringValue``, ``booleanValue``, ``doubleValue``, ``emptyValue``. 

            
              - **stringValue** *(string) --* 

                String value type.

                

              
              - **booleanValue** *(boolean) --* 

                Boolean value type.

                

              
              - **doubleValue** *(float) --* 

                Double value type.

                

              
              - **emptyValue** *(dict) --* 

                Empty value type.

                

              
              
            
            - **result** *(boolean) --* **[REQUIRED]** 

              The value of the outer rule if the condition evaluates to true.

              

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`ConnectCases.Client.exceptions.InternalServerException`

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

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

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

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

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

  
  *   :py:class:`ConnectCases.Client.exceptions.ServiceQuotaExceededException`

  