Network Services API . projects . locations . extensionBindings

Instance Methods

close()

Close httplib2 connections.

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

Creates a new `ExtensionBinding` resource in a given project and location.

delete(name, etag=None, x__xgafv=None)

Deletes the specified `ExtensionBinding` resource.

get(name, x__xgafv=None)

Gets details of the specified `ExtensionBinding` resource.

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

Lists `ExtensionBinding` resources in a given project and location.

list_next()

Retrieves the next page of results.

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

Updates the parameters of the specified `ExtensionBinding` resource.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, extensionBindingId=None, x__xgafv=None)
Creates a new `ExtensionBinding` resource in a given project and location.

Args:
  parent: string, Required. The parent resource of the `ExtensionBinding` resource. Must be in the format `projects/{project}/locations/{location}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # `ExtensionBinding` is a resource representing the attachment of an extension to a service.
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "description": "A String", # Optional. A human-readable description of the resource.
  "etag": "A String", # Optional. Etag of the resource. If provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
  "failOpen": True or False, # Optional. Determines the behavior of the extension binding when the call to the extension fails or times out. Default value is `FALSE`. When set to `TRUE`, failures of the extension are silently ignored.
  "labels": { # Optional. Set of labels associated with the `ExtensionBinding` resource. The format must comply with [the following requirements](https://cloud.google.com/compute/docs/labeling-resources#requirements).
    "a_key": "A String",
  },
  "matchConditions": [ # Optional. A list of match conditions to match against the incoming request. The extension will be invoked if at least one condition matches the request, or if no match conditions are specified. Limited to 5 conditions.
    { # Conditions to match against the incoming request.
      "to": { # Describes properties of one or more destinations of a request. # Optional. Describes properties of a destination of a request. If specified, the extension will only be invoked on requests to destinations that match the specified criteria.
        "destination": { # Describes properties of a single destination. # Optional. Describes properties of destination of a request. Within a destination, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
        "notDestination": { # Describes properties of a single destination. # Optional. Describes the negated properties of the request destination. Extension will not be invoked on requests that match the criteria specified in this field. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
      },
    },
  ],
  "name": "A String", # Identifier. Name of the `ExtensionBinding` resource in the following format: `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`.
  "priority": 42, # Optional. Priority of the extension binding. Lower numbers indicate higher priority. Priority of extension bindings are used to determine the order in which extension bindings are applied to a request.
  "producerExtension": "A String", # Required. The name of the extension that this binding should attach to target resources. Format: For Google-provided extensions, specify the service endpoint (see [Model Armor integration](https://docs.cloud.google.com/model-armor/integrations))
  "producerMetadata": { # Optional. Additional metadata that should be passed to the attached extension with each request.
    "a_key": "A String",
  },
  "target": { # Specifies a list of targets to which this `ExtensionBinding` should attach. # Required. Specifies a target to which this `ExtensionBinding` should be attached. The target can be either a single resource or a scope of resources.
    "resources": [ # Optional. The reference to the target resource, to which this binding should attach. Exactly one of `resources` or `scope` must be set. For Agent Gateway, this would be the full resource name, in the format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`. For AI App, this would be the full resource name, in the format: `projects/{project}/locations/{location}/applications/{application}`.
      "A String",
    ],
    "scope": { # Specifies the scope of resources to which this binding should attach. # Optional. Specifies the scope of resources to which this binding should attach. Exactly one of `resources` or `scope` must be set.
      "parent": "A String", # Required. Parent resource name specification, in the format: `projects/{project_number}`.
      "resourceTypes": [ # Required. Type of the resource to which the binding should attach. Limited to 1 resource type.
        "A String",
      ],
    },
  },
  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
}

  extensionBindingId: string, Required. Short name of the `ExtensionBinding` resource to be created.
  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, etag=None, x__xgafv=None)
Deletes the specified `ExtensionBinding` resource.

Args:
  name: string, Required. A name of the `ExtensionBinding` resource to delete. Must be in the format `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`. (required)
  etag: string, Optional. The etag of the ExtensionBinding to delete.
  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)
Gets details of the specified `ExtensionBinding` resource.

