public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { if (ShouldProcess(this.Name, VerbsCommon.New)) { string resourceGroupName = this.ResourceGroupName; string proximityPlacementGroupName = this.Name; ProximityPlacementGroup parameters = new ProximityPlacementGroup(); if (this.ProximityPlacementGroupType != null) { parameters.ProximityPlacementGroupType = this.ProximityPlacementGroupType; } parameters.Location = this.Location; parameters.Tags = this.IsParameterBound(c => c.Tag) ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null; var result = ProximityPlacementGroupsClient.CreateOrUpdate(resourceGroupName, proximityPlacementGroupName, parameters); var psObject = new PSProximityPlacementGroup(); ComputeAutomationAutoMapperProfile.Mapper.Map <ProximityPlacementGroup, PSProximityPlacementGroup>(result, psObject); WriteObject(psObject); } }); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { string resourceGroupName; string proximityPlacementGroupName; switch (this.ParameterSetName) { case "ResourceIdParameter": resourceGroupName = GetResourceGroupName(this.ResourceId); proximityPlacementGroupName = GetResourceName(this.ResourceId, "Microsoft.Compute/proximityPlacementGroups"); break; default: resourceGroupName = this.ResourceGroupName; proximityPlacementGroupName = this.Name; break; } string includeColocationStatus = this.ColocationStatus.IsPresent.ToString().ToLowerInvariant(); if (ShouldGetByName(resourceGroupName, proximityPlacementGroupName)) { var result = ProximityPlacementGroupsClient.Get(resourceGroupName, proximityPlacementGroupName, includeColocationStatus); var psObject = new PSProximityPlacementGroup(); ComputeAutomationAutoMapperProfile.Mapper.Map <ProximityPlacementGroup, PSProximityPlacementGroup>(result, psObject); WriteObject(psObject); } else if (ShouldListByResourceGroup(resourceGroupName, proximityPlacementGroupName)) { var result = ProximityPlacementGroupsClient.ListByResourceGroup(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = ProximityPlacementGroupsClient.ListByResourceGroupNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSProximityPlacementGroupList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <ProximityPlacementGroup, PSProximityPlacementGroupList>(r)); } WriteObject(TopLevelWildcardFilter(resourceGroupName, proximityPlacementGroupName, psObject), true); } else { var result = ProximityPlacementGroupsClient.ListBySubscription(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = ProximityPlacementGroupsClient.ListBySubscriptionNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSProximityPlacementGroupList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <ProximityPlacementGroup, PSProximityPlacementGroupList>(r)); } WriteObject(TopLevelWildcardFilter(resourceGroupName, proximityPlacementGroupName, psObject), true); } }); }