# API hub API . projects . locations . dependencies

## Instance Methods

Close httplib2 connections.

Create a dependency between two entities in the API hub.

Delete the dependency resource.

Get details about a dependency resource in the API hub.

List dependencies based on the provided filter and pagination parameters.

Retrieves the next page of results.

Update a dependency based on the update_mask provided in the request. The following fields in the dependency can be updated: * description

### Method Details

`close()`

    Close httplib2 connections.

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

    Create a dependency between two entities in the API hub.

    Args:
      parent: string, Required. The parent resource for the dependency resource. Format: `projects/{project}/locations/{location}` (required)
      body: object, The request body.
        The object takes the form of:

    { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
      "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
        "a_key": { # The attribute values associated with resource.
          "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
          "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
            "values": [ # Required. The attribute values in case attribute data type is enum.
              { # The value that can be assigned to the attribute when the data type is enum.
                "description": "A String", # Optional. The detailed description of the allowed value.
                "displayName": "A String", # Required. The display name of the allowed value.
                "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
              },
            ],
          },
          "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
        },
      },
      "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "createTime": "A String", # Output only. The time at which the dependency was created.
      "description": "A String", # Optional. Human readable description corresponding of the dependency.
      "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
      "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
        "error": "A String", # Optional. Error in the dependency.
        "errorTime": "A String", # Optional. Timestamp at which the error was found.
      },
      "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
      "state": "A String", # Output only. State of the dependency.
      "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "updateTime": "A String", # Output only. The time at which the dependency was last updated.
    }

      dependencyId: string, Optional. The ID to use for the dependency resource, which will become the final component of the dependency's resource name. This field is optional. * If provided, the same will be used. The service will throw an error if duplicate id is provided by the client. * If not provided, a system generated id will be used. This value should be 4-500 characters, and valid characters are `a-z[0-9]-_`.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
      "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
        "a_key": { # The attribute values associated with resource.
          "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
          "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
            "values": [ # Required. The attribute values in case attribute data type is enum.
              { # The value that can be assigned to the attribute when the data type is enum.
                "description": "A String", # Optional. The detailed description of the allowed value.
                "displayName": "A String", # Required. The display name of the allowed value.
                "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
              },
            ],
          },
          "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
        },
      },
      "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "createTime": "A String", # Output only. The time at which the dependency was created.
      "description": "A String", # Optional. Human readable description corresponding of the dependency.
      "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
      "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
        "error": "A String", # Optional. Error in the dependency.
        "errorTime": "A String", # Optional. Timestamp at which the error was found.
      },
      "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
      "state": "A String", # Output only. State of the dependency.
      "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "updateTime": "A String", # Output only. The time at which the dependency was last updated.
    }

`delete(name, x__xgafv=None)`

    Delete the dependency resource.

    Args:
      name: string, Required. The name of the dependency resource to delete. Format: `projects/{project}/locations/{location}/dependencies/{dependency}` (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); }
    }

