public PSVpnServerConfigurationPolicyGroup CreateOrUpdateVpnServerConfigurationPolicyGroup(string resourceGroupName, string parentVpnServerConfigurationName, string name, PSVpnServerConfigurationPolicyGroup vpnServerConfigurationPolicyGroup) { var vpnServerConfigurationPolicyGroupModel = NetworkResourceManagerProfile.Mapper.Map <MNM.VpnServerConfigurationPolicyGroup>(vpnServerConfigurationPolicyGroup); var vpnServerConfigurationPolicyGroupCreatedOrUpdated = this.ConfigurationPolicyGroupClient.CreateOrUpdate(resourceGroupName, parentVpnServerConfigurationName, name, vpnServerConfigurationPolicyGroupModel); PSVpnServerConfigurationPolicyGroup vpnServerConfigurationPolicyGroupToReturn = this.ToPsVpnServerConfigurationPolicyGroup(vpnServerConfigurationPolicyGroupCreatedOrUpdated); return(vpnServerConfigurationPolicyGroupToReturn); }
private PSVpnServerConfigurationPolicyGroup UpdatePolicyGroup() { PSVpnServerConfiguration parentVpnServerConfiguration = null; PSVpnServerConfigurationPolicyGroup policyGroupToUpdate = null; if (ParameterSetName.Equals(CortexParameterSetNames.ByVpnServerConfigurationObject, StringComparison.OrdinalIgnoreCase)) { this.ResourceGroupName = this.ServerConfigurationObject.ResourceGroupName; this.ServerConfigurationName = this.ServerConfigurationObject.Name; } else if (ParameterSetName.Equals(CortexParameterSetNames.ByVpnServerConfigurationResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(this.ServerConfigurationResourceId); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.ServerConfigurationName = parsedResourceId.ResourceName; } if (string.IsNullOrWhiteSpace(this.ResourceGroupName) || string.IsNullOrWhiteSpace(this.ServerConfigurationName)) { throw new PSArgumentException(Properties.Resources.VpnServerConfigurationRequiredToCreateOrUpdatePolicyGroup); } parentVpnServerConfiguration = GetVpnServerConfiguration(this.ResourceGroupName, this.ServerConfigurationName); if (parentVpnServerConfiguration == null) { throw new PSArgumentException(Properties.Resources.VpnServerConfigurationRequiredToCreateOrUpdatePolicyGroup); } policyGroupToUpdate = GetVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name); if (policyGroupToUpdate == null) { throw new PSArgumentException(Properties.Resources.VpnServerConfigurationPolicyGroupNotFound); } if (this.Priority > 0) { policyGroupToUpdate.Priority = this.Priority; } if (this.DefaultPolicyGroup.HasValue) { policyGroupToUpdate.IsDefault = this.DefaultPolicyGroup.Value; } if (this.PolicyMember != null) { policyGroupToUpdate.PolicyMembers = new List <PSVpnServerConfigurationPolicyGroupMember>(); policyGroupToUpdate.PolicyMembers.AddRange(this.PolicyMember); } this.CreateOrUpdateVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name, policyGroupToUpdate); return(this.GetVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name)); }
public override void Execute() { if (ParameterSetName.Equals(CortexParameterSetNames.ByVpnServerConfigurationObject, StringComparison.OrdinalIgnoreCase)) { this.ResourceGroupName = this.ServerConfigurationObject.ResourceGroupName; this.ServerConfigurationName = this.ServerConfigurationObject.Name; } else if (ParameterSetName.Equals(CortexParameterSetNames.ByVpnServerConfigurationResourceId, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(this.ServerConfigurationResourceId); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.ServerConfigurationName = parsedResourceId.ResourceName; } // Get the VpnServerConfigurationPolicyGroup object - this will throw not found if the object is not found PSVpnServerConfigurationPolicyGroup configurationPolicyGroupToRemove = this.GetVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name); if (configurationPolicyGroupToRemove == null) { throw new PSArgumentException(Properties.Resources.VpnServerConfigurationPolicyGroupNotFound); } else { base.Execute(); ConfirmAction( Force.IsPresent, string.Format(Properties.Resources.RemovingResource, this.Name), Properties.Resources.RemoveResourceMessage, this.Name, () => { this.ConfigurationPolicyGroupClient.Delete(this.ResourceGroupName, this.ServerConfigurationName, this.Name); if (PassThru) { WriteObject(true); } }); } }
private PSVpnServerConfigurationPolicyGroup VpnServerConfigurationPolicy() { base.Execute(); PSVpnServerConfiguration parentVpnServerConfiguration = null; //// Resolve the VpnServerConfiguration if (ParameterSetName.Contains(CortexParameterSetNames.ByVpnServerConfigurationObject)) { this.ResourceGroupName = this.ServerConfigurationObject.ResourceGroupName; this.ServerConfigurationName = this.ServerConfigurationObject.Name; } else if (ParameterSetName.Contains(CortexParameterSetNames.ByVpnServerConfigurationResourceId)) { var parsedResourceId = new ResourceIdentifier(this.ServerConfigurationResourceId); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.ServerConfigurationName = parsedResourceId.ResourceName; } if (string.IsNullOrWhiteSpace(this.ResourceGroupName) || string.IsNullOrWhiteSpace(this.ServerConfigurationName)) { throw new PSArgumentException(Properties.Resources.VpnServerConfigurationRequiredToCreateOrUpdatePolicyGroup); } //// At this point, we should have the resource name and the resource group for the parent VpnServerConfiguration resolved. //// This will throw not found exception if the VpnServerConfiguration does not exist parentVpnServerConfiguration = this.GetVpnServerConfiguration(this.ResourceGroupName, this.ServerConfigurationName); if (parentVpnServerConfiguration == null) { throw new PSArgumentException(Properties.Resources.ParentVpnServerConfigurationNotFound); } if (this.IsVpnServerConfigurationPolicyGroupPresent(this.ResourceGroupName, this.ServerConfigurationName, this.Name)) { throw new PSArgumentException(string.Format(Properties.Resources.ChildResourceAlreadyPresentInResourceGroup, this.Name, this.ResourceGroupName, this.ServerConfigurationName)); } // Create VpnServerConfigurationPolicyGroup PSVpnServerConfigurationPolicyGroup policyGroup = new PSVpnServerConfigurationPolicyGroup { Name = this.Name, Priority = this.Priority, PolicyMembers = new List <PSVpnServerConfigurationPolicyGroupMember>() }; if (this.DefaultPolicyGroup.IsPresent) { policyGroup.IsDefault = true; } else { policyGroup.IsDefault = false; } if (this.PolicyMember != null && this.PolicyMember.Any()) { policyGroup.PolicyMembers.AddRange(this.PolicyMember); } PSVpnServerConfigurationPolicyGroup policyGroupToReturn = null; ConfirmAction( Properties.Resources.CreatingResourceMessage, this.Name, () => { WriteVerbose(String.Format(Properties.Resources.CreatingChildResourceLongRunningOperationMessage, this.ResourceGroupName, this.ServerConfigurationName, this.Name)); this.CreateOrUpdateVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name, policyGroup); policyGroupToReturn = this.GetVpnServerConfigurationPolicyGroup(this.ResourceGroupName, this.ServerConfigurationName, this.Name); }); return(policyGroupToReturn); }