UNPKG

@altostra/core

Version:

Core library for shared types and logic

41 lines (40 loc) 1.95 kB
import type { Blueprint } from "../../../blueprint"; import type { ResourceId } from "../../../blueprint/Resources/ResourceId"; export interface DesignRecommendationsRequest { blueprint: Blueprint; } export interface DesignRecommendationsResponse { recommendations: Recommendation[]; } export interface RecommendationBase { issueCode: string; severity: Severity; text: string; url?: string; issueType: IssueType; suggestions: Suggestion[]; } export interface ResourceRecommendation extends RecommendationBase { resource: ResourceId; } export interface ConnectionRecommendation extends RecommendationBase { connection: ConnectionId; } export declare type Recommendation = ConnectionRecommendation | ResourceRecommendation; export interface ConnectionId { source: ResourceId; target: ResourceId; } export interface Suggestion { description: string; blueprint: Blueprint; } export declare type Severity = 'Error' | 'Information' | 'Warning'; export declare type IssueType = 'Billing' | 'Compliance' | 'Connectivity' | 'Misc' | 'Security'; export declare const isDesignRecommendationsRequest: import("@altostra/type-validations").ObjectOfTypeValidation<DesignRecommendationsRequest>; export declare const isSeverity: import("@altostra/type-validations").TypeValidation<Severity>; export declare const isIssueType: import("@altostra/type-validations").TypeValidation<IssueType>; export declare const isResourceRecommendation: import("@altostra/type-validations").ObjectOfTypeValidation<ResourceRecommendation>; export declare const isConnectionRecommendation: import("@altostra/type-validations").ObjectOfTypeValidation<ConnectionRecommendation>; export declare const isRecommendation: import("@altostra/type-validations").TypeValidation<Recommendation>; export declare const isDesignRecommendationsResponse: import("@altostra/type-validations").ObjectOfTypeValidation<DesignRecommendationsResponse>;