`get(name, x__xgafv=None)`

    Get details about a dependency resource in the API hub.

    Args:
      name: string, Required. The name of the dependency resource to retrieve. Format: `projects/{project}/locations/{location}/dependencies/{dependency}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
      "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
        "a_key": { # The attribute values associated with resource.
          "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
          "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
            "values": [ # Required. The attribute values in case attribute data type is enum.
              { # The value that can be assigned to the attribute when the data type is enum.
                "description": "A String", # Optional. The detailed description of the allowed value.
                "displayName": "A String", # Required. The display name of the allowed value.
                "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
              },
            ],
          },
          "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
        },
      },
      "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "createTime": "A String", # Output only. The time at which the dependency was created.
      "description": "A String", # Optional. Human readable description corresponding of the dependency.
      "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
      "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
        "error": "A String", # Optional. Error in the dependency.
        "errorTime": "A String", # Optional. Timestamp at which the error was found.
      },
      "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
      "state": "A String", # Output only. State of the dependency.
      "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "updateTime": "A String", # Output only. The time at which the dependency was last updated.
    }

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

    List dependencies based on the provided filter and pagination parameters.

    Args:
      parent: string, Required. The parent which owns this collection of dependency resources. Format: `projects/{project}/locations/{location}` (required)
      filter: string, Optional. An expression that filters the list of Dependencies. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string. Allowed comparison operator is `=`. Filters are not case sensitive. The following fields in the `Dependency` are eligible for filtering: * `consumer.operation_resource_name` - The operation resource name for the consumer entity involved in a dependency. Allowed comparison operators: `=`. * `consumer.external_api_resource_name` - The external api resource name for the consumer entity involved in a dependency. Allowed comparison operators: `=`. * `supplier.operation_resource_name` - The operation resource name for the supplier entity involved in a dependency. Allowed comparison operators: `=`. * `supplier.external_api_resource_name` - The external api resource name for the supplier entity involved in a dependency. Allowed comparison operators: `=`. Expressions are combined with either `AND` logic operator or `OR` logical operator but not both of them together i.e. only one of the `AND` or `OR` operator can be used throughout the filter string and both the operators cannot be used together. No other logical operators are supported. At most three filter fields are allowed in the filter string and if provided more than that then `INVALID_ARGUMENT` error is returned by the API. For example, `consumer.operation_resource_name = \"projects/p1/locations/global/apis/a1/versions/v1/operations/o1\" OR supplier.operation_resource_name = \"projects/p1/locations/global/apis/a1/versions/v1/operations/o1\"` - The dependencies with either consumer or supplier operation resource name as _projects/p1/locations/global/apis/a1/versions/v1/operations/o1_.
      pageSize: integer, Optional. The maximum number of dependency resources to return. The service may return fewer than this value. If unspecified, at most 50 dependencies will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
      pageToken: string, Optional. A page token, received from a previous `ListDependencies` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDependencies` must match the call that provided the page token.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The ListDependencies method's response.
      "dependencies": [ # The dependency resources present in the API hub.
        { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
          "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
            "a_key": { # The attribute values associated with resource.
              "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
              "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
                "values": [ # Required. The attribute values in case attribute data type is enum.
                  { # The value that can be assigned to the attribute when the data type is enum.
                    "description": "A String", # Optional. The detailed description of the allowed value.
                    "displayName": "A String", # Required. The display name of the allowed value.
                    "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                    "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
                  },
                ],
              },
              "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
                "values": [ # Required. The attribute values in case attribute data type is string or JSON.
                  "A String",
                ],
              },
              "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
                "values": [ # Required. The attribute values in case attribute data type is string or JSON.
                  "A String",
                ],
              },
              "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
                "values": [ # Required. The attribute values in case attribute data type is string or JSON.
                  "A String",
                ],
              },
            },
          },
          "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
            "displayName": "A String", # Output only. Display name of the entity.
            "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
            "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
          },
          "createTime": "A String", # Output only. The time at which the dependency was created.
          "description": "A String", # Optional. Human readable description corresponding of the dependency.
          "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
          "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
            "error": "A String", # Optional. Error in the dependency.
            "errorTime": "A String", # Optional. Timestamp at which the error was found.
          },
          "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
          "state": "A String", # Output only. State of the dependency.
          "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
            "displayName": "A String", # Output only. Display name of the entity.
            "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
            "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
          },
          "updateTime": "A String", # Output only. The time at which the dependency was last updated.
        },
      ],
      "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
    }

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

    Update a dependency based on the update_mask provided in the request. The following fields in the dependency can be updated: * description

    Args:
      name: string, Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}` (required)
      body: object, The request body.
        The object takes the form of:

    { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
      "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
        "a_key": { # The attribute values associated with resource.
          "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
          "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
            "values": [ # Required. The attribute values in case attribute data type is enum.
              { # The value that can be assigned to the attribute when the data type is enum.
                "description": "A String", # Optional. The detailed description of the allowed value.
                "displayName": "A String", # Required. The display name of the allowed value.
                "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
              },
            ],
          },
          "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
        },
      },
      "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "createTime": "A String", # Output only. The time at which the dependency was created.
      "description": "A String", # Optional. Human readable description corresponding of the dependency.
      "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
      "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
        "error": "A String", # Optional. Error in the dependency.
        "errorTime": "A String", # Optional. Timestamp at which the error was found.
      },
      "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
      "state": "A String", # Output only. State of the dependency.
      "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "updateTime": "A String", # Output only. The time at which the dependency was last updated.
    }

      updateMask: string, Required. The list of fields to update.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A dependency resource defined in the API hub describes a dependency directed from a consumer to a supplier entity. A dependency can be defined between two Operations or between an Operation and External API.
      "attributes": { # Optional. The list of user defined attributes associated with the dependency resource. The key is the attribute name. It will be of the format: `projects/{project}/locations/{location}/attributes/{attribute}`. The value is the attribute values associated with the resource.
        "a_key": { # The attribute values associated with resource.
          "attribute": "A String", # Output only. The name of the attribute. Format: projects/{project}/locations/{location}/attributes/{attribute}
          "enumValues": { # The attribute values of data type enum. # The attribute values associated with a resource in case attribute data type is enum.
            "values": [ # Required. The attribute values in case attribute data type is enum.
              { # The value that can be assigned to the attribute when the data type is enum.
                "description": "A String", # Optional. The detailed description of the allowed value.
                "displayName": "A String", # Required. The display name of the allowed value.
                "id": "A String", # Required. The ID of the allowed value. * If provided, the same will be used. The service will throw an error if the specified id is already used by another allowed value in the same attribute resource. * If not provided, a system generated id derived from the display name will be used. In this case, the service will handle conflict resolution by adding a system generated suffix in case of duplicates. This value should be 4-63 characters, and valid characters are /a-z-/.
                "immutable": True or False, # Optional. When set to true, the allowed value cannot be updated or deleted by the user. It can only be true for System defined attributes.
              },
            ],
          },
          "jsonValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is JSON.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "stringValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is string.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
          "uriValues": { # The attribute values of data type string or JSON. # The attribute values associated with a resource in case attribute data type is URL, URI or IP, like gs://bucket-name/object-name.
            "values": [ # Required. The attribute values in case attribute data type is string or JSON.
              "A String",
            ],
          },
        },
      },
      "consumer": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the consumer in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "createTime": "A String", # Output only. The time at which the dependency was created.
      "description": "A String", # Optional. Human readable description corresponding of the dependency.
      "discoveryMode": "A String", # Output only. Discovery mode of the dependency.
      "errorDetail": { # Details describing error condition of a dependency. # Output only. Error details of a dependency if the system has detected it internally.
        "error": "A String", # Optional. Error in the dependency.
        "errorTime": "A String", # Optional. Timestamp at which the error was found.
      },
      "name": "A String", # Identifier. The name of the dependency in the API Hub. Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
      "state": "A String", # Output only. State of the dependency.
      "supplier": { # Reference to an entity participating in a dependency. # Required. Immutable. The entity acting as the supplier in the dependency.
        "displayName": "A String", # Output only. Display name of the entity.
        "externalApiResourceName": "A String", # The resource name of an external API in the API Hub. Format: `projects/{project}/locations/{location}/externalApis/{external_api}`
        "operationResourceName": "A String", # The resource name of an operation in the API Hub. Format: `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
      },
      "updateTime": "A String", # Output only. The time at which the dependency was last updated.
    }