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(() =>
            {
                if (ShouldProcess(this.Name, VerbsCommon.Remove) &&
                    (this.Force.IsPresent ||
                     this.ShouldContinue(Properties.Resources.ResourceRemovalConfirmation,
                                         "Remove-AzProximityPlacementGroup operation")))
                {
                    string resourceGroupName;
                    string proximityPlacementGroupName;
                    switch (this.ParameterSetName)
                    {
                    case "ResourceIdParameter":
                        resourceGroupName           = GetResourceGroupName(this.ResourceId);
                        proximityPlacementGroupName = GetResourceName(this.ResourceId, "Microsoft.Compute/proximityPlacementGroups");
                        break;

                    case "ObjectParameter":
                        resourceGroupName           = GetResourceGroupName(this.InputObject.Id);
                        proximityPlacementGroupName = GetResourceName(this.InputObject.Id, "Microsoft.Compute/proximityPlacementGroups");
                        break;

                    default:
                        resourceGroupName           = this.ResourceGroupName;
                        proximityPlacementGroupName = this.Name;
                        break;
                    }

                    var result = ProximityPlacementGroupsClient.DeleteWithHttpMessagesAsync(resourceGroupName, proximityPlacementGroupName).GetAwaiter().GetResult();
                    PSOperationStatusResponse output = new PSOperationStatusResponse
                    {
                        StartTime = this.StartTime,
                        EndTime   = DateTime.Now
                    };

                    if (result != null)
                    {
                        output.Name = result.RequestId;
                    }

                    WriteObject(output);
                }
            });
        }
Example #3
0
        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);
                }
            });
        }