# Discovery Engine API . projects

## Instance Methods

Returns the locations Resource.

Returns the operations Resource.

Close httplib2 connections.

Gets a Project. Returns NOT_FOUND when the project is not yet created.

Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.

Updates service terms for this project. This method can be used to retroactively accept the latest terms. Terms available for update: * [Terms for data use](https://cloud.google.com/retail/data-use-terms)

### Method Details

`close()`

    Close httplib2 connections.

`get(name, x__xgafv=None)`

    Gets a Project. Returns NOT_FOUND when the project is not yet created.

    Args:
      name: string, Required. Full resource name of a Project, such as `projects/{project_id_or_number}`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Metadata and configurations for a Google Cloud project in the service.
      "createTime": "A String", # Output only. The timestamp when this project is created.
      "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.
      "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.
      "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
        "a_key": { # Metadata about the terms of service.
          "acceptTime": "A String", # The last time when the project agreed to the terms of service.
          "declineTime": "A String", # The last time when the project declined or revoked the agreement to terms of service.
          "id": "A String", # The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.
          "state": "A String", # Whether the project has accepted/rejected the service terms or it is still pending.
          "version": "A String", # The version string of the terms of service. For acceptable values, see the comments for id above.
        },
      },
    }

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

    Provisions the project resource. During the process, related systems will get prepared and initialized. Caller must read the [Terms for data use](https://cloud.google.com/retail/data-use-terms), and optionally specify in request to provide consent to that service terms.

    Args:
      name: string, Required. Full resource name of a Project, such as `projects/{project_id_or_number}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for ProjectService.ProvisionProject method.
      "acceptDataUseTerms": True or False, # Required. Set to `true` to specify that caller has read and would like to give consent to the [Terms for data use](https://cloud.google.com/retail/data-use-terms).
      "dataUseTermsVersion": "A String", # Required. The version of the [Terms for data use](https://cloud.google.com/retail/data-use-terms) that caller has read and would like to give consent to. Acceptable version is `2022-11-23`, and this may change over time.
    }

      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.
      },
    }

`reportConsentChange(project, body=None, x__xgafv=None)`

    Updates service terms for this project. This method can be used to retroactively accept the latest terms. Terms available for update: * [Terms for data use](https://cloud.google.com/retail/data-use-terms)

    Args:
      project: string, Required. Full resource name of a Project, such as `projects/{project_id_or_number}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request for ReportConsentChange method.
      "consentChangeAction": "A String", # Required. Whether customer decides to accept or decline service term. At this moment, only accept action is supported.
      "serviceTermId": "A String", # Required. The unique identifier of the terms of service to update. Available term ids: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this service term id, the acceptable service_term_version to provide is `2022-11-23`.
      "serviceTermVersion": "A String", # Required. The version string of the terms of service to update.
    }

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

    Returns:
      An object of the form:

        { # Metadata and configurations for a Google Cloud project in the service.
      "createTime": "A String", # Output only. The timestamp when this project is created.
      "name": "A String", # Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.
      "provisionCompletionTime": "A String", # Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.
      "serviceTermsMap": { # Output only. A map of terms of services. The key is the `id` of ServiceTerms.
        "a_key": { # Metadata about the terms of service.
          "acceptTime": "A String", # The last time when the project agreed to the terms of service.
          "declineTime": "A String", # The last time when the project declined or revoked the agreement to terms of service.
          "id": "A String", # The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.
          "state": "A String", # Whether the project has accepted/rejected the service terms or it is still pending.
          "version": "A String", # The version string of the terms of service. For acceptable values, see the comments for id above.
        },
      },
    }