
# 空间变更通知
#### 功能介绍
应用服务器在调用设施云平台的创建规则触发条件（Resource:zone，Event:change）、创建规则动作、修改规则触发条件接口配置并激活规则后，当设施云平台添加空间时，设施云平台会向应用服务器推送通知消息。
#### URI
POST /应用服务器创建空间变更通知规则时的Url决定
#### 请求参数
表1请求Body参数 
| 参数          | 是否必选 | 参数类型                                                                                                             | 描述                                                                                                                           |
|:---|:---|:---|:---|
| resource    | 是    | String                                                                                                           | **参数说明**：订阅的资源名称。 **取值范围**：zone。                                                     |
| event       | 是    | String                                                                                                           | **参数说明**：订阅的资源事件。 **取值范围**：create。                                                   |
| event_time  | 是    | String                                                                                                           | **参数说明**：空间添加事件生成时间。 **取值范围**：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'，例如2023-08-04T10:01:59.815Z。 |
| notify_data | 是    | [ZoneChangeNotifyData] object | **参数说明**：推送消息。                                                                                                               |
   
 表2ZoneChangeNotifyData 
| 参数     | 是否必选 | 参数类型                                                                                                                         | 描述                   |
|:---|:---|:---|:---|
| header | 是    | [ZoneChangeNotifyDataHeader] object | **参数说明**：推送消息header。 |
| body   | 是    | [ZoneChangeInfo] object                         | **参数说明**：推送消息body。   |
   
 表3ZoneChangeNotifyDataHeader 
| 参数          | 是否必选 | 参数类型   | 描述                                                                           |
|:---|:---|:---|:---|
| instance_id | 否    | String | **参数说明**：实例ID。 **取值范围**：长度为8-32的字符串。 |
   
 表4ZoneChangeInfo 
| 参数               | 是否必选 | 参数类型                                                                                                 | 描述                                                                                              |
|:---|:---|:---|:---|
| change_type      | 是    | String                                                                                               | **参数说明**：变更类型。 **取值范围**：create：创建，update：更新，delete：删除。 |
| zone_create_info | 否    | [ZoneInfo] object             | **参数说明**：空间创建信息。                                                                                |
| zone_update_info | 否    | [ZoneInfo] object             | **参数说明**：空间更新信息。                                                                                |
| zone_delete_info | 否    | [ZoneDeleteInfo] object | **参数说明**：空间删除信息。                                                                                |
   
 表5ZoneInfo 
| 参数             | 是否必选 | 参数类型                 | 描述                                                                                                     |
|:---|:---|:---|:---|
| id             | 是    | String               | **参数说明**：空间全局唯一ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。              |
| name           | 是    | String               | **参数说明**：空间名称。 **取值范围**：长度2-256。                                |
| parent_name    | 否    | String               | **参数说明**：父级名称。 **取值范围**：长度2-256。                               |
| children_count | 否    | Integer              | **参数说明**：直接下级数量。 **取值范围**：0-100的整数。                            |
| properties     | 否    | Map\<String,String\> | **参数说明**：属性键值对。属性是在自定义空间规格里面定义的。 **取值范围**：每个值要满足空间规格自定义属性的范围要求。 |
| time_zone      | 否    | String               | **参数说明**：时区。                                                                                           |
| create_time    | 否    | String               | **参数说明**：创建时间。 **取值范围**：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。          |
   
 表6ZoneDeleteInfo 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                          |
|:---|:---|:---|:---|
| id   | 是    | String | **参数说明**：空间全局唯一ID。 **取值范围**：长度固定24，只允许大小写字母、数字的组合。 |
| name | 是    | String | **参数说明**：空间名称。 **取值范围**：长度1-256。                    |
   
#### 响应参数
**状态码：200**
表7响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                        |
|:---|:---|:---|
| error_code | String | **参数说明**：错误码。 **取值范围**：长度8-36。    |
| error_msg  | String | **参数说明**：错误描述。 **取值范围**：长度2-512。 |
   
#### 请求示例
```
{
  "resource" : "zone",
  "event" : "change",
  "event_time" : "2023-08-04T10:01:59.815Z",
  "notify_data" : {
    "header" : {
      "instance_id" : "616c70686100000000000001"
    },
    "body" : {
      "change_type" : "create",
      "zone_create_info" : {
        "id" : "cJYe000000uE6B2ArOHA",
        "name" : "MyZone",
        "parent_id" : "a0ed5ea25c3cc3d328f61af50fc9452a",
        "parent_name" : "MyParentZone",
        "children_count" : 2,
        "properties" : [ {
          "area" : "100"
        }, {
          "height" : "5"
        } ],
        "time_zone" : "UTC+08:00",
        "create_time" : "2023-08-04T10:01:58.815Z"
      }
    }
  }
}
```
-
  ```
  {
    "resource" : "zone",
    "event" : "change",
    "event_time" : "2023-08-04T10:01:59.815Z",
    "notify_data" : {
      "header" : {
        "instance_id" : "616c70686100000000000001"
      },
      "body" : {
        "change_type" : "update",
        "zone_update_info" : {
          "id" : "cJYe000000uE6B2ArOHA",
          "name" : "MyZone",
          "parent_id" : "a0ed5ea25c3cc3d328f61af50fc9452a",
          "parent_name" : "MyParentZone",
          "children_count" : 2,
          "properties" : [ {
            "area" : "100"
          }, {
            "height" : "5"
          } ],
          "time_zone" : "UTC+08:00",
          "create_time" : "2023-08-04T10:01:58.815Z"
        }
      }
    }
  }
  ```
  
-
  ```
  {
    "resource" : "zone",
    "event" : "change",
    "event_time" : "2023-08-04T10:01:59.815Z",
    "notify_data" : {
      "header" : {
        "instance_id" : "616c70686100000000000001"
      },
      "body" : {
        "change_type" : "delete",
        "zone_delete_info" : {
          "id" : "cJYe000000uE6B2ArOHA",
          "name" : "MyZone"
        }
      }
    }
  }
  ```
  
 
#### 响应示例
**状态码：200**
OK
```
{
  "result" : "success"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
