| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from datetime import datetime
- from resource.enums.region import Region
- from resource.service.FeiShuService import FeiShuService
- from resource.service.KVStoreService import KVStoreService
- from resource.utils.utils import value_covert, bottom_right, convert_storage_unit
- kv_store_service = KVStoreService()
- fei_shu_service = FeiShuService()
- fei_shu_spread_sheet_token = "XzQGsheQzhk74rtknKacClASnTc"
- fei_shu_sheet_id = "25dce4"
- tenant_access_token = fei_shu_service.get_tenant_access_token("cli_a89702999f3c900b", "47ewnaxRqJAvHYdUR8idHgfzfeqAu0Pz")
- charge_type_map = {
- "PrePaid": "预付费",
- "PostPaid": "后付费",
- }
- architecture_type_map = {
- "cluster": "集群版",
- "standard": "标准版",
- "rwsplit": "读写分离版"
- }
- status_map = {
- "Normal": "正常",
- "Creating": "创建中",
- "Changing": "修改中",
- "Inactive": "被禁用",
- "Flushing": "清除中",
- "Released": "已释放",
- "Transforming": "转换中",
- "Unavailable": "服务停止",
- "Error": "创建失败",
- "Migrating": "迁移中",
- "BackupRecovering": "备份恢复中",
- "MinorVersionUpgrading": "小版本升级中",
- "NetworkModifying": "网络变更中",
- "SSLModifying": "SSL 变更中",
- "MajorVersionUpgrading": "大版本升级中,可正常访问"
- }
- def main():
- region_list = [Region.HANG_ZHOU, Region.HONG_KONG, Region.US_WEST, Region.SOUTHEAST]
- for region in region_list:
- all_instances = kv_store_service.get_all_instance(region=region)
- for instance in all_instances:
- dt = datetime.now().strftime('%Y-%m-%d')
- instance_id = instance.instance_id # 实例ID
- instance_name = instance.instance_name # 实例名
- instance_status = value_covert(instance.instance_status, status_map) # 实例状态
- instance_type = instance.instance_type # 实例类型
- zone_id = instance.zone_id # 可用区ID
- architecture_type = value_covert(instance.architecture_type, architecture_type_map) # 架构类型
- engine_version = instance.engine_version # 兼容的Redis版本
- charge_type = value_covert(instance.charge_type, charge_type_map) # 付费类型
- capacity = convert_storage_unit(instance.capacity, "mb", "gb") # 容量
- values = [[dt, region.desc, zone_id, instance_id, instance_name, instance_status, instance_type, architecture_type, engine_version, charge_type, capacity]]
- start_col = "A2"
- end_col = bottom_right(start_col, values)
- fei_shu_service.spreadsheet_values_prepend(tenant_access_token, fei_shu_spread_sheet_token, f"{fei_shu_sheet_id}!{start_col}:{end_col}", values)
- if __name__ == "__main__":
- main()
|