import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class LocationsJitNetworkAccessPolicies extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'locations_jitNetworkAccessPolicies' , } ) ; } } schema export interface LocationsJitNetworkAccessPoliciesOptions { schema readonly apiVersion ? : MicrosoftSecurityLocationsJitNetworkAccessPoliciesApiVersion ; schema readonly kind ? : string ; schema readonly name : string ; schema readonly properties : JitNetworkAccessPolicyProperties ; schema readonly type : MicrosoftSecurityLocationsJitNetworkAccessPoliciesType ; } export enum MicrosoftSecurityLocationsJitNetworkAccessPoliciesApiVersion { "MicrosoftSecurityLocationsJitNetworkAccessPoliciesApiVersion_2020_01_01" = '2020-01-01' } schema export interface JitNetworkAccessPolicyProperties { schema readonly requests ? : JitNetworkAccessRequest [ ] ; schema readonly virtualMachines : JitNetworkAccessPolicyVirtualMachine [ ] ; } export enum MicrosoftSecurityLocationsJitNetworkAccessPoliciesType { "MicrosoftSecurityLocationsJitNetworkAccessPoliciesType_MICROSOFT_SECURITY_LOCATIONS_JIT_NETWORK_ACCESS_POLICIES" = 'Microsoft.Security/locations/jitNetworkAccessPolicies' } schema export interface JitNetworkAccessRequest { schema readonly justification ? : string ; schema readonly requestor : string ; schema readonly startTimeUtc : Date ; schema readonly virtualMachines : JitNetworkAccessRequestVirtualMachine [ ] ; } schema export interface JitNetworkAccessPolicyVirtualMachine { schema readonly id : string ; schema readonly ports : JitNetworkAccessPortRule [ ] ; schema readonly publicIpAddress ? : string ; } schema export interface JitNetworkAccessRequestVirtualMachine { schema readonly id : string ; schema readonly ports : JitNetworkAccessRequestPort [ ] ; } schema export interface JitNetworkAccessPortRule { schema readonly allowedSourceAddressPrefix ? : string ; schema readonly allowedSourceAddressPrefixes ? : string [ ] ; schema readonly maxRequestAccessDuration : string ; schema readonly number : number ; schema readonly protocol : JitNetworkAccessPortRuleProtocol ; } schema export interface JitNetworkAccessRequestPort { schema readonly allowedSourceAddressPrefix ? : string ; schema readonly allowedSourceAddressPrefixes ? : string [ ] ; schema readonly endTimeUtc : Date ; schema readonly mappedPort ? : number ; schema readonly number : number ; schema readonly status : JitNetworkAccessRequestPortStatus ; schema readonly statusReason : JitNetworkAccessRequestPortStatusReason ; } export enum JitNetworkAccessPortRuleProtocol { TCP = 'TCP' , UDP = 'UDP' , "JitNetworkAccessPortRuleProtocol_" = '*' } export enum JitNetworkAccessRequestPortStatus { REVOKED = 'Revoked' , INITIATED = 'Initiated' } export enum JitNetworkAccessRequestPortStatusReason { EXPIRED = 'Expired' , USER_REQUESTED = 'UserRequested' , NEWER_REQUEST_INITIATED = 'NewerRequestInitiated' }