public async Task UpdateOutboundRule(string resourceGroupName, string securityGroupName, NsgRuleDto rule, CancellationToken cancellationToken = default) { var operationStep1 = _azure.NetworkSecurityGroups .GetByResourceGroup(resourceGroupName, securityGroupName) .Update(); var operationStep2 = operationStep1 .UpdateRule(rule.Name); var operationStep3 = (rule.Action == RuleAction.Allow ? operationStep2.AllowOutbound() : operationStep2.DenyOutbound()) .FromAddresses(rule.SourceAddress); var operationStep4 = (rule.SourcePort == 0 ? operationStep3.FromAnyPort() : operationStep3.FromPort(rule.SourcePort)); //ruleMapped.DestinationAddress = "*"; //ruleMapped.DestinationPort = 0; var operationStep5 = (rule.DestinationAddress == "*" ? operationStep4.ToAnyAddress() : operationStep2.ToAddress(rule.DestinationAddress)); _ = operationStep5 .ToAnyPort() .WithAnyProtocol() .WithPriority(rule.Priority) .WithDescription(rule.Description); await operationStep1.ApplyAsync(); }
public async Task AddInboundRule(string resourceGroupName, string securityGroupName, NsgRuleDto rule, CancellationToken cancellationToken = default) { var createOperation = _azure.NetworkSecurityGroups .GetByResourceGroup(resourceGroupName, securityGroupName) .Update() .DefineRule(rule.Name); var operationWithRules = (rule.Action == RuleAction.Allow ? createOperation.AllowInbound() : createOperation.DenyInbound()) .FromAddresses(rule.SourceAddress) .FromAnyPort() .ToAddresses(rule.DestinationAddress); _ = await(rule.DestinationPort == 0 ? operationWithRules.ToAnyPort() : operationWithRules.ToPort(rule.DestinationPort)) .WithAnyProtocol() .WithPriority(rule.Priority) .WithDescription(rule.Description) .Attach() .ApplyAsync(cancellationToken); }
public async Task UpdateInboundRule(string resourceGroupName, string securityGroupName, NsgRuleDto rule, CancellationToken cancellationToken = default) { var updateNsgOperation = _azure.NetworkSecurityGroups .GetByResourceGroup(resourceGroupName, securityGroupName) .Update(); var updateRuleOp = updateNsgOperation .UpdateRule(rule.Name); //Decide of allow or deny (rule.Action == RuleAction.Allow ? updateRuleOp.AllowInbound() : updateRuleOp.DenyInbound()) .FromAddresses(rule.SourceAddress) .FromAnyPort() .ToAddresses(rule.DestinationAddress); _ = (rule.DestinationPort == 0 ? updateRuleOp.ToAnyPort() : updateRuleOp.ToPort(rule.DestinationPort)) .WithAnyProtocol() .WithPriority(rule.Priority) .WithDescription(rule.Description); await updateNsgOperation.ApplyAsync(); }