import type { UseQueryResult } from 'react-query'; import type { BaseRequest, BaseResponse, GetUseQueryOptions } from '../../../types'; export type InstanceAttrCode = 'cpu' | 'memory' | 'instance_class' | 'instance_class_feature' | 'gpu' | 'gpu_class' | 'platform' | 'image_id' | 'baremetal' | 'instance_style' | 'instance_category' | 'instance_type_id' | 'bandwidth' | 'os_disk' | 'ratio' | 'cpu_model' | 'gpu_model' | 'tag'; /** * 获取产品中心instance属性 * @link https://cwiki.yunify.com/pages/viewpage.action?pageId=119164979 */ export interface ProductCenterInstanceAttributesRequest extends BaseRequest { search_word?: string | undefined; sort_key?: string | undefined; reverse?: 0 | 1 | undefined; offset?: number | undefined; limit?: number | undefined; attr_type?: string | undefined; attr_from?: string | undefined; attr_code?: InstanceAttrCode | undefined; } export interface ProductCenterInstanceAttributesResponse extends BaseResponse { total: number; attributes: { attr_id: string; attr_code: InstanceAttrCode; prod_id: string; name: string; value_type: string; unit: string; is_need_meter: number; create_time: string; update_time: string; attr_type: string; attr_from: string; usage: number; filters: { filter_id: string; prod_id: string; name: string; attr_id: string; operator: string; attr_value: string; create_time: string; update_time: string; description?: string; }[]; }[]; } /** * * @see {@link fetchProductCenterInstanceAttributes} */ /** * 请求产品中心instance属性 (from request) * @param params {@link ProductCenterInstanceAttributesRequest} * @returns Observable {@link ProductCenterInstanceAttributesResponse} */ export declare const fromRequestProductCenterInstanceAttributes: (params?: ProductCenterInstanceAttributesRequest | undefined) => import("rxjs").Observable; /** * 请求产品中心instance属性 (request) * @param params {@link ProductCenterInstanceAttributesRequest} * @returns Promise {@link ProductCenterInstanceAttributesResponse} */ export declare const requestProductCenterInstanceAttributes: (params?: ProductCenterInstanceAttributesRequest | undefined) => Promise; /** * useQuery 请求产品中心instance属性 * @param params {@link ProductCenterInstanceAttributesRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link ProductCenterInstanceAttributesResponse} */ export declare const useProductCenterInstanceAttributesQuery: (params?: ProductCenterInstanceAttributesRequest | undefined, options?: GetUseQueryOptions) => UseQueryResult; export type AttrRuleCode = 'zoneIdBindInstanceStyle'; /** * 获取产品中心instance属性约束 * @link https://cwiki.yunify.com/pages/viewpage.action?pageId=119164979 */ export interface ProductCenterInstanceAttrRuleRequest extends BaseRequest { attr_rule_code?: AttrRuleCode[] | undefined; } export interface ProductCenterInstanceAttrRuleResponse extends BaseResponse { attribute_rules: { prod_id: string; attr_rule_id: string; attr_rule_code: AttrRuleCode; name: string; create_time: string; update_time: string; rules: { attr_code: string; attr_value: string; target_attr_code: InstanceAttrCode; target_attr_values: string[]; }[]; }[]; } /** * 请求产品中心instance属性约束 (from request) * @param params {@link ProductCenterInstanceAttrRuleRequest} * @returns Observable {@link ProductCenterInstanceAttrRuleResponse} */ export declare const fromRequestProductCenterInstanceAttrRule: (params?: ProductCenterInstanceAttrRuleRequest | undefined) => import("rxjs").Observable; /** * 请求产品中心instance属性约束 (request) * @param params {@link ProductCenterInstanceAttrRuleRequest} * @returns Promise {@link ProductCenterInstanceAttrRuleResponse} */ export declare const requestProductCenterInstanceAttrRule: (params?: ProductCenterInstanceAttrRuleRequest | undefined) => Promise; /** * useQuery 请求产品中心instance属性约束 * @param params {@link ProductCenterInstanceAttrRuleRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link ProductCenterInstanceAttrRuleResponse} */ export declare const useProductCenterInstanceAttrRuleQuery: (params?: ProductCenterInstanceAttrRuleRequest | undefined, options?: GetUseQueryOptions) => UseQueryResult;