:doc:`Bedrock <../../bedrock>` / Client / update_automated_reasoning_policy_annotations

*********************************************
update_automated_reasoning_policy_annotations
*********************************************



.. py:method:: Bedrock.Client.update_automated_reasoning_policy_annotations(**kwargs)

  

  Updates the annotations for an Automated Reasoning policy build workflow. This allows you to modify extracted rules, variables, and types before finalizing the policy.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateAutomatedReasoningPolicyAnnotations>`_  


  **Request Syntax**
  ::

    response = client.update_automated_reasoning_policy_annotations(
        policyArn='string',
        buildWorkflowId='string',
        annotations=[
            {
                'addType': {
                    'name': 'string',
                    'description': 'string',
                    'values': [
                        {
                            'value': 'string',
                            'description': 'string'
                        },
                    ]
                },
                'updateType': {
                    'name': 'string',
                    'newName': 'string',
                    'description': 'string',
                    'values': [
                        {
                            'addTypeValue': {
                                'value': 'string',
                                'description': 'string'
                            },
                            'updateTypeValue': {
                                'value': 'string',
                                'newValue': 'string',
                                'description': 'string'
                            },
                            'deleteTypeValue': {
                                'value': 'string'
                            }
                        },
                    ]
                },
                'deleteType': {
                    'name': 'string'
                },
                'addVariable': {
                    'name': 'string',
                    'type': 'string',
                    'description': 'string'
                },
                'updateVariable': {
                    'name': 'string',
                    'newName': 'string',
                    'description': 'string'
                },
                'deleteVariable': {
                    'name': 'string'
                },
                'addRule': {
                    'expression': 'string'
                },
                'updateRule': {
                    'ruleId': 'string',
                    'expression': 'string'
                },
                'deleteRule': {
                    'ruleId': 'string'
                },
                'addRuleFromNaturalLanguage': {
                    'naturalLanguage': 'string'
                },
                'updateFromRulesFeedback': {
                    'ruleIds': [
                        'string',
                    ],
                    'feedback': 'string'
                },
                'updateFromScenarioFeedback': {
                    'ruleIds': [
                        'string',
                    ],
                    'scenarioExpression': 'string',
                    'feedback': 'string'
                },
                'ingestContent': {
                    'content': 'string'
                }
            },
        ],
        lastUpdatedAnnotationSetHash='string'
    )
    
  :type policyArn: string
  :param policyArn: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the Automated Reasoning policy whose annotations you want to update.

    

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

    The unique identifier of the build workflow whose annotations you want to update.

    

  
  :type annotations: list
  :param annotations: **[REQUIRED]** 

    The updated annotations containing modified rules, variables, and types for the policy.

    

  
    - *(dict) --* 

      Contains the various operations that can be performed on an Automated Reasoning policy, including adding, updating, and deleting rules, variables, and types.

      .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``addType``, ``updateType``, ``deleteType``, ``addVariable``, ``updateVariable``, ``deleteVariable``, ``addRule``, ``updateRule``, ``deleteRule``, ``addRuleFromNaturalLanguage``, ``updateFromRulesFeedback``, ``updateFromScenarioFeedback``, ``ingestContent``. 

    
      - **addType** *(dict) --* 

        An operation to add a new custom type to the policy, defining a set of possible values for policy variables.

        

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

          The name of the new custom type. This name will be used to reference the type in variable definitions and rules.

          

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

          A description of what the custom type represents and how it should be used in the policy.

          

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

          The list of possible values that variables of this type can take, each with its own description and identifier.

          

        
          - *(dict) --* 

            Represents a single value within a custom type definition, including its identifier and description.

            

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

              The actual value or identifier for this type value.

              

            
            - **description** *(string) --* 

              A human-readable description explaining what this type value represents and when it should be used.

              

            
          
      
      
      - **updateType** *(dict) --* 

        An operation to modify an existing custom type in the policy, such as changing its name, description, or allowed values.

        

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

          The current name of the custom type to update.

          

        
        - **newName** *(string) --* 

          The new name for the custom type, if you want to rename it. If not provided, the name remains unchanged.

          

        
        - **description** *(string) --* 

          The new description for the custom type, replacing the previous description.

          

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

          The updated list of values for the custom type, which can include additions, modifications, or removals.

          

        
          - *(dict) --* 

            An annotation for managing values within custom types, including adding, updating, or removing specific type values.

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

          
            - **addTypeValue** *(dict) --* 

              An operation to add a new value to an existing custom type.

              

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

                The identifier or name of the new value to add to the type.

                

              
              - **description** *(string) --* 

                A description of what this new type value represents and when it should be used.

                

              
            
            - **updateTypeValue** *(dict) --* 

              An operation to modify an existing value within a custom type.

              

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

                The current identifier or name of the type value to update.

                

              
              - **newValue** *(string) --* 

                The new identifier or name for the type value, if you want to rename it.

                

              
              - **description** *(string) --* 

                The new description for the type value, replacing the previous description.

                

              
            
            - **deleteTypeValue** *(dict) --* 

              An operation to remove a value from an existing custom type.

              

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

                The identifier or name of the value to remove from the type.

                

              
            
          
      
      
      - **deleteType** *(dict) --* 

        An operation to remove a custom type from the policy. The type must not be referenced by any variables or rules.

        

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

          The name of the custom type to delete from the policy. The type must not be referenced by any variables or rules.

          

        
      
      - **addVariable** *(dict) --* 

        An operation to add a new variable to the policy, which can be used in rule expressions to represent dynamic values.

        

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

          The name of the new variable. This name will be used to reference the variable in rule expressions.

          

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

          The type of the variable, which can be a built-in type (like string or number) or a custom type defined in the policy.

          

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

          A description of what the variable represents and how it should be used in rules.

          

        
      
      - **updateVariable** *(dict) --* 

        An operation to modify an existing variable in the policy, such as changing its name, type, or description.

        

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

          The current name of the variable to update.

          

        
        - **newName** *(string) --* 

          The new name for the variable, if you want to rename it. If not provided, the name remains unchanged.

          

        
        - **description** *(string) --* 

          The new description for the variable, replacing the previous description.

          

        
      
      - **deleteVariable** *(dict) --* 

        An operation to remove a variable from the policy. The variable must not be referenced by any rules.

        

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

          The name of the variable to delete from the policy. The variable must not be referenced by any rules.

          

        
      
      - **addRule** *(dict) --* 

        An operation to add a new logical rule to the policy using formal mathematical expressions.

        

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

          The formal logical expression that defines the rule, using mathematical notation and referencing policy variables and types.

          

        
      
      - **updateRule** *(dict) --* 

        An operation to modify an existing rule in the policy, such as changing its logical expression or conditions.

        

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

          The unique identifier of the rule to update.

          

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

          The new formal logical expression for the rule, replacing the previous expression.

          

        
      
      - **deleteRule** *(dict) --* 

        An operation to remove a rule from the policy.

        

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

          The unique identifier of the rule to delete from the policy.

          

        
      
      - **addRuleFromNaturalLanguage** *(dict) --* 

        An operation to add a new rule by converting natural language descriptions into formal logical expressions.

        

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

          The natural language description of the rule that should be converted into a formal logical expression.

          

        
      
      - **updateFromRulesFeedback** *(dict) --* 

        An operation to update the policy based on feedback about how specific rules performed during testing or validation.

        

      
        - **ruleIds** *(list) --* 

          The list of rule identifiers that the feedback applies to.

          

        
          - *(string) --* 

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

          The feedback information about rule performance, including suggestions for improvements or corrections.

          

        
      
      - **updateFromScenarioFeedback** *(dict) --* 

        An operation to update the policy based on feedback about how it performed on specific test scenarios.

        

      
        - **ruleIds** *(list) --* 

          The list of rule identifiers that were involved in the scenario being evaluated.

          

        
          - *(string) --* 

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

          The logical expression that defines the test scenario that generated this feedback.

          

        
        - **feedback** *(string) --* 

          The feedback information about scenario performance, including any issues or improvements identified.

          

        
      
      - **ingestContent** *(dict) --* 

        An operation to process and incorporate new content into the policy, extracting additional rules and concepts.

        

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

          The new content to be analyzed and incorporated into the policy, such as additional documents or rule descriptions.

          

        
      
    

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

    The hash value of the annotation set that you're updating. This is used for optimistic concurrency control to prevent conflicting updates.

    

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

    
    ::

      {
          'policyArn': 'string',
          'buildWorkflowId': 'string',
          'annotationSetHash': 'string',
          'updatedAt': datetime(2015, 1, 1)
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **policyArn** *(string) --* 

        The Amazon Resource Name (ARN) of the Automated Reasoning policy.

        
      

      - **buildWorkflowId** *(string) --* 

        The unique identifier of the build workflow.

        
      

      - **annotationSetHash** *(string) --* 

        The new hash value representing the updated state of the annotations.

        
      

      - **updatedAt** *(datetime) --* 

        The timestamp when the annotations were updated.

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

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

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

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

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

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

  