Args:
  name: string, Required. A name of the `ExtensionBinding` resource to get. Must be in the format `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # `ExtensionBinding` is a resource representing the attachment of an extension to a service.
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "description": "A String", # Optional. A human-readable description of the resource.
  "etag": "A String", # Optional. Etag of the resource. If provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
  "failOpen": True or False, # Optional. Determines the behavior of the extension binding when the call to the extension fails or times out. Default value is `FALSE`. When set to `TRUE`, failures of the extension are silently ignored.
  "labels": { # Optional. Set of labels associated with the `ExtensionBinding` resource. The format must comply with [the following requirements](https://cloud.google.com/compute/docs/labeling-resources#requirements).
    "a_key": "A String",
  },
  "matchConditions": [ # Optional. A list of match conditions to match against the incoming request. The extension will be invoked if at least one condition matches the request, or if no match conditions are specified. Limited to 5 conditions.
    { # Conditions to match against the incoming request.
      "to": { # Describes properties of one or more destinations of a request. # Optional. Describes properties of a destination of a request. If specified, the extension will only be invoked on requests to destinations that match the specified criteria.
        "destination": { # Describes properties of a single destination. # Optional. Describes properties of destination of a request. Within a destination, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
        "notDestination": { # Describes properties of a single destination. # Optional. Describes the negated properties of the request destination. Extension will not be invoked on requests that match the criteria specified in this field. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
      },
    },
  ],
  "name": "A String", # Identifier. Name of the `ExtensionBinding` resource in the following format: `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`.
  "priority": 42, # Optional. Priority of the extension binding. Lower numbers indicate higher priority. Priority of extension bindings are used to determine the order in which extension bindings are applied to a request.
  "producerExtension": "A String", # Required. The name of the extension that this binding should attach to target resources. Format: For Google-provided extensions, specify the service endpoint (see [Model Armor integration](https://docs.cloud.google.com/model-armor/integrations))
  "producerMetadata": { # Optional. Additional metadata that should be passed to the attached extension with each request.
    "a_key": "A String",
  },
  "target": { # Specifies a list of targets to which this `ExtensionBinding` should attach. # Required. Specifies a target to which this `ExtensionBinding` should be attached. The target can be either a single resource or a scope of resources.
    "resources": [ # Optional. The reference to the target resource, to which this binding should attach. Exactly one of `resources` or `scope` must be set. For Agent Gateway, this would be the full resource name, in the format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`. For AI App, this would be the full resource name, in the format: `projects/{project}/locations/{location}/applications/{application}`.
      "A String",
    ],
    "scope": { # Specifies the scope of resources to which this binding should attach. # Optional. Specifies the scope of resources to which this binding should attach. Exactly one of `resources` or `scope` must be set.
      "parent": "A String", # Required. Parent resource name specification, in the format: `projects/{project_number}`.
      "resourceTypes": [ # Required. Type of the resource to which the binding should attach. Limited to 1 resource type.
        "A String",
      ],
    },
  },
  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
}
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
Lists `ExtensionBinding` resources in a given project and location.

Args:
  parent: string, Required. The project and location from which the `ExtensionBinding` resources should be listed, specified in the format `projects/{project}/locations/{location}`. (required)
  pageSize: integer, Optional. Maximum number of `ExtensionBinding` resources to return per call.
  pageToken: string, Optional. The value returned by the last `ListExtensionBindingsResponse` Indicates that this is a continuation of a prior `ListExtensionBindings` call, and that the system should return the next page of data.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response returned by the `ListExtensionBindings` method.
  "extensionBindings": [ # List of `ExtensionBinding` resources.
    { # `ExtensionBinding` is a resource representing the attachment of an extension to a service.
      "createTime": "A String", # Output only. The timestamp when the resource was created.
      "description": "A String", # Optional. A human-readable description of the resource.
      "etag": "A String", # Optional. Etag of the resource. If provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
      "failOpen": True or False, # Optional. Determines the behavior of the extension binding when the call to the extension fails or times out. Default value is `FALSE`. When set to `TRUE`, failures of the extension are silently ignored.
      "labels": { # Optional. Set of labels associated with the `ExtensionBinding` resource. The format must comply with [the following requirements](https://cloud.google.com/compute/docs/labeling-resources#requirements).
        "a_key": "A String",
      },
      "matchConditions": [ # Optional. A list of match conditions to match against the incoming request. The extension will be invoked if at least one condition matches the request, or if no match conditions are specified. Limited to 5 conditions.
        { # Conditions to match against the incoming request.
          "to": { # Describes properties of one or more destinations of a request. # Optional. Describes properties of a destination of a request. If specified, the extension will only be invoked on requests to destinations that match the specified criteria.
            "destination": { # Describes properties of a single destination. # Optional. Describes properties of destination of a request. Within a destination, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. At least one of destination or not_destination must be specified.
              "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
                "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
                  { # Determines how an HTTP header should be matched.
                    "name": "A String", # Required. Specifies the name of the header in the request.
                    "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                      "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                      "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                      "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                      "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                      "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                    },
                  },
                ],
              },
              "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
              "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
              "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
            },
            "notDestination": { # Describes properties of a single destination. # Optional. Describes the negated properties of the request destination. Extension will not be invoked on requests that match the criteria specified in this field. At least one of destination or not_destination must be specified.
              "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
                "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
                  { # Determines how an HTTP header should be matched.
                    "name": "A String", # Required. Specifies the name of the header in the request.
                    "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                      "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                      "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                      "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                      "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                      "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                    },
                  },
                ],
              },
              "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
              "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
              "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
                { # Specifies matching logic for string values.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              ],
            },
          },
        },
      ],
      "name": "A String", # Identifier. Name of the `ExtensionBinding` resource in the following format: `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`.
      "priority": 42, # Optional. Priority of the extension binding. Lower numbers indicate higher priority. Priority of extension bindings are used to determine the order in which extension bindings are applied to a request.
      "producerExtension": "A String", # Required. The name of the extension that this binding should attach to target resources. Format: For Google-provided extensions, specify the service endpoint (see [Model Armor integration](https://docs.cloud.google.com/model-armor/integrations))
      "producerMetadata": { # Optional. Additional metadata that should be passed to the attached extension with each request.
        "a_key": "A String",
      },
      "target": { # Specifies a list of targets to which this `ExtensionBinding` should attach. # Required. Specifies a target to which this `ExtensionBinding` should be attached. The target can be either a single resource or a scope of resources.
        "resources": [ # Optional. The reference to the target resource, to which this binding should attach. Exactly one of `resources` or `scope` must be set. For Agent Gateway, this would be the full resource name, in the format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`. For AI App, this would be the full resource name, in the format: `projects/{project}/locations/{location}/applications/{application}`.
          "A String",
        ],
        "scope": { # Specifies the scope of resources to which this binding should attach. # Optional. Specifies the scope of resources to which this binding should attach. Exactly one of `resources` or `scope` must be set.
          "parent": "A String", # Required. Parent resource name specification, in the format: `projects/{project_number}`.
          "resourceTypes": [ # Required. Type of the resource to which the binding should attach. Limited to 1 resource type.
            "A String",
          ],
        },
      },
      "updateTime": "A String", # Output only. The timestamp when the resource was updated.
    },
  ],
  "nextPageToken": "A String", # If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.
  "unreachable": [ # Unordered list. Unreachable resources. Populated when the request attempts to list all resources across all supported locations, while some locations are temporarily unavailable. The resource names are in the format `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`.
    "A String",
  ],
}
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.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the parameters of the specified `ExtensionBinding` resource.

Args:
  name: string, Identifier. Name of the `ExtensionBinding` resource in the following format: `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`. (required)
  body: object, The request body.
    The object takes the form of:

