HashMap 模块 REST API¶
- GET /v1/rating/module_config/hashmap/types¶
返回可用的每种映射类型列表。
- 返回类型:
list(
str)
- GET /v1/rating/module_config/hashmap/services¶
获取服务列表
- 返回:
每个服务的列表。
- 返回类型:
- GET /v1/rating/module_config/hashmap/services/(service_id)¶
返回一个服务。
- 参数:
service_id (
uuid) – 用于筛选的服务 UUID。
- 返回类型:
- POST /v1/rating/module_config/hashmap/services¶
创建 hashmap 服务。
- DELETE /v1/rating/module_config/hashmap/services¶
删除服务及其所有子键(递归)。
- 参数:
service_id (
uuid) – 要删除的服务 UUID。
- type Service¶
描述服务的类型。
服务直接映射到使用键,收集的服务。
数据示例
- Json
{ "name": "compute", "service_id": "a733d0e1-1ec9-4800-8df8-671e4affd017" }
- XML
b'<value>\n <service_id>a733d0e1-1ec9-4800-8df8-671e4affd017</service_id>\n <name>compute</name>\n</value>'
- name¶
服务名称。
- service_id¶
服务的 UUID。
- type ServiceCollection¶
描述服务列表的类型。
数据示例
- Json
{ "services": [ { "name": "compute", "service_id": "a733d0e1-1ec9-4800-8df8-671e4affd017" } ] }
- XML
b'<value>\n <services>\n <item>\n <service_id>a733d0e1-1ec9-4800-8df8-671e4affd017</service_id>\n <name>compute</name>\n </item>\n </services>\n</value>'
- services¶
服务列表。
- GET /v1/rating/module_config/hashmap/fields¶
获取字段列表。
- 参数:
service_id (
uuid) – 用于筛选的服务 UUID。
- 返回:
所有字段的列表。
- 返回类型:
- GET /v1/rating/module_config/hashmap/fields/(field_id)¶
返回一个字段。
- 参数:
field_id (
uuid) – 用于筛选的字段 UUID。
- 返回类型:
- POST /v1/rating/module_config/hashmap/fields¶
创建一个字段。
- DELETE /v1/rating/module_config/hashmap/fields¶
删除字段及其所有子键(递归)。
- 参数:
field_id (
uuid) – 要删除的字段 UUID。
- type Field¶
描述字段的类型。
字段映射 CloudKitty 数据 ‘desc’ 字典中的一个值。它用于映射元数据的名称。
数据示例
- Json
{ "field_id": "ac55b000-a05b-4832-b2ff-265a034886ab", "name": "image_id", "service_id": "a733d0e1-1ec9-4800-8df8-671e4affd017" }
- XML
b'<value>\n <field_id>ac55b000-a05b-4832-b2ff-265a034886ab</field_id>\n <name>image_id</name>\n <service_id>a733d0e1-1ec9-4800-8df8-671e4affd017</service_id>\n</value>'
- field_id¶
字段的 UUID。
- name¶
字段的名称。
- service_id¶
父服务的 UUID。
- type FieldCollection¶
描述字段列表的类型。
数据示例
- Json
{ "fields": [ { "field_id": "ac55b000-a05b-4832-b2ff-265a034886ab", "name": "image_id", "service_id": "a733d0e1-1ec9-4800-8df8-671e4affd017" } ] }
- XML
b'<value>\n <fields>\n <item>\n <field_id>ac55b000-a05b-4832-b2ff-265a034886ab</field_id>\n <name>image_id</name>\n <service_id>a733d0e1-1ec9-4800-8df8-671e4affd017</service_id>\n </item>\n </fields>\n</value>'
- fields¶
字段列表。
- GET /v1/rating/module_config/hashmap/mappings¶
获取映射列表
- 参数:
service_id (
uuid) – 用于筛选的服务 UUID。field_id (
uuid) – 用于筛选的字段 UUID。group_id (
uuid) – 用于筛选的组 UUID。no_group (
bool) – 筛选孤立映射。tenant_id (
uuid) – 用于筛选的租户 UUID。filter_tenant (
bool) – 显式筛选租户(默认情况下不筛选租户)。如果希望筛选租户为 None,则很有用。deleted (
bool) – 显示已删除的映射。start (
datetime) – 映射开始时间晚于该日期。end (
datetime) – 映射结束时间早于该日期。updated_by (
str) – 用于筛选的用户 uuid。created_by (
str) – 用于筛选的用户 uuid。deleted_by (
str) – 用于筛选的用户 uuid。description (
str) – 描述中包含该文本的映射。is_active (
bool) – 仅活动映射。
- 参数:
all: 列出所有规则。
- 返回:
所有映射的列表。
- 返回类型:
- GET /v1/rating/module_config/hashmap/mappings/(mapping_id)¶
返回一个映射。
- 参数:
mapping_id (
uuid) – 用于筛选的映射 UUID。
- 返回类型:
- POST /v1/rating/module_config/hashmap/mappings¶
创建一个映射。
- PUT /v1/rating/module_config/hashmap/mappings¶
更新一个映射。
- 参数:
mapping_id (
uuid) – 要更新的映射 UUID。mapping (
Mapping) – 要插入的映射数据。
- DELETE /v1/rating/module_config/hashmap/mappings¶
删除一个映射。
- 参数:
mapping_id (
uuid) – 要删除的映射 UUID。
- GET /v1/rating/module_config/hashmap/mappings/group¶
获取附加到映射的组。
- 参数:
mapping_id (
uuid) – 用于筛选的映射 UUID。
- 返回类型:
- type Mapping¶
描述映射的类型。
映射用于根据值应用评级规则,如果父级是字段,则检查元数据的值。如果它是服务,则直接将费率应用于卷。
数据示例
- Json
{ "created_at": "2023-01-01T10:10:10", "created_by": "7977999e2e2511e6a8b2df30b233ffcb", "deleted": "2023-01-15T00:00:00", "deleted_by": "7977999e2e2511e6a8b2df30b233ffcb", "description": "description", "end": "2023-03-01T00:00:00", "name": "rule 1", "start": "2023-02-01T00:00:00", "tenant_id": null, "type": "flat", "updated_by": "7977999e2e2511e6a8b2df30b233ffcb", "value": "" }
- XML
b'<value>\n <value />\n <type>flat</type>\n <tenant_id nil="true" />\n <created_at>2023-01-01T10:10:10</created_at>\n <start>2023-02-01T00:00:00</start>\n <end>2023-03-01 00:00:00</end>\n <name>rule 1</name>\n <description>description</description>\n <deleted>2023-01-15T00:00:00</deleted>\n <created_by>7977999e2e2511e6a8b2df30b233ffcb</created_by>\n <updated_by>7977999e2e2511e6a8b2df30b233ffcb</updated_by>\n <deleted_by>7977999e2e2511e6a8b2df30b233ffcb</deleted_by>\n</value>'
- cost¶
映射的值。
- created_at¶
创建规则的日期。
- created_by¶
创建规则的用户的 ID。
- deleted¶
删除规则的日期。
- deleted_by¶
删除规则的用户的 ID。
- description¶
规则的描述。
- end¶
必须为 None 或未来的日期。要设置过去的日期,请在 POST 查询中使用 force 参数。
- field_id¶
字段的 UUID。
- group_id¶
hashmap 组的 UUID。
- map_type¶
映射的类型。
- mapping_id¶
映射的 UUID。
- name¶
规则的名称。
- service_id¶
服务的 UUID。
- start¶
必须为 None 或未来的日期。要设置过去的日期,请在 POST 查询中使用 force 参数。
- tenant_id¶
hashmap 租户的 ID。
- updated_by¶
最后更新规则的用户的 ID。
- value¶
映射的键。
- type MappingCollection¶
描述映射列表的类型。
数据示例
- Json
{ "mappings": [ { "created_at": "2023-01-01T10:10:10", "created_by": "7977999e2e2511e6a8b2df30b233ffcb", "deleted": "2023-01-15T00:00:00", "deleted_by": "7977999e2e2511e6a8b2df30b233ffcb", "description": "description", "end": "2023-03-01T00:00:00", "name": "rule 1", "start": "2023-02-01T00:00:00", "tenant_id": null, "type": "flat", "updated_by": "7977999e2e2511e6a8b2df30b233ffcb", "value": "" } ] }
- XML
b'<value>\n <mappings>\n <item>\n <value />\n <type>flat</type>\n <tenant_id nil="true" />\n <created_at>2023-01-01T10:10:10</created_at>\n <start>2023-02-01T00:00:00</start>\n <end>2023-03-01 00:00:00</end>\n <name>rule 1</name>\n <description>description</description>\n <deleted>2023-01-15T00:00:00</deleted>\n <created_by>7977999e2e2511e6a8b2df30b233ffcb</created_by>\n <updated_by>7977999e2e2511e6a8b2df30b233ffcb</updated_by>\n <deleted_by>7977999e2e2511e6a8b2df30b233ffcb</deleted_by>\n </item>\n </mappings>\n</value>'
- mappings¶
映射列表。
- type Threshold¶
描述阈值的类型。
阈值用于根据级别应用评级规则,如果父级是字段,则将级别检查与元数据进行比较。如果它是服务,则它是检查资源数量。
数据示例
- Json
{ "cost": "4.2", "field_id": "ac55b000-a05b-4832-b2ff-265a034886ab", "level": "1024", "tenant_id": "7977999e-2e25-11e6-a8b2-df30b233ffcb", "threshold_id": "39dbd39d-f663-4444-a795-fb19d81af136", "type": "flat" }
- XML
b'<value>\n <threshold_id>39dbd39d-f663-4444-a795-fb19d81af136</threshold_id>\n <level>1024</level>\n <type>flat</type>\n <cost>4.2</cost>\n <field_id>ac55b000-a05b-4832-b2ff-265a034886ab</field_id>\n <tenant_id>7977999e-2e25-11e6-a8b2-df30b233ffcb</tenant_id>\n</value>'
- cost¶
阈值的值。
- field_id¶
字段的 UUID。
- group_id¶
hashmap 组的 UUID。
- level¶
阈值的级别。
- map_type¶
阈值的类型。
- service_id¶
服务的 UUID。
- tenant_id¶
hashmap 租户的 ID。
- threshold_id¶
阈值的 UUID。
- type ThresholdCollection¶
描述映射列表的类型。
数据示例
- Json
{ "thresholds": [ { "cost": "4.2", "field_id": "ac55b000-a05b-4832-b2ff-265a034886ab", "level": "1024", "tenant_id": "7977999e-2e25-11e6-a8b2-df30b233ffcb", "threshold_id": "39dbd39d-f663-4444-a795-fb19d81af136", "type": "flat" } ] }
- XML
b'<value>\n <thresholds>\n <item>\n <threshold_id>39dbd39d-f663-4444-a795-fb19d81af136</threshold_id>\n <level>1024</level>\n <type>flat</type>\n <cost>4.2</cost>\n <field_id>ac55b000-a05b-4832-b2ff-265a034886ab</field_id>\n <tenant_id>7977999e-2e25-11e6-a8b2-df30b233ffcb</tenant_id>\n </item>\n </thresholds>\n</value>'
- thresholds¶
阈值列表。
- GET /v1/rating/module_config/hashmap/groups¶
获取组列表
- 返回:
所有组的列表。
- 返回类型:
- GET /v1/rating/module_config/hashmap/groups/(group_id)¶
返回一个组。
- 参数:
group_id (
uuid) – 用于筛选的组 UUID。
- 返回类型:
- DELETE /v1/rating/module_config/hashmap/groups¶
删除一个组。
- 参数:
group_id (
uuid) – 要删除的组的 UUID。recursive (
bool) – 递归删除映射。
- GET /v1/rating/module_config/hashmap/groups/mappings¶
获取附加到该组的映射。
- 参数:
group_id (
uuid) – 用于筛选的组 UUID。
- 返回类型:
- GET /v1/rating/module_config/hashmap/groups/thresholds¶
获取附加到该组的阈值。
- 参数:
group_id (
uuid) – 用于筛选的组 UUID。
- 返回类型:
- type Group¶
描述一个组的类型。
组用于划分计算。它可以用于为实例评级(flavor)创建一个组,以及在有高级镜像(image_id)时创建一个组。因此,您可以在评级过程中考虑多个参数。
数据示例
- Json
{ "group_id": "afe898cb-86d8-4557-ad67-f4f01891bbee", "name": "instance_rating" }
- XML
b'<value>\n <group_id>afe898cb-86d8-4557-ad67-f4f01891bbee</group_id>\n <name>instance_rating</name>\n</value>'
- group_id¶
组的 UUID。
- name¶
组的名称。
- type GroupCollection¶
描述组列表的类型。
数据示例
- Json
{ "groups": [ { "group_id": "afe898cb-86d8-4557-ad67-f4f01891bbee", "name": "instance_rating" } ] }
- XML
b'<value>\n <groups>\n <item>\n <group_id>afe898cb-86d8-4557-ad67-f4f01891bbee</group_id>\n <name>instance_rating</name>\n </item>\n </groups>\n</value>'
- groups¶
组列表。