:doc:`FIS <../../fis>` / Client / update_experiment_template

**************************
update_experiment_template
**************************



.. py:method:: FIS.Client.update_experiment_template(**kwargs)

  

  Updates the specified experiment template.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/fis-2020-12-01/UpdateExperimentTemplate>`_  


  **Request Syntax**
  ::

    response = client.update_experiment_template(
        id='string',
        description='string',
        stopConditions=[
            {
                'source': 'string',
                'value': 'string'
            },
        ],
        targets={
            'string': {
                'resourceType': 'string',
                'resourceArns': [
                    'string',
                ],
                'resourceTags': {
                    'string': 'string'
                },
                'filters': [
                    {
                        'path': 'string',
                        'values': [
                            'string',
                        ]
                    },
                ],
                'selectionMode': 'string',
                'parameters': {
                    'string': 'string'
                }
            }
        },
        actions={
            'string': {
                'actionId': 'string',
                'description': 'string',
                'parameters': {
                    'string': 'string'
                },
                'targets': {
                    'string': 'string'
                },
                'startAfter': [
                    'string',
                ]
            }
        },
        roleArn='string',
        logConfiguration={
            'cloudWatchLogsConfiguration': {
                'logGroupArn': 'string'
            },
            's3Configuration': {
                'bucketName': 'string',
                'prefix': 'string'
            },
            'logSchemaVersion': 123
        },
        experimentOptions={
            'emptyTargetResolutionMode': 'fail'|'skip'
        },
        experimentReportConfiguration={
            'outputs': {
                's3Configuration': {
                    'bucketName': 'string',
                    'prefix': 'string'
                }
            },
            'dataSources': {
                'cloudWatchDashboards': [
                    {
                        'dashboardIdentifier': 'string'
                    },
                ]
            },
            'preExperimentDuration': 'string',
            'postExperimentDuration': 'string'
        }
    )
    
  :type id: string
  :param id: **[REQUIRED]** 

    The ID of the experiment template.

    

  
  :type description: string
  :param description: 

    A description for the template.

    

  
  :type stopConditions: list
  :param stopConditions: 

    The stop conditions for the experiment.

    

  
    - *(dict) --* 

      Specifies a stop condition for an experiment. You can define a stop condition as a CloudWatch alarm.

      

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

        The source for the stop condition. Specify ``aws:cloudwatch:alarm`` if the stop condition is defined by a CloudWatch alarm. Specify ``none`` if there is no stop condition.

        

      
      - **value** *(string) --* 

        The Amazon Resource Name (ARN) of the CloudWatch alarm.

        

      
    

  :type targets: dict
  :param targets: 

    The targets for the experiment.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or at least one resource tag. You cannot specify both.

        

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

          The resource type. The resource type must be supported for the specified action.

          

        
        - **resourceArns** *(list) --* 

          The Amazon Resource Names (ARNs) of the targets.

          

        
          - *(string) --* 

          
      
        - **resourceTags** *(dict) --* 

          The tags for the target resources.

          

        
          - *(string) --* 

          
            - *(string) --* 

            
      
    
        - **filters** *(list) --* 

          The filters to apply to identify target resources using specific attributes.

          

        
          - *(dict) --* 

            Specifies a filter used for the target resource input in an experiment template.

             

            For more information, see `Resource filters <https://docs.aws.amazon.com/fis/latest/userguide/targets.html#target-filters>`__ in the *Fault Injection Service User Guide*.

            

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

              The attribute path for the filter.

              

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

              The attribute values for the filter.

              

            
              - *(string) --* 

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

          Scopes the identified resources to a specific count or percentage.

          

        
        - **parameters** *(dict) --* 

          The resource type parameters.

          

        
          - *(string) --* 

          
            - *(string) --* 

            
      
    
      


  :type actions: dict
  :param actions: 

    The actions for the experiment.

    

  
    - *(string) --* 

    
      - *(dict) --* 

        Specifies an action for an experiment template.

        

      
        - **actionId** *(string) --* 

          The ID of the action.

          

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

          A description for the action.

          

        
        - **parameters** *(dict) --* 

          The parameters for the action, if applicable.

          

        
          - *(string) --* 

          
            - *(string) --* 

            
      
    
        - **targets** *(dict) --* 

          The targets for the action.

          

        
          - *(string) --* 

          
            - *(string) --* 

            
      
    
        - **startAfter** *(list) --* 

          The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment.

          

        
          - *(string) --* 

          
      
      


  :type roleArn: string
  :param roleArn: 

    The Amazon Resource Name (ARN) of an IAM role that grants the FIS service permission to perform service actions on your behalf.

    

  
  :type logConfiguration: dict
  :param logConfiguration: 

    The configuration for experiment logging.

    

  
    - **cloudWatchLogsConfiguration** *(dict) --* 

      The configuration for experiment logging to Amazon CloudWatch Logs.

      

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

        The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group.

        

      
    
    - **s3Configuration** *(dict) --* 

      The configuration for experiment logging to Amazon S3.

      

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

        The name of the destination bucket.

        

      
      - **prefix** *(string) --* 

        The bucket prefix.

        

      
    
    - **logSchemaVersion** *(integer) --* 

      The schema version.

      

    
  
  :type experimentOptions: dict
  :param experimentOptions: 

    The experiment options for the experiment template.

    

  
    - **emptyTargetResolutionMode** *(string) --* 

      The empty target resolution mode of the experiment template.

      

    
  
  :type experimentReportConfiguration: dict
  :param experimentReportConfiguration: 

    The experiment report configuration for the experiment template.

    

  
    - **outputs** *(dict) --* 

      Describes the output destinations of the experiment report.

      

    
      - **s3Configuration** *(dict) --* 

        The S3 destination for the experiment report.

        

      
        - **bucketName** *(string) --* 

          The name of the S3 bucket where the experiment report will be stored.

          

        
        - **prefix** *(string) --* 

          The prefix of the S3 bucket where the experiment report will be stored.

          

        
      
    
    - **dataSources** *(dict) --* 

      The data sources for the experiment report.

      

    
      - **cloudWatchDashboards** *(list) --* 

        The CloudWatch dashboards to include as data sources in the experiment report.

        

      
        - *(dict) --* 

          Specifies the CloudWatch dashboard for the experiment report.

          

        
          - **dashboardIdentifier** *(string) --* 

            The Amazon Resource Name (ARN) of the CloudWatch dashboard to include in the experiment report.

            

          
        
    
    
    - **preExperimentDuration** *(string) --* 

      The duration before the experiment start time for the data sources to include in the report.

      

    
    - **postExperimentDuration** *(string) --* 

      The duration after the experiment end time for the data sources to include in the report.

      

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

    
    ::

      {
          'experimentTemplate': {
              'id': 'string',
              'arn': 'string',
              'description': 'string',
              'targets': {
                  'string': {
                      'resourceType': 'string',
                      'resourceArns': [
                          'string',
                      ],
                      'resourceTags': {
                          'string': 'string'
                      },
                      'filters': [
                          {
                              'path': 'string',
                              'values': [
                                  'string',
                              ]
                          },
                      ],
                      'selectionMode': 'string',
                      'parameters': {
                          'string': 'string'
                      }
                  }
              },
              'actions': {
                  'string': {
                      'actionId': 'string',
                      'description': 'string',
                      'parameters': {
                          'string': 'string'
                      },
                      'targets': {
                          'string': 'string'
                      },
                      'startAfter': [
                          'string',
                      ]
                  }
              },
              'stopConditions': [
                  {
                      'source': 'string',
                      'value': 'string'
                  },
              ],
              'creationTime': datetime(2015, 1, 1),
              'lastUpdateTime': datetime(2015, 1, 1),
              'roleArn': 'string',
              'tags': {
                  'string': 'string'
              },
              'logConfiguration': {
                  'cloudWatchLogsConfiguration': {
                      'logGroupArn': 'string'
                  },
                  's3Configuration': {
                      'bucketName': 'string',
                      'prefix': 'string'
                  },
                  'logSchemaVersion': 123
              },
              'experimentOptions': {
                  'accountTargeting': 'single-account'|'multi-account',
                  'emptyTargetResolutionMode': 'fail'|'skip'
              },
              'targetAccountConfigurationsCount': 123,
              'experimentReportConfiguration': {
                  'outputs': {
                      's3Configuration': {
                          'bucketName': 'string',
                          'prefix': 'string'
                      }
                  },
                  'dataSources': {
                      'cloudWatchDashboards': [
                          {
                              'dashboardIdentifier': 'string'
                          },
                      ]
                  },
                  'preExperimentDuration': 'string',
                  'postExperimentDuration': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **experimentTemplate** *(dict) --* 

        Information about the experiment template.

        
        

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

          The ID of the experiment template.

          
        

        - **arn** *(string) --* 

          The Amazon Resource Name (ARN) of the experiment template.

          
        

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

          The description for the experiment template.

          
        

        - **targets** *(dict) --* 

          The targets for the experiment.

          
          

          - *(string) --* 
            

            - *(dict) --* 

              Describes a target for an experiment template.

              
              

              - **resourceType** *(string) --* 

                The resource type.

                
              

              - **resourceArns** *(list) --* 

                The Amazon Resource Names (ARNs) of the targets.

                
                

                - *(string) --* 
            
              

              - **resourceTags** *(dict) --* 

                The tags for the target resources.

                
                

                - *(string) --* 
                  

                  - *(string) --* 
            
          
              

              - **filters** *(list) --* 

                The filters to apply to identify target resources using specific attributes.

                
                

                - *(dict) --* 

                  Describes a filter used for the target resources in an experiment template.

                  
                  

                  - **path** *(string) --* 

                    The attribute path for the filter.

                    
                  

                  - **values** *(list) --* 

                    The attribute values for the filter.

                    
                    

                    - *(string) --* 
                
              
            
              

              - **selectionMode** *(string) --* 

                Scopes the identified resources to a specific count or percentage.

                
              

              - **parameters** *(dict) --* 

                The resource type parameters.

                
                

                - *(string) --* 
                  

                  - *(string) --* 
            
          
          
      
    
        

        - **actions** *(dict) --* 

          The actions for the experiment.

          
          

          - *(string) --* 
            

            - *(dict) --* 

              Describes an action for an experiment template.

              
              

              - **actionId** *(string) --* 

                The ID of the action.

                
              

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

                A description for the action.

                
              

              - **parameters** *(dict) --* 

                The parameters for the action.

                
                

                - *(string) --* 
                  

                  - *(string) --* 
            
          
              

              - **targets** *(dict) --* 

                The targets for the action.

                
                

                - *(string) --* 
                  

                  - *(string) --* 
            
          
              

              - **startAfter** *(list) --* 

                The name of the action that must be completed before the current action starts.

                
                

                - *(string) --* 
            
          
      
    
        

        - **stopConditions** *(list) --* 

          The stop conditions for the experiment.

          
          

          - *(dict) --* 

            Describes a stop condition for an experiment template.

            
            

            - **source** *(string) --* 

              The source for the stop condition.

              
            

            - **value** *(string) --* 

              The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.

              
        
      
        

        - **creationTime** *(datetime) --* 

          The time the experiment template was created.

          
        

        - **lastUpdateTime** *(datetime) --* 

          The time the experiment template was last updated.

          
        

        - **roleArn** *(string) --* 

          The Amazon Resource Name (ARN) of an IAM role.

          
        

        - **tags** *(dict) --* 

          The tags for the experiment template.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **logConfiguration** *(dict) --* 

          The configuration for experiment logging.

          
          

          - **cloudWatchLogsConfiguration** *(dict) --* 

            The configuration for experiment logging to Amazon CloudWatch Logs.

            
            

            - **logGroupArn** *(string) --* 

              The Amazon Resource Name (ARN) of the destination Amazon CloudWatch Logs log group.

              
        
          

          - **s3Configuration** *(dict) --* 

            The configuration for experiment logging to Amazon S3.

            
            

            - **bucketName** *(string) --* 

              The name of the destination bucket.

              
            

            - **prefix** *(string) --* 

              The bucket prefix.

              
        
          

          - **logSchemaVersion** *(integer) --* 

            The schema version.

            
      
        

        - **experimentOptions** *(dict) --* 

          The experiment options for an experiment template.

          
          

          - **accountTargeting** *(string) --* 

            The account targeting setting for an experiment template.

            
          

          - **emptyTargetResolutionMode** *(string) --* 

            The empty target resolution mode for an experiment template.

            
      
        

        - **targetAccountConfigurationsCount** *(integer) --* 

          The count of target account configurations for the experiment template.

          
        

        - **experimentReportConfiguration** *(dict) --* 

          Describes the report configuration for the experiment template.

          
          

          - **outputs** *(dict) --* 

            Describes the output destinations of the experiment report.

            
            

            - **s3Configuration** *(dict) --* 

              The S3 destination for the experiment report.

              
              

              - **bucketName** *(string) --* 

                The name of the S3 bucket where the experiment report will be stored.

                
              

              - **prefix** *(string) --* 

                The prefix of the S3 bucket where the experiment report will be stored.

                
          
        
          

          - **dataSources** *(dict) --* 

            The data sources for the experiment report.

            
            

            - **cloudWatchDashboards** *(list) --* 

              The CloudWatch dashboards to include as data sources in the experiment report.

              
              

              - *(dict) --* 

                The CloudWatch dashboards to include as data sources in the experiment report.

                
                

                - **dashboardIdentifier** *(string) --* 

                  The Amazon Resource Name (ARN) of the CloudWatch dashboard to include in the experiment report.

                  
            
          
        
          

          - **preExperimentDuration** *(string) --* 

            The duration before the experiment start time for the data sources to include in the report.

            
          

          - **postExperimentDuration** *(string) --* 

            The duration after the experiment end time for the data sources to include in the report.

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

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

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

  