# Project

> **Package : spaceone.api.identity.v1**

## Project

{% hint style="info" %}
**Project Methods:**
{% endhint %}

| Method                               | Request                                                   | Response                                                                                                           |
| ------------------------------------ | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [**create**](#create)                | [CreateProjectRequest](#createprojectrequest)             | [ProjectInfo](#projectinfo)                                                                                        |
| [**update**](#update)                | [UpdateProjectRequest](#updateprojectrequest)             | [ProjectInfo](#projectinfo)                                                                                        |
| [**delete**](#delete)                | [ProjectRequest](#projectrequest)                         | [google.protobuf.Empty](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/empty.proto)   |
| [**get**](#get)                      | [GetProjectRequest](#getprojectrequest)                   | [ProjectInfo](#projectinfo)                                                                                        |
| [**list**](#list)                    | [ProjectQuery](#projectquery)                             | [ProjectsInfo](#projectsinfo)                                                                                      |
| [**stat**](#stat)                    | [ProjectStatQuery](#projectstatquery)                     | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |
| [**add\_member**](#add_member)       | [AddProjectMemberRequest](#addprojectmemberrequest)       | [ProjectRoleBindingInfo](#projectrolebindinginfo)                                                                  |
| [**modify\_member**](#modify_member) | [ModifyProjectMemberRequest](#modifyprojectmemberrequest) | [ProjectRoleBindingInfo](#projectrolebindinginfo)                                                                  |
| [**remove\_member**](#remove_member) | [RemoveProjectMemberRequest](#removeprojectmemberrequest) | [google.protobuf.Empty](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/empty.proto)   |
| [**list\_members**](#list_members)   | [ProjectMemberQuery](#projectmemberquery)                 | [ProjectRoleBindingsInfo](#projectrolebindingsinfo)                                                                |

### create

> **POST** /identity/v1/projects

| Type     | Message                                       |
| -------- | --------------------------------------------- |
| Request  | [CreateProjectRequest](#createprojectrequest) |
| Response | [ProjectInfo](#projectinfo)                   |

### update

> **PUT** /identity/v1/project/{project\_id}

| Type     | Message                                       |
| -------- | --------------------------------------------- |
| Request  | [UpdateProjectRequest](#updateprojectrequest) |
| Response | [ProjectInfo](#projectinfo)                   |

### delete

> **DELETE** /identity/v1/project/{project\_id}

| Type     | Message                                                                                                          |
| -------- | ---------------------------------------------------------------------------------------------------------------- |
| Request  | [ProjectRequest](#projectrequest)                                                                                |
| Response | [google.protobuf.Empty](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/empty.proto) |

### get

> **GET** /identity/v1/project/{project\_id}

| Type     | Message                                 |
| -------- | --------------------------------------- |
| Request  | [GetProjectRequest](#getprojectrequest) |
| Response | [ProjectInfo](#projectinfo)             |

### list

> **GET** /identity/v1/projects
>
> **POST** /identity/v1/projects/search

| Type     | Message                       |
| -------- | ----------------------------- |
| Request  | [ProjectQuery](#projectquery) |
| Response | [ProjectsInfo](#projectsinfo) |

### stat

> **POST** /identity/v1/projects/stat

| Type     | Message                                                                                                            |
| -------- | ------------------------------------------------------------------------------------------------------------------ |
| Request  | [ProjectStatQuery](#projectstatquery)                                                                              |
| Response | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |

### add\_member

> **POST** /identity/v1/project/{project\_id}/members

| Type     | Message                                             |
| -------- | --------------------------------------------------- |
| Request  | [AddProjectMemberRequest](#addprojectmemberrequest) |
| Response | [ProjectRoleBindingInfo](#projectrolebindinginfo)   |

### modify\_member

> **PUT** /identity/v1/project/{project\_id}/member/{user\_id}

| Type     | Message                                                   |
| -------- | --------------------------------------------------------- |
| Request  | [ModifyProjectMemberRequest](#modifyprojectmemberrequest) |
| Response | [ProjectRoleBindingInfo](#projectrolebindinginfo)         |

### remove\_member

> **DELETE** /identity/v1/project/{project\_id}/member/{user\_id}

| Type     | Message                                                                                                          |
| -------- | ---------------------------------------------------------------------------------------------------------------- |
| Request  | [RemoveProjectMemberRequest](#removeprojectmemberrequest)                                                        |
| Response | [google.protobuf.Empty](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/empty.proto) |

### list\_members

> **GET** /identity/v1/project/{project\_id}/members
>
> **POST** /identity/v1/project/{project\_id}/members/search

| Type     | Message                                             |
| -------- | --------------------------------------------------- |
| Request  | [ProjectMemberQuery](#projectmemberquery)           |
| Response | [ProjectRoleBindingsInfo](#projectrolebindingsinfo) |

##

## Message

### AddProjectMemberRequest

| Field              | Type                                                                                                               | Required | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ | :------: | ----------- |
| project\_id        | string                                                                                                             |     ✔    |             |
| user\_id           | string                                                                                                             |     ✔    |             |
| role\_id           | string                                                                                                             |     ✘    |             |
| labels             | [google.protobuf.ListValue](https://developers.google.com/protocol-buffers/docs/reference/overview)                |     ✘    |             |
| tags               | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |     ✘    |             |
| domain\_id         | string                                                                                                             |     ✔    |             |
| is\_external\_user | bool                                                                                                               |     ✘    |             |

### CreateProjectRequest

| Field              | Type                                                                                                               | Required | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ | :------: | ----------- |
| name               | string                                                                                                             |     ✔    |             |
| project\_group\_id | string                                                                                                             |     ✔    |             |
| tags               | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |     ✘    |             |
| domain\_id         | string                                                                                                             |     ✔    |             |

### GetProjectRequest

| Field       | Type           | Required | Description |
| ----------- | -------------- | :------: | ----------- |
| project\_id | string         |     ✔    |             |
| domain\_id  | string         |     ✔    |             |
| only        | list of string |     ✘    |             |

### ModifyProjectMemberRequest

| Field       | Type                                                                                                               | Required | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------ | :------: | ----------- |
| project\_id | string                                                                                                             |     ✔    |             |
| user\_id    | string                                                                                                             |     ✔    |             |
| labels      | [google.protobuf.ListValue](https://developers.google.com/protocol-buffers/docs/reference/overview)                |     ✘    |             |
| tags        | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |     ✘    |             |
| domain\_id  | string                                                                                                             |     ✔    |             |

### ProjectInfo

| Field                | Type                                                                                                               | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ | ----------- |
| project\_id          | string                                                                                                             |             |
| name                 | string                                                                                                             |             |
| tags                 | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |             |
| project\_group\_info | [ProjectGroupInfo](#projectgroupinfo)                                                                              |             |
| domain\_id           | string                                                                                                             |             |
| created\_by          | string                                                                                                             |             |
| created\_at          | string                                                                                                             |             |

### ProjectMemberQuery

| Field                   | Type                                                                                               | Required | Description |
| ----------------------- | -------------------------------------------------------------------------------------------------- | :------: | ----------- |
| query                   | [spaceone.api.core.v1.Query](https://spaceone-dev.gitbook.io/api-reference/common-v1/search-query) |     ✘    |             |
| project\_id             | string                                                                                             |     ✔    |             |
| user\_id                | string                                                                                             |     ✘    |             |
| role\_id                | string                                                                                             |     ✘    |             |
| include\_parent\_member | bool                                                                                               |     ✘    |             |
| domain\_id              | string                                                                                             |     ✔    |             |

### ProjectQuery

| Field              | Type                                                                                               | Required | Description |
| ------------------ | -------------------------------------------------------------------------------------------------- | :------: | ----------- |
| query              | [spaceone.api.core.v1.Query](https://spaceone-dev.gitbook.io/api-reference/common-v1/search-query) |     ✘    |             |
| project\_id        | string                                                                                             |     ✘    |             |
| name               | string                                                                                             |     ✘    |             |
| project\_group\_id | string                                                                                             |     ✘    |             |
| user\_id           | string                                                                                             |     ✘    |             |
| domain\_id         | string                                                                                             |     ✔    |             |

### ProjectRequest

| Field       | Type   | Required | Description |
| ----------- | ------ | :------: | ----------- |
| project\_id | string |     ✔    |             |
| domain\_id  | string |     ✔    |             |

### ProjectRoleBindingInfo

| Field                | Type                                                                                                               | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ | ----------- |
| role\_binding\_id    | string                                                                                                             |             |
| resource\_type       | string                                                                                                             |             |
| resource\_id         | string                                                                                                             |             |
| role\_info           | [RoleInfo](#roleinfo)                                                                                              |             |
| project\_info        | [ProjectInfo](#projectinfo)                                                                                        |             |
| project\_group\_info | [ProjectGroupInfo](#projectgroupinfo)                                                                              |             |
| labels               | [google.protobuf.ListValue](https://developers.google.com/protocol-buffers/docs/reference/overview)                |             |
| tags                 | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |             |
| domain\_id           | string                                                                                                             |             |
| created\_at          | string                                                                                                             |             |

### ProjectRoleBindingsInfo

| Field        | Type                                                                                            | Description |
| ------------ | ----------------------------------------------------------------------------------------------- | ----------- |
| results      | [list of ProjectRoleBindingInfo](#projectrolebindinginfo)                                       |             |
| total\_count | [int32](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/type.proto) |             |

### ProjectStatQuery

| Field      | Type                                                                                                             | Required | Description |
| ---------- | ---------------------------------------------------------------------------------------------------------------- | :------: | ----------- |
| query      | [spaceone.api.core.v1.StatisticsQuery](https://spaceone-dev.gitbook.io/api-reference/common-v1/statistics-query) |     ✔    |             |
| domain\_id | string                                                                                                           |     ✔    |             |

### ProjectsInfo

| Field        | Type                                                                                            | Description |
| ------------ | ----------------------------------------------------------------------------------------------- | ----------- |
| results      | [list of ProjectInfo](#projectinfo)                                                             |             |
| total\_count | [int32](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/type.proto) |             |

### RemoveProjectMemberRequest

| Field       | Type   | Required | Description |
| ----------- | ------ | :------: | ----------- |
| project\_id | string |     ✔    |             |
| user\_id    | string |     ✔    |             |
| domain\_id  | string |     ✔    |             |

### UpdateProjectRequest

| Field              | Type                                                                                                               | Required | Description |
| ------------------ | ------------------------------------------------------------------------------------------------------------------ | :------: | ----------- |
| project\_id        | string                                                                                                             |     ✔    |             |
| project\_group\_id | string                                                                                                             |     ✘    |             |
| name               | string                                                                                                             |     ✘    |             |
| tags               | [google.protobuf.Struct](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/struct.proto) |     ✘    |             |
| domain\_id         | string                                                                                                             |     ✔    |             |
