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);
            }
        }
Ejemplo n.º 2
0
 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);
            }
        }
Ejemplo n.º 4
0
 /// <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);
     }
 }
Ejemplo n.º 5
0
 /// <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);
 }