# Dialogflow API . projects . locations . agents . environments

## Instance Methods

Returns the continuousTestResults Resource.

Returns the deployments Resource.

Returns the experiments Resource.

Returns the sessions Resource.

Close httplib2 connections.

Creates an Environment in the specified Agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment

Deletes the specified Environment.

Deploys a flow to the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployFlowMetadata - `response`: DeployFlowResponse

Retrieves the specified Environment.

Returns the list of all environments in the specified Agent.

Retrieves the next page of results.

Looks up the history of the specified Environment.

Retrieves the next page of results.

Updates the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment

Kicks off a continuous test under the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunContinuousTestMetadata - `response`: RunContinuousTestResponse

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, x__xgafv=None)`

    Creates an Environment in the specified Agent. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment

    Args:
      parent: string, Required. The Agent to create an Environment for. Format: `projects//locations//agents/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
      "description": "A String", # The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
      "displayName": "A String", # Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.
      "name": "A String", # The name of the environment. Format: `projects//locations//agents//environments/`.
      "testCasesConfig": { # The configuration for continuous tests. # The test cases config for continuous tests of this environment.
        "enableContinuousRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.
        "enablePredeploymentRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.
        "testCases": [ # A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`
          "A String",
        ],
      },
      "updateTime": "A String", # Output only. Update time of this environment.
      "versionConfigs": [ # A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.
        { # Configuration for the version.
          "version": "A String", # Required. Flow, playbook and tool versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/. Format for tool version: projects//locations//agents//tools//versions/.
        },
      ],
      "webhookConfig": { # Configuration for webhooks. # The webhook configuration for this environment.
        "webhookOverrides": [ # The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.
          { # Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.
            "disabled": True or False, # Indicates whether the webhook is disabled.
            "displayName": "A String", # Required. The human-readable name of the webhook, unique within the agent.
            "genericWebService": { # Represents configuration for a generic web service. # Configuration for a generic web service.
              "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                "A String",
              ],
              "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
              "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                "scopes": [ # Optional. The OAuth scopes to grant.
                  "A String",
                ],
                "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
              },
              "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                "a_key": "A String",
              },
              "password": "A String", # The password for HTTP Basic authentication.
              "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
              "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                "a_key": "A String",
              },
              "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
              "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                  "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                },
              },
              "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
              },
              "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
              "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
              "username": "A String", # The user name for HTTP Basic authentication.
              "webhookType": "A String", # Optional. Type of the webhook.
            },
            "name": "A String", # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
            "serviceDirectory": { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
              "genericWebService": { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
                "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                  "A String",
                ],
                "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                  "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                  "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                  "scopes": [ # Optional. The OAuth scopes to grant.
                    "A String",
                  ],
                  "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                },
                "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                  "a_key": "A String",
                },
                "password": "A String", # The password for HTTP Basic authentication.
                "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                  "a_key": "A String",
                },
                "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                  "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                    "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  },
                },
                "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                  "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                },
                "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                "username": "A String", # The user name for HTTP Basic authentication.
                "webhookType": "A String", # Optional. Type of the webhook.
              },
              "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
            },
            "timeout": "A String", # Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
          },
        ],
      },
    }

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

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`delete(name, x__xgafv=None)`

    Deletes the specified Environment.

    Args:
      name: string, Required. The name of the Environment to delete. Format: `projects//locations//agents//environments/`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
    }

