public override void Execute() { base.Execute(); MNM.SecurityGroupViewParameters properties = new MNM.SecurityGroupViewParameters(); properties.TargetResourceId = this.TargetVirtualMachineId; PSSecurityGroupViewResult securityGroupView = new PSSecurityGroupViewResult(); if (string.Equals(this.ParameterSetName, "SetByLocation", StringComparison.OrdinalIgnoreCase)) { var networkWatcher = this.GetNetworkWatcherByLocation(this.Location); if (networkWatcher == null) { throw new ArgumentException("There is no network watcher in location {0}", this.Location); } this.ResourceGroupName = NetworkBaseCmdlet.GetResourceGroup(networkWatcher.Id); this.NetworkWatcherName = networkWatcher.Name; securityGroupView = GetSecurityGroupView(this.ResourceGroupName, this.NetworkWatcherName, properties); } else if (string.Equals(this.ParameterSetName, "SetByResource", StringComparison.OrdinalIgnoreCase)) { securityGroupView = GetSecurityGroupView(this.NetworkWatcher.ResourceGroupName, this.NetworkWatcher.Name, properties); } else { securityGroupView = GetSecurityGroupView(this.ResourceGroupName, this.NetworkWatcherName, properties); } WriteObject(securityGroupView); }
public override void Execute() { base.Execute(); MNM.SecurityGroupViewParameters properties = new MNM.SecurityGroupViewParameters(); properties.TargetResourceId = this.TargetVirtualMachineId; PSSecurityGroupViewResult securityGroupView = new PSSecurityGroupViewResult(); if (ParameterSetName.Contains("SetByResource")) { securityGroupView = GetSecurityGroupView(this.NetworkWatcher.ResourceGroupName, this.NetworkWatcher.Name, properties); } else { securityGroupView = GetSecurityGroupView(this.ResourceGroupName, this.NetworkWatcherName, properties); } WriteObject(securityGroupView); }
public PSSecurityGroupViewResult GetSecurityGroupView(string resourceGroupName, string name, MNM.SecurityGroupViewParameters properties, string expandResource = null) { MNM.SecurityGroupViewResult securityGroupView = this.NetworkWatcherClient.GetVMSecurityRules(resourceGroupName, name, properties); var networkInterfaces = new PSSecurityGroupViewResult(); networkInterfaces.NetworkInterfaces = new List <PSSecurityGroupView>(); foreach (var view in securityGroupView.NetworkInterfaces) { PSSecurityGroupView securityRules = new PSSecurityGroupView(); securityRules.NetworkInterfaceId = view.Id; if (view.SecurityRuleAssociations.NetworkInterfaceAssociation != null) { securityRules.NetworkInterfaceSecurityRules = new List <PSSecurityRule>(); var customSecurityRulesList = view.SecurityRuleAssociations.NetworkInterfaceAssociation.SecurityRules; foreach (var rule in customSecurityRulesList) { PSSecurityRule psRule = Mapper.Map <PSSecurityRule>(rule); securityRules.NetworkInterfaceSecurityRules.Add(psRule); } } if (view.SecurityRuleAssociations.SubnetAssociation != null) { securityRules.SubnetId = view.SecurityRuleAssociations.SubnetAssociation.Id; securityRules.SubnetSecurityRules = new List <PSSecurityRule>(); var subnetSecurityRulesList = view.SecurityRuleAssociations.SubnetAssociation.SecurityRules; foreach (var rule in subnetSecurityRulesList) { PSSecurityRule psRule = Mapper.Map <PSSecurityRule>(rule); securityRules.SubnetSecurityRules.Add(psRule); } } securityRules.DefaultSecurityRules = new List <PSSecurityRule>(); var defaultSecurityRulesList = view.SecurityRuleAssociations.DefaultSecurityRules; foreach (var rule in defaultSecurityRulesList) { PSSecurityRule psRule = Mapper.Map <PSSecurityRule>(rule); securityRules.DefaultSecurityRules.Add(psRule); } securityRules.EffectiveSecurityRules = new List <PSEffectiveSecurityRule>(); var effectiveSecurityRulesList = view.SecurityRuleAssociations.EffectiveSecurityRules; foreach (var rule in effectiveSecurityRulesList) { PSEffectiveSecurityRule psRule = Mapper.Map <PSEffectiveSecurityRule>(rule); securityRules.EffectiveSecurityRules.Add(psRule); } networkInterfaces.NetworkInterfaces.Add(securityRules); } return(networkInterfaces); }