/// import type { ILogService, IQService } from 'angular'; import type { Application } from '../application/application.model'; import type { ProviderServiceDelegate } from '../cloudProvider/providerService.delegate'; import type { ISecurityGroup } from '../domain'; import type { IEntityTags } from '../domain/IEntityTags'; import type { IMoniker } from '../naming/IMoniker'; import type { SecurityGroupTransformerService } from './securityGroupTransformer.service'; export interface ISecurityGroupsByAccount { [account: string]: { [region: string]: { [name: string]: ISecurityGroup; }; }; } export interface IApplicationSecurityGroup { name: string; } export interface IReaderSecurityGroup extends ISecurityGroup { securityGroups: { [region: string]: ISecurityGroup[]; }; } export interface IRangeRule { portRanges: Array<{ startPort: number; endPort: number; }>; protocol: string; description: string; } export interface ISecurityGroupRule extends IRangeRule { securityGroup: ISecurityGroup; } export interface IAddressableRange { ip: string; cidr: string; } export interface IIPRangeRule extends IRangeRule { range: IAddressableRange; } export interface ISecurityGroupProcessorResult { notFoundCaught: boolean; securityGroups: ISecurityGroup[]; } export interface ISecurityGroupSummary { id: string; name: string; vpcId: string; moniker?: IMoniker; } export interface ISecurityGroupsByAccountSourceData { [account: string]: { [provider: string]: { [region: string]: ISecurityGroupSummary[]; }; }; } export interface ISecurityGroupDetail { inboundRules: ISecurityGroupRule[] & IIPRangeRule[]; ipRangeRules: ISecurityGroupRule[]; region: string; name: string; entityTags: IEntityTags; securityGroupRules: ISecurityGroupRule[]; } export declare class SecurityGroupReader { private $log; private $q; private securityGroupTransformer; private providerServiceDelegate; private static indexSecurityGroups; private static attachUsageFields; private static sortUsages; private resolve; private addLoadBalancerSecurityGroups; private addNameBasedSecurityGroups; private addServerGroupSecurityGroups; private clearCacheAndRetryAttachingSecurityGroups; private addNamePartsToSecurityGroup; private attachSecurityGroups; static $inject: string[]; constructor($log: ILogService, $q: IQService, securityGroupTransformer: SecurityGroupTransformerService, providerServiceDelegate: ProviderServiceDelegate); private getAllSecurityGroupsPromise; getAllSecurityGroups(): PromiseLike; private compress; private decompress; getApplicationSecurityGroup(application: Application, account: string, region: string, id: string): IApplicationSecurityGroup; getApplicationSecurityGroups(application: Application, nameBasedSecurityGroups: ISecurityGroup[]): PromiseLike; getSecurityGroupDetails(application: Application, account: string, provider: string, region: string, vpcId: string, id: string): PromiseLike; loadSecurityGroups(): PromiseLike; loadSecurityGroupsByApplicationName(applicationName: string): PromiseLike; } export declare const SECURITY_GROUP_READER = "spinnaker.core.securityGroup.read.service";