`deployFlow(environment, body=None, x__xgafv=None)`

    Deploys a flow to the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: DeployFlowMetadata - `response`: DeployFlowResponse

    Args:
      environment: string, Required. The environment to deploy the flow to. Format: `projects//locations//agents//environments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request message for Environments.DeployFlow.
      "flowVersion": "A String", # Required. The flow version to deploy. Format: `projects//locations//agents//flows//versions/`.
    }

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

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    Retrieves the specified Environment.

    Args:
      name: string, Required. The name of the Environment. Format: `projects//locations//agents//environments/`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
      "description": "A String", # The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
      "displayName": "A String", # Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.
      "name": "A String", # The name of the environment. Format: `projects//locations//agents//environments/`.
      "testCasesConfig": { # The configuration for continuous tests. # The test cases config for continuous tests of this environment.
        "enableContinuousRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.
        "enablePredeploymentRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.
        "testCases": [ # A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`
          "A String",
        ],
      },
      "updateTime": "A String", # Output only. Update time of this environment.
      "versionConfigs": [ # A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.
        { # Configuration for the version.
          "version": "A String", # Required. Flow, playbook and tool versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/. Format for tool version: projects//locations//agents//tools//versions/.
        },
      ],
      "webhookConfig": { # Configuration for webhooks. # The webhook configuration for this environment.
        "webhookOverrides": [ # The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.
          { # Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.
            "disabled": True or False, # Indicates whether the webhook is disabled.
            "displayName": "A String", # Required. The human-readable name of the webhook, unique within the agent.
            "genericWebService": { # Represents configuration for a generic web service. # Configuration for a generic web service.
              "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                "A String",
              ],
              "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
              "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                "scopes": [ # Optional. The OAuth scopes to grant.
                  "A String",
                ],
                "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
              },
              "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                "a_key": "A String",
              },
              "password": "A String", # The password for HTTP Basic authentication.
              "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
              "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                "a_key": "A String",
              },
              "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
              "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                  "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                },
              },
              "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
              },
              "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
              "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
              "username": "A String", # The user name for HTTP Basic authentication.
              "webhookType": "A String", # Optional. Type of the webhook.
            },
            "name": "A String", # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
            "serviceDirectory": { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
              "genericWebService": { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
                "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                  "A String",
                ],
                "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                  "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                  "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                  "scopes": [ # Optional. The OAuth scopes to grant.
                    "A String",
                  ],
                  "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                },
                "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                  "a_key": "A String",
                },
                "password": "A String", # The password for HTTP Basic authentication.
                "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                  "a_key": "A String",
                },
                "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                  "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                    "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  },
                },
                "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                  "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                },
                "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                "username": "A String", # The user name for HTTP Basic authentication.
                "webhookType": "A String", # Optional. Type of the webhook.
              },
              "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
            },
            "timeout": "A String", # Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
          },
        ],
      },
    }

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

    Returns the list of all environments in the specified Agent.

    Args:
      parent: string, Required. The Agent to list all environments for. Format: `projects//locations//agents/`. (required)
      pageSize: integer, The maximum number of items to return in a single page. By default 20 and at most 100.
      pageToken: string, The next_page_token value returned from a previous list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for Environments.ListEnvironments.
      "environments": [ # The list of environments. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.
        { # Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
          "description": "A String", # The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
          "displayName": "A String", # Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.
          "name": "A String", # The name of the environment. Format: `projects//locations//agents//environments/`.
          "testCasesConfig": { # The configuration for continuous tests. # The test cases config for continuous tests of this environment.
            "enableContinuousRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.
            "enablePredeploymentRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.
            "testCases": [ # A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`
              "A String",
            ],
          },
          "updateTime": "A String", # Output only. Update time of this environment.
          "versionConfigs": [ # A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.
            { # Configuration for the version.
              "version": "A String", # Required. Flow, playbook and tool versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/. Format for tool version: projects//locations//agents//tools//versions/.
            },
          ],
          "webhookConfig": { # Configuration for webhooks. # The webhook configuration for this environment.
            "webhookOverrides": [ # The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.
              { # Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.
                "disabled": True or False, # Indicates whether the webhook is disabled.
                "displayName": "A String", # Required. The human-readable name of the webhook, unique within the agent.
                "genericWebService": { # Represents configuration for a generic web service. # Configuration for a generic web service.
                  "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                    "A String",
                  ],
                  "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                  "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                    "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                    "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                    "scopes": [ # Optional. The OAuth scopes to grant.
                      "A String",
                    ],
                    "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                  },
                  "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                    "a_key": "A String",
                  },
                  "password": "A String", # The password for HTTP Basic authentication.
                  "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                  "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                    "a_key": "A String",
                  },
                  "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                    "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                      "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    },
                  },
                  "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                    "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                  },
                  "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                  "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                  "username": "A String", # The user name for HTTP Basic authentication.
                  "webhookType": "A String", # Optional. Type of the webhook.
                },
                "name": "A String", # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
                "serviceDirectory": { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
                  "genericWebService": { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
                    "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                      "A String",
                    ],
                    "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                    "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                      "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                      "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                      "scopes": [ # Optional. The OAuth scopes to grant.
                        "A String",
                      ],
                      "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                      "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                    },
                    "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                      "a_key": "A String",
                    },
                    "password": "A String", # The password for HTTP Basic authentication.
                    "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                    "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                      "a_key": "A String",
                    },
                    "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                      "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                        "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                      },
                    },
                    "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                      "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                    },
                    "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                    "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                    "username": "A String", # The user name for HTTP Basic authentication.
                    "webhookType": "A String", # Optional. Type of the webhook.
                  },
                  "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
                },
                "timeout": "A String", # Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
              },
            ],
          },
        },
      ],
      "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
    }

