public void JitNetworkAccessPolicies_CreateOrUpdate() { using (var context = MockContext.Start(this.GetType().FullName)) { var securityCenterClient = GetSecurityCenterClient(context); var vm = new List <JitNetworkAccessPolicyVirtualMachine>() { new JitNetworkAccessPolicyVirtualMachine() { Id = "/subscriptions/487bb485-b5b0-471e-9c0d-10717612f869/resourceGroups/myService1/providers/Microsoft.Compute/virtualMachines/syslogmyservice1vm", Ports = new List <JitNetworkAccessPortRule>() { new JitNetworkAccessPortRule(8080, "TCP", "PT5H", "192.168.0.5") } } }; var policy = new JitNetworkAccessPolicy() { Kind = "Basic", VirtualMachines = vm }; var jitNetworkAccessPolicy = securityCenterClient.JitNetworkAccessPolicies.CreateOrUpdate("mainWS", "default", policy); ValidateJitNetworkAccessPolicy(jitNetworkAccessPolicy); } }
public static PSSecurityJitNetworkAccessPolicy ConvertToPSType(this JitNetworkAccessPolicy value) { return(new PSSecurityJitNetworkAccessPolicy() { Id = value.Id, Kind = value.Kind, Name = value.Name, ProvisioningState = value.ProvisioningState, Requests = value.Requests.ConvertToPSType(), VirtualMachines = value.VirtualMachines.ConvertToPSType() }); }
public override void ExecuteCmdlet() { var jitPolicy = new JitNetworkAccessPolicy(VirtualMachine.ConvertToCSType()); jitPolicy.Kind = Kind; if (ShouldProcess(Name, VerbsCommon.Set)) { SecurityCenterClient.AscLocation = Location; var aps = SecurityCenterClient.JitNetworkAccessPolicies.CreateOrUpdateWithHttpMessagesAsync(ResourceGroupName, Name, jitPolicy).GetAwaiter().GetResult().Body; WriteObject(aps.ConvertToPSType(), enumerateCollection: false); } }
/// <summary> /// Create a policy for protecting resources using Just-in-Time access control /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group within the user's subscription. The name is /// case insensitive. /// </param> /// <param name='jitNetworkAccessPolicyName'> /// Name of a Just-in-Time access configuration policy. /// </param> /// <param name='body'> /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <JitNetworkAccessPolicy> CreateOrUpdateAsync(this IJitNetworkAccessPoliciesOperations operations, string resourceGroupName, string jitNetworkAccessPolicyName, JitNetworkAccessPolicy body, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, jitNetworkAccessPolicyName, body, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create a policy for protecting resources using Just-in-Time access control /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group within the user's subscription. The name is /// case insensitive. /// </param> /// <param name='jitNetworkAccessPolicyName'> /// Name of a Just-in-Time access configuration policy. /// </param> /// <param name='body'> /// </param> public static JitNetworkAccessPolicy CreateOrUpdate(this IJitNetworkAccessPoliciesOperations operations, string resourceGroupName, string jitNetworkAccessPolicyName, JitNetworkAccessPolicy body) { return(operations.CreateOrUpdateAsync(resourceGroupName, jitNetworkAccessPolicyName, body).GetAwaiter().GetResult()); }
private void ValidateJitNetworkAccessPolicy(JitNetworkAccessPolicy jitNetworkAccessPolicy) { Assert.NotNull(jitNetworkAccessPolicy); }