public override void ExecuteCmdlet()
        {
            ConfirmAction(
            Force.IsPresent,
            string.Format(Resources.RemoveVMRoleConfirmationMessage, VMRole.Name),
            string.Format(Resources.RemoveVMRoleMessage),
            VMRole.Name,
            () =>
            {
                JobInfo jobInfo = null;
                Guid? vmRoleJobId = null;
                Guid? cloudJobId = null;
                var vmRoleOperations = new VMRoleOperations(this.WebClientFactory);
                
                if (this.ParameterSetName == WAPackCmdletParameterSets.FromVMRoleObject)
                {
                    vmRoleOperations.Delete(VMRole.Name, VMRole.Name, out vmRoleJobId);
                    jobInfo = WaitForJobCompletion(vmRoleJobId);

                    // If no CloudService name is given, we assume the VMRole was created using WAP
                    // in which case the CloudService name is the same as the VMRole name
                    var cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);
                    cloudServiceOperations.Delete(VMRole.Name, out cloudJobId);
                    WaitForJobCompletion(vmRoleJobId);
                }
                else if (this.ParameterSetName == WAPackCmdletParameterSets.FromCloudService)
                {
                    vmRoleOperations.Delete(this.CloudServiceName, VMRole.Name, out vmRoleJobId);
                    jobInfo = WaitForJobCompletion(vmRoleJobId);
                }

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
Пример #2
0
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RemoveVMRoleConfirmationMessage, VMRole.Name),
                string.Format(Resources.RemoveVMRoleMessage),
                VMRole.Name,
                () =>
            {
                JobInfo jobInfo      = null;
                Guid?vmRoleJobId     = null;
                Guid?cloudJobId      = null;
                var vmRoleOperations = new VMRoleOperations(this.WebClientFactory);

                if (this.ParameterSetName == WAPackCmdletParameterSets.FromVMRoleObject)
                {
                    vmRoleOperations.Delete(VMRole.Name, VMRole.Name, out vmRoleJobId);
                    jobInfo = WaitForJobCompletion(vmRoleJobId);

                    // If no CloudService name is given, we assume the VMRole was created using WAP
                    // in which case the CloudService name is the same as the VMRole name
                    var cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);
                    cloudServiceOperations.Delete(VMRole.Name, out cloudJobId);
                    WaitForJobCompletion(vmRoleJobId);
                }
                else if (this.ParameterSetName == WAPackCmdletParameterSets.FromCloudService)
                {
                    vmRoleOperations.Delete(this.CloudServiceName, VMRole.Name, out vmRoleJobId);
                    jobInfo = WaitForJobCompletion(vmRoleJobId);
                }

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
Пример #3
0
        public void ShouldDeleteVMRole()
        {
            var mockChannel = new MockRequestChannel();

            mockChannel.AddReturnObject(new VMRole {
                Name = vmRoleName, Label = vmRoleLabel
            }, new WebHeaderCollection {
                "x-ms-request-id:" + Guid.NewGuid()
            });

            Guid?jobOut;
            var  vmRoleOperations = new VMRoleOperations(new WebClientFactory(new Subscription(), mockChannel));

            vmRoleOperations.Delete(cloudServiceName, vmRoleName, out jobOut);

            Assert.Equal(mockChannel.ClientRequests.Count, 1);
            Assert.Equal(HttpMethod.Delete.ToString(), mockChannel.ClientRequests[0].Item1.Method);

            // Check the URI (for Azure consistency)
            var requestList = mockChannel.ClientRequests;

            Assert.Equal(1, requestList.Count);
            Assert.Equal(String.Format(specificBaseUri, cloudServiceName, vmRoleName), mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
        }
        public void ShouldDeleteVMRole()
        {
            var mockChannel = new MockRequestChannel();
            mockChannel.AddReturnObject(new VMRole { Name = vmRoleName, Label = vmRoleLabel }, new WebHeaderCollection { "x-ms-request-id:" + Guid.NewGuid() });

            Guid? jobOut;
            var vmRoleOperations = new VMRoleOperations(new WebClientFactory(new Subscription(), mockChannel));
            vmRoleOperations.Delete(cloudServiceName, vmRoleName, out jobOut);

            Assert.Equal(mockChannel.ClientRequests.Count, 1);
            Assert.Equal(HttpMethod.Delete.ToString(), mockChannel.ClientRequests[0].Item1.Method);

            // Check the URI (for Azure consistency)
            var requestList = mockChannel.ClientRequests;
            Assert.Equal(1, requestList.Count);
            Assert.Equal(String.Format(specificBaseUri, cloudServiceName, vmRoleName), mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
        }