`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.

`lookupEnvironmentHistory(name, pageSize=None, pageToken=None, x__xgafv=None)`

    Looks up the history of the specified Environment.

    Args:
      name: string, Required. Resource name of the environment to look up the history for. Format: `projects//locations//agents//environments/`. (required)
      pageSize: integer, The maximum number of items to return in a single page. By default 100 and at most 1000.
      pageToken: string, The next_page_token value returned from a previous list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for Environments.LookupEnvironmentHistory.
      "environments": [ # Represents a list of snapshots for an environment. Time of the snapshots is stored in `update_time`.
        { # Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
          "description": "A String", # The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
          "displayName": "A String", # Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.
          "name": "A String", # The name of the environment. Format: `projects//locations//agents//environments/`.
          "testCasesConfig": { # The configuration for continuous tests. # The test cases config for continuous tests of this environment.
            "enableContinuousRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.
            "enablePredeploymentRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.
            "testCases": [ # A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`
              "A String",
            ],
          },
          "updateTime": "A String", # Output only. Update time of this environment.
          "versionConfigs": [ # A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.
            { # Configuration for the version.
              "version": "A String", # Required. Flow, playbook and tool versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/. Format for tool version: projects//locations//agents//tools//versions/.
            },
          ],
          "webhookConfig": { # Configuration for webhooks. # The webhook configuration for this environment.
            "webhookOverrides": [ # The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.
              { # Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.
                "disabled": True or False, # Indicates whether the webhook is disabled.
                "displayName": "A String", # Required. The human-readable name of the webhook, unique within the agent.
                "genericWebService": { # Represents configuration for a generic web service. # Configuration for a generic web service.
                  "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                    "A String",
                  ],
                  "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                  "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                    "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                    "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                    "scopes": [ # Optional. The OAuth scopes to grant.
                      "A String",
                    ],
                    "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                  },
                  "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                    "a_key": "A String",
                  },
                  "password": "A String", # The password for HTTP Basic authentication.
                  "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                  "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                    "a_key": "A String",
                  },
                  "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                    "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                      "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    },
                  },
                  "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                    "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                  },
                  "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                  "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                  "username": "A String", # The user name for HTTP Basic authentication.
                  "webhookType": "A String", # Optional. Type of the webhook.
                },
                "name": "A String", # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
                "serviceDirectory": { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
                  "genericWebService": { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
                    "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                      "A String",
                    ],
                    "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                    "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                      "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                      "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                      "scopes": [ # Optional. The OAuth scopes to grant.
                        "A String",
                      ],
                      "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                      "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                    },
                    "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                      "a_key": "A String",
                    },
                    "password": "A String", # The password for HTTP Basic authentication.
                    "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                    "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                      "a_key": "A String",
                    },
                    "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                    "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                      "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                        "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                      },
                    },
                    "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                      "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                    },
                    "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                    "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                    "username": "A String", # The user name for HTTP Basic authentication.
                    "webhookType": "A String", # Optional. Type of the webhook.
                  },
                  "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
                },
                "timeout": "A String", # Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
              },
            ],
          },
        },
      ],
      "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
    }

