
# 创建网关 - CreateCoreIngress
#### 功能介绍
该接口用于创建一个新的Ingress配置。
**适用场景**：
创建Agent运行时入口网关配置。
**异步任务确认方式**：
调用创建接口后，通过查询Ingress详情接口（GET /v1/core/ingresses/{ingress_id}）查询status字段，当status变为ACTIVE时表示创建成功，变为FAILED时表示创建失败。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-agentarts/Permission.html)。
| 授权项                          | 访问级别  | 资源类型（\*为必须） | 条件键                                | 别名 | 依赖的授权项                       |
|:---|:---|:---|:---|:---|:---|
| agentarts::createCoreIngress | Write | instance \* | -                                  | -  | agentnetwork:instance:create |
| agentarts::createCoreIngress | Write | -           | agentarts:AllowIngressPublicAccess | -  | agentnetwork:instance:create |
   
#### URI
POST /v1/core/ingresses
#### 请求参数
表1请求Body参数 
| 参数                    | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| name                  | 是    | String                                                                          | **参数解释**： Ingress名称，同一账号下名称不可重复。 **约束限制**： 同一账号下名称不可重复，创建后不可修改。 **取值范围**： 以字母开头，长度为 2 - 48 个字符，可包含小写字母、数字和中划线 **默认取值**： 不涉及。 |
| description           | 否    | String                                                                          | **参数解释**： Ingress描述信息，用于补充说明Ingress的用途或备注。 **约束限制**： 不涉及。 **取值范围**： 长度为 0 - 255 个字符。 **默认取值**： 不涉及。                          |
| enable_public_network | 否    | Boolean                                                                         | **参数解释**： 是否启用公网访问，启用后将自动分配公网访问地址。 **约束限制**： 不涉及。 **取值范围**： true：启用公网访问，false：不启用公网访问。 **默认取值**： false。                      |
| vpc                   | 否    | [CoreIngressVpcConfig] object | **参数解释**： Ingress VPC配置，包含VPC ID和子网ID，用于指定Ingress关联的VPC网络。 **约束限制**： 不涉及。                                                                                                                                                                                                        |
   
 表2CoreIngressVpcConfig 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| vpc_id    | 否    | String | **参数解释**： VPC ID，用于指定Ingress关联的VPC网络。获取方式：在VPC控制台获取，具体参见[查询VPC](https://support.huaweicloud.com/usermanual-vpc/vpc_vpc_0013.html)。 **约束限制**： vpc_id和subnet_id需要同时填写或不填写。 **取值范围**： 长度为 1 - 64 个字符，匹配标准的UUID格式。 **默认取值**： 不涉及。 |
| subnet_id | 否    | String | **参数解释**： 子网ID，用于指定Ingress关联的子网。获取方式：在VPC控制台获取，进入子网列表页面，在子网列表中，单击目标子网名称超链接，进入子网详情页面，在子网的"基本信息"页签中，查看子网的"网络ID"。 **约束限制**： vpc_id和subnet_id需要同时填写或不填写。子网需属于指定的VPC。 **取值范围**： 长度为 1 - 64 个字符，匹配标准的UUID格式。 **默认取值**： 不涉及。         |
   
#### 响应参数
**状态码：202**
表3响应Body参数 
| 参数                    | 参数类型    | 描述                                                                                                                                                                                                                        |
|:---|:---|:---|
| id                    | String  | **参数解释**: Ingress ID，用于唯一标识一个Ingress实例。 **取值范围**： 匹配标准的UUID格式（8-4-4-4-12的十六进制数字串，由连字符分隔）。                  |
| name                  | String  | **参数解释**: Ingress名称，同一账号下名称不可重复。 **取值范围**： 以字母开头，长度为 2 - 48 个字符，可包含小写字母、数字和中划线。                            |
| description           | String  | **参数解释**: Ingress描述。 **取值范围**： 长度为 0 - 255 个字符。                                                            |
| status                | String  | **参数解释**: Ingress状态。 **取值范围**： PENDING：操作进行中；ACTIVE：已就绪；FAILED：操作失败；DELETE_FAILED：删除失败；UPDATE_FAILED：更新失败。 |
| enable_public_network | Boolean | **参数解释**: 是否启用公网访问。 **取值范围**： true：启用公网访问；false：不启用公网访问。                                                   |
| public_domain_name    | String  | **参数解释**: 公网域名，创建完成后自动赋值，仅当enable_public_network为true时有值。 **取值范围**： 长度为 1 - 512 个字符。                       |
| created_at            | String  | **参数解释**: 资源创建时间，UTC时间格式，格式为YYYY-MM-DDTHH:mm:ssZ，由系统自动生成。 **取值范围**： UTC时间格式，格式为YYYY-MM-DDTHH:mm:ssZ。       |
| updated_at            | String  | **参数解释**: 资源最后更新时间，UTC时间格式，格式为YYYY-MM-DDTHH:mm:ssZ，由系统自动生成。 **取值范围**： UTC时间格式，格式为YYYY-MM-DDTHH:mm:ssZ。     |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000400表示客户端请求参数错误。 **取值范围**： 固定值：AgentArts.03000400。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为1-512个字符。                                             |
   
**状态码：401**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                        |
|:---|:---|:---|
| error_code | String | **参数解释**: 错误码。枚举值说明：AgentArts.03000401表示未授权（认证令牌缺失、无效或已过期）。 **取值范围**: 不涉及。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                               |
   
**状态码：403**
表6响应Body参数 
| 参数                          | 参数类型                                                                                   | 描述                                                                                                                                                                                                      |
|:---|:---|:---|
| error_code                  | String                                                                                 | **参数解释**： 错误码。枚举值说明：AgentArts.03000403表示禁止访问（认证后权限不足）。 **取值范围**： 固定值：AgentArts.03000403。 |
| error_msg                   | String                                                                                 | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                             |
| coded_authorization_message | String                                                                                 | **参数解释**： IAM5 当OpenAPI无权限时报错信息。 **取值范围**： 长度为 1 - 1024 个字符。                             |
| details                     | Array of [CoreRunErrorDetail] objects | **参数解释**： 依赖的下游服务错误信息列表。 **取值范围**： 最小数量 0，最大数量 10。                                       |
   
 表7CoreRunErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 长度为 18 个字符。        |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 长度为 1 - 1024 个字符。 |
   
**状态码：404**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                              |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000404表示资源不存在。 **取值范围**： 固定值：AgentArts.03000404。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                     |
   
**状态码：409**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                             |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000409表示资源冲突。 **取值范围**： 固定值：AgentArts.03000409。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                    |
   
**状态码：429**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000429表示请求过于频繁（触发限流）。 **取值范围**： 固定值：AgentArts.03000429。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                            |
   
**状态码：500**
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000500表示服务器内部错误。 **取值范围**： 固定值：AgentArts.03000500。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                       |
   
**状态码：502**
表12响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000500表示服务器内部错误。 **取值范围**： 固定值：AgentArts.03000500。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                       |
   
**状态码：504**
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。枚举值说明：AgentArts.03000500表示服务器内部错误。 **取值范围**： 固定值：AgentArts.03000500。 |
| error_msg  | String | **参数解释**： 错误详细信息。 **取值范围**： 长度为 1 - 512 个字符。                                       |
   
#### 请求示例
```
POST https://{Endpoint}/v1/core/ingresses
{
  "name" : "test-ingress",
  "description" : "test create policy",
  "enable_public_network" : true
}
```
#### 响应示例
**状态码：202**
创建成功，返回Ingress信息。
```
{
  "id" : "a3bad420-33b8-4e26-e99b-bdf67aa8e72b",
  "name" : "test-ingress",
  "description" : "test create policy",
  "status" : "PENDING",
  "enable_public_network" : true,
  "public_domain_name" : "www.public.com",
  "created_at" : "2023-01-01T01:01:01Z",
  "updated_at" : "2023-01-01T01:01:01Z"
}
```
#### 状态码
| 状态码 | 描述                       |
|:---|:---|
| 202 | 创建成功，返回Ingress信息。        |
| 400 | 请求参数错误。                  |
| 401 | 未授权（认证令牌缺失、无效或已过期）。      |
| 403 | 禁止访问（认证后权限不足、配额不足）。      |
| 404 | 资源不存在（指定的ingress_id未找到）。 |
| 409 | 资源冲突（Ingress名称已存在）。      |
| 429 | 请求过于频繁（触发限流）。            |
| 500 | 服务器内部错误。                 |
| 502 | 下游服务Gateway不可用。          |
| 504 | 下游服务Gateway响应超时。         |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
