Azure-Sentinel/.script/utils/playbookCheckers/playbookARMTemplateUtils.ts

25 строки
1.1 KiB
TypeScript
Исходник Обычный вид История

2021-05-23 12:29:55 +03:00
import { ArmTemplate, ArmTemplateResource } from "./Models/armTemplateModels";
import { PlaybookTemplateMetadata } from "./Models/playbookTemplateMetadata";
export type PlaybookArmTemplate = ArmTemplate<PlaybookTemplateMetadata>;
export type StringMap<T> = { [key: string]: T; };
2021-05-23 13:40:16 +03:00
export const PlaybookNameParameter = "PlaybookName";
export const ResourceLocationFromResourceGroupValue = "[resourceGroup().location]";
2021-05-23 12:29:55 +03:00
export function getTemplatePlaybookResources(armTemplate: ArmTemplate<any>): ArmTemplateResource[] {
return armTemplate?.resources.filter((resource: ArmTemplateResource) => resource.type === "Microsoft.Logic/workflows");
}
export function isPlaybookUsingGalleryMetadata(armTemplate: ArmTemplate<any>): boolean {
return !isNullOrUndefined(armTemplate?.metadata?.title) && !isNullOrUndefined(armTemplate?.metadata?.description) && !isNullOrUndefined(armTemplate?.metadata?.author);
}
2021-05-23 12:29:55 +03:00
export function isNullOrUndefined(value: any): boolean {
return value === undefined || value === null;
}
export function isNullOrWhitespace(value: string): boolean {
return isNullOrUndefined(value) || value.trim().length === 0;
2021-05-23 12:29:55 +03:00
}