{ # `ExtensionBinding` is a resource representing the attachment of an extension to a service.
  "createTime": "A String", # Output only. The timestamp when the resource was created.
  "description": "A String", # Optional. A human-readable description of the resource.
  "etag": "A String", # Optional. Etag of the resource. If provided, it must match the server's etag. If the provided etag does not match the server's etag, the request will fail with a 409 ABORTED error.
  "failOpen": True or False, # Optional. Determines the behavior of the extension binding when the call to the extension fails or times out. Default value is `FALSE`. When set to `TRUE`, failures of the extension are silently ignored.
  "labels": { # Optional. Set of labels associated with the `ExtensionBinding` resource. The format must comply with [the following requirements](https://cloud.google.com/compute/docs/labeling-resources#requirements).
    "a_key": "A String",
  },
  "matchConditions": [ # Optional. A list of match conditions to match against the incoming request. The extension will be invoked if at least one condition matches the request, or if no match conditions are specified. Limited to 5 conditions.
    { # Conditions to match against the incoming request.
      "to": { # Describes properties of one or more destinations of a request. # Optional. Describes properties of a destination of a request. If specified, the extension will only be invoked on requests to destinations that match the specified criteria.
        "destination": { # Describes properties of a single destination. # Optional. Describes properties of destination of a request. Within a destination, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
        "notDestination": { # Describes properties of a single destination. # Optional. Describes the negated properties of the request destination. Extension will not be invoked on requests that match the criteria specified in this field. At least one of destination or not_destination must be specified.
          "headerSet": { # Describes a set of HTTP headers to match against. # Optional. A set of HTTP headers to match against. If not specified, requests with any headers are matched.
            "headers": [ # Required. A list of headers to match against in http header. If multiple header matches are provided, they will be evaluated as an AND, i.e. all header matches must match for the request to match.
              { # Determines how an HTTP header should be matched.
                "name": "A String", # Required. Specifies the name of the header in the request.
                "value": { # Specifies matching logic for string values. # Optional. Specifies how the header match will be performed.
                  "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
                  "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
                  "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
                  "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
                  "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
                },
              },
            ],
          },
          "hosts": [ # Optional. A list of HTTP Hosts to match against. Limited to 10 hosts. If not specified, any host is allowed. If specified, a match occurs if any of the hosts matches the host value in the request.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "paths": [ # Optional. A list of paths to match against. Limited to 10 paths. If not specified, any path is allowed. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
          "resources": [ # Optional. A list of non-empty strings whose value is matched against the resource value. If not specified, any resource is allowed. If specified, a match occurs if any of the resources matches the resource value in the request. Limited to 5 resources.
            { # Specifies matching logic for string values.
              "contains": "A String", # Optional. The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``
              "exact": "A String", # Optional. The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.
              "ignoreCase": True or False, # Optional. If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.
              "prefix": "A String", # Optional. The input string must have the prefix specified here. Note: empty prefix is not allowed. Examples: * ``abc`` matches the value ``abc.xyz``
              "suffix": "A String", # Optional. The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``
            },
          ],
        },
      },
    },
  ],
  "name": "A String", # Identifier. Name of the `ExtensionBinding` resource in the following format: `projects/{project}/locations/{location}/extensionBindings/{extension_binding}`.
  "priority": 42, # Optional. Priority of the extension binding. Lower numbers indicate higher priority. Priority of extension bindings are used to determine the order in which extension bindings are applied to a request.
  "producerExtension": "A String", # Required. The name of the extension that this binding should attach to target resources. Format: For Google-provided extensions, specify the service endpoint (see [Model Armor integration](https://docs.cloud.google.com/model-armor/integrations))
  "producerMetadata": { # Optional. Additional metadata that should be passed to the attached extension with each request.
    "a_key": "A String",
  },
  "target": { # Specifies a list of targets to which this `ExtensionBinding` should attach. # Required. Specifies a target to which this `ExtensionBinding` should be attached. The target can be either a single resource or a scope of resources.
    "resources": [ # Optional. The reference to the target resource, to which this binding should attach. Exactly one of `resources` or `scope` must be set. For Agent Gateway, this would be the full resource name, in the format: `projects/{project}/locations/{location}/agentGateways/{agent_gateway}`. For AI App, this would be the full resource name, in the format: `projects/{project}/locations/{location}/applications/{application}`.
      "A String",
    ],
    "scope": { # Specifies the scope of resources to which this binding should attach. # Optional. Specifies the scope of resources to which this binding should attach. Exactly one of `resources` or `scope` must be set.
      "parent": "A String", # Required. Parent resource name specification, in the format: `projects/{project_number}`.
      "resourceTypes": [ # Required. Type of the resource to which the binding should attach. Limited to 1 resource type.
        "A String",
      ],
    },
  },
  "updateTime": "A String", # Output only. The timestamp when the resource was updated.
}

  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the `ExtensionBinding` resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
  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.
  },
}