# Application Integration API . projects . locations . integrations . executions . suspensions

## Instance Methods

Close httplib2 connections.

* Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task.

* Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them.

Retrieves the next page of results.

* Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again.

### Method Details

`close()`

    Close httplib2 connections.

`lift(name, body=None, x__xgafv=None)`

    * Lifts suspension for the Suspension task. Fetch corresponding suspension with provided suspension Id, resolve suspension, and set up suspension result for the Suspension Task.

    Args:
      name: string, Required. The resource that the suspension belongs to. "projects/{project}/locations/{location}/products/{product}/integrations/{integration}/executions/{execution}/suspensions/{suspenion}" format. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for lift Suspension
      "suspensionResult": "A String", # User passed in suspension result and will be used to control workflow execution branching behavior by setting up corresponnding edge condition with suspension result. For example, if you want to lift the suspension, you can pass "Approved", or if you want to reject the suspension and terminate workfloe execution, you can pass "Rejected" and terminate the workflow execution with configuring the edge condition.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response of lift Suspense
      "eventExecutionInfoId": "A String", # Execution Id that will be returned
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    * Lists suspensions associated with a specific execution. Only those with permissions to resolve the relevant suspensions will be able to view them.

    Args:
      parent: string, Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name} (required)
      filter: string, Standard filter field.
      orderBy: string, Field name to order by.
      pageSize: integer, Maximum number of entries in the response.
      pageToken: string, Token to retrieve a specific page.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for Suspensions.ListSuspensions.
      "nextPageToken": "A String", # Token to retrieve the next page of results.
      "suspensions": [ # The suspensions for the relevant execution which the caller has permissions to view and resolve.
        { # A record representing a suspension.
          "approvalConfig": { # Configurations for approving the Suspension. # Controls the notifications and approval permissions for this suspension.
            "customMessage": "A String", # Information to provide for recipients.
            "emailAddresses": [ # Email addresses to send approval request to.
              "A String",
            ],
            "expiration": { # Expiration configs for the approval request. # Indicates the next steps when no external actions happen on the suspension.
              "expireTime": "A String", # Output only. Time after which the suspension expires, if no action taken.
              "liftWhenExpired": True or False, # Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.
              "remindTime": "A String", # Time after the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.
            },
          },
          "audit": { # Contains when and by whom the suspension was resolved. # Metadata pertaining to the resolution of this suspension.
            "resolveTime": "A String", # Time at which this suspension was resolved.
            "resolver": "A String", # Email address of the person who resolved this suspension.
          },
          "createTime": "A String", # Output only. Auto-generated.
          "eventExecutionInfoId": "A String", # Required. ID of the associated execution.
          "integration": "A String", # Required. The name of the originating integration.
          "lastModifyTime": "A String", # Output only. Auto-generated.
          "name": "A String", # Resource name for suspensions suspension/{suspension_id}
          "state": "A String", # Required. State of this suspension, indicating what action a resolver has taken.
          "suspensionConfig": { # Controls the notifications and resolver permissions for this suspension.
            "customMessage": "A String", # Optional information to provide recipients of the suspension in addition to the resolution URL, typically containing relevant parameter values from the originating workflow.
            "notifications": [
              {
                "buganizerNotification": {
                  "assigneeEmailAddress": "A String", # Whom to assign the new bug. Optional.
                  "componentId": "A String", # ID of the buganizer component within which to create a new issue. Required.
                  "templateId": "A String", # ID of the buganizer template to use. Optional.
                  "title": "A String", # Title of the issue to be created. Required.
                },
                "emailAddress": { # Email address along with optional name and tokens. These tokens will be substituted for the variables in the form of [{var_name}], where var_name could be any string of no more than 32 bytes.
                  "email": "A String", # Required.
                  "name": "A String",
                  "tokens": [
                    {
                      "name": "A String",
                      "value": "A String",
                    },
                  ],
                },
                "escalatorQueue": "A String",
                "pubsubTopic": "A String",
                "request": { # If the out-of-the-box email/pubsub notifications are not suitable and custom logic is required, fire a workflow containing all info needed to notify users to resume execution.
                  "postToQueueWithTriggerIdRequest": { # LINT.IfChange Use this request to post all workflows associated with a given trigger id. Next available id: 13 # Request to fire an event containing the SuspensionInfo message.
                    "clientId": "A String", # Optional. If the client id is provided, then the combination of trigger id and client id is matched across all the workflows. If the client id is not provided, then workflows with matching trigger id are executed for each client id in the {@link TriggerConfig}. For Api Trigger, the client id is required and will be validated against the allowed clients.
                    "ignoreErrorIfNoActiveWorkflow": True or False, # Optional. Flag to determine whether clients would suppress a warning when no ACTIVE workflows are not found. If this flag is set to be true, an error will not be thrown if the requested trigger_id or client_id is not found in any ACTIVE workflow. Otherwise, the error is always thrown. The flag is set to be false by default.
                    "parameters": { # LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see # Passed in as parameters to each workflow execution. Optional.
                      "parameters": [ # Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.
                        { # Key-value pair of EventBus parameters.
                          "key": "A String", # Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
                          "masked": True or False, # True if this parameter should be masked in the logs
                          "value": { # LINT.IfChange To support various types of parameter values. Next available id: 14 # Values for the defined keys. Each value can either be string, int, double or any proto message.
                            "booleanArray": {
                              "booleanValues": [
                                True or False,
                              ],
                            },
                            "booleanValue": True or False,
                            "doubleArray": {
                              "doubleValues": [
                                3.14,
                              ],
                            },
                            "doubleValue": 3.14,
                            "intArray": {
                              "intValues": [
                                "A String",
                              ],
                            },
                            "intValue": "A String",
                            "protoArray": {
                              "protoValues": [
                                {
                                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                                },
                              ],
                            },
                            "protoValue": {
                              "a_key": "", # Properties of the object. Contains field @type with type URL.
                            },
                            "serializedObjectValue": {
                              "objectValue": "A String",
                            },
                            "stringArray": {
                              "stringValues": [
                                "A String",
                              ],
                            },
                            "stringValue": "A String",
                          },
                        },
                      ],
                    },
                    "priority": "A String", # The request priority this request should be processed at. For internal users:
                    "quotaRetryCount": 42, # Optional. This is a field to see the quota retry count for integration execution
                    "requestId": "A String", # Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.
                    "resourceName": "A String", # This field is only required when using Admin Access. The resource name of target, or the parent resource name. For example: "projects/*/locations/*/integrations/*"
                    "scheduledTime": "A String", # Optional. Time in milliseconds since epoch when the given event would be scheduled.
                    "testMode": True or False, # Optional. Sets test mode in {@link enterprise/crm/eventbus/event_message.proto}.
                    "triggerId": "A String", # Matched against all {@link TriggerConfig}s across all workflows. i.e. TriggerConfig.trigger_id.equals(trigger_id) Required.
                    "userGeneratedExecutionId": "A String", # This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.
                    "workflowName": "A String", # Optional. If provided, the workflow_name is used to filter all the matched workflows having same trigger_id+client_id. A combination of trigger_id, client_id and workflow_name identifies a unique workflow.
                  },
                  "suspensionInfoEventParameterKey": "A String", # In the fired event, set the SuspensionInfo message as the value for this key.
                },
              },
            ],
            "suspensionExpiration": { # Indicates the next steps when no external actions happen on the suspension.
              "expireAfterMs": 42, # Milliseconds after which the suspension expires, if no action taken.
              "liftWhenExpired": True or False, # Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.
              "remindAfterMs": 42, # Milliseconds after which the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.
            },
            "whoMayResolve": [ # Identities able to resolve this suspension.
              { # LINT.IfChange
                "gaiaIdentity": { # Represents a Gaia identity for a person or service account.
                  "emailAddress": "A String",
                  "gaiaId": "A String",
                },
                "googleGroup": {
                  "emailAddress": "A String",
                  "gaiaId": "A String",
                },
                "loasRole": "A String",
                "mdbGroup": "A String",
              },
            ],
          },
          "taskId": "A String", # Required. Task id of the associated SuspensionTask.
        },
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`resolve(name, body=None, x__xgafv=None)`

    * Resolves (lifts/rejects) any number of suspensions. If the integration is already running, only the status of the suspension is updated. Otherwise, the suspended integration will begin execution again.

    Args:
      name: string, Required. projects/{gcp_project_id}/locations/{location}/products/{product}/integrations/{integration_name}/executions/{execution_name}/suspensions/{suspension_id} (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for [Suspensions.ResolveSuspensions].
      "suspension": { # A record representing a suspension. # Suspension, containing the event_execution_info_id, task_id, and state to set on the corresponding suspension record.
        "approvalConfig": { # Configurations for approving the Suspension. # Controls the notifications and approval permissions for this suspension.
          "customMessage": "A String", # Information to provide for recipients.
          "emailAddresses": [ # Email addresses to send approval request to.
            "A String",
          ],
          "expiration": { # Expiration configs for the approval request. # Indicates the next steps when no external actions happen on the suspension.
            "expireTime": "A String", # Output only. Time after which the suspension expires, if no action taken.
            "liftWhenExpired": True or False, # Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.
            "remindTime": "A String", # Time after the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.
          },
        },
        "audit": { # Contains when and by whom the suspension was resolved. # Metadata pertaining to the resolution of this suspension.
          "resolveTime": "A String", # Time at which this suspension was resolved.
          "resolver": "A String", # Email address of the person who resolved this suspension.
        },
        "createTime": "A String", # Output only. Auto-generated.
        "eventExecutionInfoId": "A String", # Required. ID of the associated execution.
        "integration": "A String", # Required. The name of the originating integration.
        "lastModifyTime": "A String", # Output only. Auto-generated.
        "name": "A String", # Resource name for suspensions suspension/{suspension_id}
        "state": "A String", # Required. State of this suspension, indicating what action a resolver has taken.
        "suspensionConfig": { # Controls the notifications and resolver permissions for this suspension.
          "customMessage": "A String", # Optional information to provide recipients of the suspension in addition to the resolution URL, typically containing relevant parameter values from the originating workflow.
          "notifications": [
            {
              "buganizerNotification": {
                "assigneeEmailAddress": "A String", # Whom to assign the new bug. Optional.
                "componentId": "A String", # ID of the buganizer component within which to create a new issue. Required.
                "templateId": "A String", # ID of the buganizer template to use. Optional.
                "title": "A String", # Title of the issue to be created. Required.
              },
              "emailAddress": { # Email address along with optional name and tokens. These tokens will be substituted for the variables in the form of [{var_name}], where var_name could be any string of no more than 32 bytes.
                "email": "A String", # Required.
                "name": "A String",
                "tokens": [
                  {
                    "name": "A String",
                    "value": "A String",
                  },
                ],
              },
              "escalatorQueue": "A String",
              "pubsubTopic": "A String",
              "request": { # If the out-of-the-box email/pubsub notifications are not suitable and custom logic is required, fire a workflow containing all info needed to notify users to resume execution.
                "postToQueueWithTriggerIdRequest": { # LINT.IfChange Use this request to post all workflows associated with a given trigger id. Next available id: 13 # Request to fire an event containing the SuspensionInfo message.
                  "clientId": "A String", # Optional. If the client id is provided, then the combination of trigger id and client id is matched across all the workflows. If the client id is not provided, then workflows with matching trigger id are executed for each client id in the {@link TriggerConfig}. For Api Trigger, the client id is required and will be validated against the allowed clients.
                  "ignoreErrorIfNoActiveWorkflow": True or False, # Optional. Flag to determine whether clients would suppress a warning when no ACTIVE workflows are not found. If this flag is set to be true, an error will not be thrown if the requested trigger_id or client_id is not found in any ACTIVE workflow. Otherwise, the error is always thrown. The flag is set to be false by default.
                  "parameters": { # LINT.IfChange This message is used for processing and persisting (when applicable) key value pair parameters for each event in the event bus. Please see # Passed in as parameters to each workflow execution. Optional.
                    "parameters": [ # Parameters are a part of Event and can be used to communicate between different tasks that are part of the same integration execution.
                      { # Key-value pair of EventBus parameters.
                        "key": "A String", # Key is used to retrieve the corresponding parameter value. This should be unique for a given fired event. These parameters must be predefined in the integration definition.
                        "masked": True or False, # True if this parameter should be masked in the logs
                        "value": { # LINT.IfChange To support various types of parameter values. Next available id: 14 # Values for the defined keys. Each value can either be string, int, double or any proto message.
                          "booleanArray": {
                            "booleanValues": [
                              True or False,
                            ],
                          },
                          "booleanValue": True or False,
                          "doubleArray": {
                            "doubleValues": [
                              3.14,
                            ],
                          },
                          "doubleValue": 3.14,
                          "intArray": {
                            "intValues": [
                              "A String",
                            ],
                          },
                          "intValue": "A String",
                          "protoArray": {
                            "protoValues": [
                              {
                                "a_key": "", # Properties of the object. Contains field @type with type URL.
                              },
                            ],
                          },
                          "protoValue": {
                            "a_key": "", # Properties of the object. Contains field @type with type URL.
                          },
                          "serializedObjectValue": {
                            "objectValue": "A String",
                          },
                          "stringArray": {
                            "stringValues": [
                              "A String",
                            ],
                          },
                          "stringValue": "A String",
                        },
                      },
                    ],
                  },
                  "priority": "A String", # The request priority this request should be processed at. For internal users:
                  "quotaRetryCount": 42, # Optional. This is a field to see the quota retry count for integration execution
                  "requestId": "A String", # Optional. This is used to de-dup incoming request: if the duplicate request was detected, the response from the previous execution is returned. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.
                  "resourceName": "A String", # This field is only required when using Admin Access. The resource name of target, or the parent resource name. For example: "projects/*/locations/*/integrations/*"
                  "scheduledTime": "A String", # Optional. Time in milliseconds since epoch when the given event would be scheduled.
                  "testMode": True or False, # Optional. Sets test mode in {@link enterprise/crm/eventbus/event_message.proto}.
                  "triggerId": "A String", # Matched against all {@link TriggerConfig}s across all workflows. i.e. TriggerConfig.trigger_id.equals(trigger_id) Required.
                  "userGeneratedExecutionId": "A String", # This is a unique id provided by the method caller. If provided this will be used as the execution_id when a new execution info is created. This is a string representation of a UUID. Must have no more than 36 characters and contain only alphanumeric characters and hyphens.
                  "workflowName": "A String", # Optional. If provided, the workflow_name is used to filter all the matched workflows having same trigger_id+client_id. A combination of trigger_id, client_id and workflow_name identifies a unique workflow.
                },
                "suspensionInfoEventParameterKey": "A String", # In the fired event, set the SuspensionInfo message as the value for this key.
              },
            },
          ],
          "suspensionExpiration": { # Indicates the next steps when no external actions happen on the suspension.
            "expireAfterMs": 42, # Milliseconds after which the suspension expires, if no action taken.
            "liftWhenExpired": True or False, # Whether the suspension will be REJECTED or LIFTED upon expiration. REJECTED is the default behavior.
            "remindAfterMs": 42, # Milliseconds after which the previous suspension action reminder, if any, is sent using the selected notification option, for a suspension which is still PENDING_UNSPECIFIED.
          },
          "whoMayResolve": [ # Identities able to resolve this suspension.
            { # LINT.IfChange
              "gaiaIdentity": { # Represents a Gaia identity for a person or service account.
                "emailAddress": "A String",
                "gaiaId": "A String",
              },
              "googleGroup": {
                "emailAddress": "A String",
                "gaiaId": "A String",
              },
              "loasRole": "A String",
              "mdbGroup": "A String",
            },
          ],
        },
        "taskId": "A String", # Required. Task id of the associated SuspensionTask.
      },
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response for Suspensions.ResolveSuspensions.
    }