`lookupEnvironmentHistory_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.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: An empty [Struct message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) - `response`: Environment

    Args:
      name: string, The name of the environment. Format: `projects//locations//agents//environments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents an environment for an agent. You can create multiple versions of your agent and publish them to separate environments. When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent. When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for testing, development, production, etc.
      "description": "A String", # The human-readable description of the environment. The maximum length is 500 characters. If exceeded, the request is rejected.
      "displayName": "A String", # Required. The human-readable name of the environment (unique in an agent). Limit of 64 characters.
      "name": "A String", # The name of the environment. Format: `projects//locations//agents//environments/`.
      "testCasesConfig": { # The configuration for continuous tests. # The test cases config for continuous tests of this environment.
        "enableContinuousRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases periodically. Default false. If set to true, run once a day.
        "enablePredeploymentRun": True or False, # Whether to run test cases in TestCasesConfig.test_cases before deploying a flow version to the environment. Default false.
        "testCases": [ # A list of test case names to run. They should be under the same agent. Format of each test case name: `projects//locations//agents//testCases/`
          "A String",
        ],
      },
      "updateTime": "A String", # Output only. Update time of this environment.
      "versionConfigs": [ # A list of configurations for flow versions. You should include version configs for all flows that are reachable from `Start Flow` in the agent. Otherwise, an error will be returned.
        { # Configuration for the version.
          "version": "A String", # Required. Flow, playbook and tool versions are supported. Format for flow version: projects//locations//agents//flows//versions/. Format for playbook version: projects//locations//agents//playbooks//versions/. Format for tool version: projects//locations//agents//tools//versions/.
        },
      ],
      "webhookConfig": { # Configuration for webhooks. # The webhook configuration for this environment.
        "webhookOverrides": [ # The list of webhooks to override for the agent environment. The webhook must exist in the agent. You can override fields in `generic_web_service` and `service_directory`.
          { # Webhooks host the developer's business logic. During a session, webhooks allow the developer to use the data extracted by Dialogflow's natural language processing to generate dynamic responses, validate collected data, or trigger actions on the backend.
            "disabled": True or False, # Indicates whether the webhook is disabled.
            "displayName": "A String", # Required. The human-readable name of the webhook, unique within the agent.
            "genericWebService": { # Represents configuration for a generic web service. # Configuration for a generic web service.
              "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                "A String",
              ],
              "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
              "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                "scopes": [ # Optional. The OAuth scopes to grant.
                  "A String",
                ],
                "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
              },
              "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                "a_key": "A String",
              },
              "password": "A String", # The password for HTTP Basic authentication.
              "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
              "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                "a_key": "A String",
              },
              "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
              "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                  "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                },
              },
              "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
              },
              "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
              "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
              "username": "A String", # The user name for HTTP Basic authentication.
              "webhookType": "A String", # Optional. Type of the webhook.
            },
            "name": "A String", # The unique identifier of the webhook. Required for the Webhooks.UpdateWebhook method. Webhooks.CreateWebhook populates the name automatically. Format: `projects//locations//agents//webhooks/`.
            "serviceDirectory": { # Represents configuration for a [Service Directory](https://cloud.google.com/service-directory) service. # Configuration for a [Service Directory](https://cloud.google.com/service-directory) service.
              "genericWebService": { # Represents configuration for a generic web service. # Generic Service configuration of this webhook.
                "allowedCaCerts": [ # Optional. Specifies a list of allowed custom CA certificates (in DER format) for HTTPS verification. This overrides the default SSL trust store. If this is empty or unspecified, Dialogflow will use Google's default trust store to verify certificates. N.B. Make sure the HTTPS server certificates are signed with "subject alt name". For instance a certificate can be self-signed using the following command, ``` openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") ```
                  "A String",
                ],
                "httpMethod": "A String", # Optional. HTTP method for the flexible webhook calls. Standard webhook always uses POST.
                "oauthConfig": { # Represents configuration of OAuth client credential flow for 3rd party API authentication. # Optional. The OAuth configuration of the webhook. If specified, Dialogflow will initiate the OAuth client credential flow to exchange an access token from the 3rd party platform and put it in the auth header.
                  "clientId": "A String", # Required. The client ID provided by the 3rd party platform.
                  "clientSecret": "A String", # Optional. The client secret provided by the 3rd party platform.
                  "scopes": [ # Optional. The OAuth scopes to grant.
                    "A String",
                  ],
                  "secretVersionForClientSecret": "A String", # Optional. The name of the SecretManager secret version resource storing the client secret. If this field is set, the `client_secret` field will be ignored. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  "tokenEndpoint": "A String", # Required. The token endpoint provided by the 3rd party platform to exchange an access token.
                },
                "parameterMapping": { # Optional. Maps the values extracted from specific fields of the flexible webhook response into session parameters. - Key: session parameter name - Value: field path in the webhook response
                  "a_key": "A String",
                },
                "password": "A String", # The password for HTTP Basic authentication.
                "requestBody": "A String", # Optional. Defines a custom JSON object as request body to send to flexible webhook.
                "requestHeaders": { # The HTTP request headers to send together with webhook requests.
                  "a_key": "A String",
                },
                "secretVersionForUsernamePassword": "A String", # Optional. The SecretManager secret version resource storing the username:password pair for HTTP Basic authentication. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                "secretVersionsForRequestHeaders": { # Optional. The HTTP request headers to send together with webhook requests. Header values are stored in SecretManager secret versions. When the same header name is specified in both `request_headers` and `secret_versions_for_request_headers`, the value in `secret_versions_for_request_headers` will be used.
                  "a_key": { # Represents the value of an HTTP header stored in a SecretManager secret version.
                    "secretVersion": "A String", # Required. The SecretManager secret version resource storing the header value. Format: `projects/{project}/secrets/{secret}/versions/{version}`
                  },
                },
                "serviceAccountAuthConfig": { # Configuration for authentication using a service account. # Optional. Configuration for service account authentication.
                  "serviceAccount": "A String", # Required. The email address of the service account used to authenticate the webhook call. Dialogflow uses this service account to exchange an access token and the access token is then sent in the `Authorization` header of the webhook request. The service account must have the `roles/iam.serviceAccountTokenCreator` role granted to the [Dialogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent).
                },
                "serviceAgentAuth": "A String", # Optional. Indicate the auth token type generated from the [Diglogflow service agent](https://cloud.google.com/iam/docs/service-agents#dialogflow-service-agent). The generated token is sent in the Authorization header.
                "uri": "A String", # Required. The webhook URI for receiving POST requests. It must use https protocol.
                "username": "A String", # The user name for HTTP Basic authentication.
                "webhookType": "A String", # Optional. Type of the webhook.
              },
              "service": "A String", # Required. The name of [Service Directory](https://cloud.google.com/service-directory) service. Format: `projects//locations//namespaces//services/`. `Location ID` of the service directory must be the same as the location of the agent.
            },
            "timeout": "A String", # Webhook execution timeout. Execution is considered failed if Dialogflow doesn't receive a response from webhook at the end of the timeout period. Defaults to 5 seconds, maximum allowed timeout is 30 seconds.
          },
        ],
      },
    }

      updateMask: string, Required. The mask to control which fields get updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`runContinuousTest(environment, body=None, x__xgafv=None)`

    Kicks off a continuous test under the specified Environment. This method is a [long-running operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). The returned `Operation` type has the following method-specific fields: - `metadata`: RunContinuousTestMetadata - `response`: RunContinuousTestResponse

    Args:
      environment: string, Required. Format: `projects//locations//agents//environments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request message for Environments.RunContinuousTest.
    }

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

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }