public override void ExecuteCmdlet()
        {
            ConfirmAction(
            Force.IsPresent,
            string.Format(Resources.RemoveStaticIPAddressPoolConfirmationMessage, StaticIPAddressPool.Name),
            string.Format(Resources.RemoveStaticIPAddressPoolMessage), StaticIPAddressPool.Name,
            () =>
            {
                Guid? jobId = Guid.Empty;
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var filter = new Dictionary<string, string>
                {
                    {"StampId", StaticIPAddressPool.StampId.ToString()},
                    {"ID ", StaticIPAddressPool.ID.ToString()}
                };
                var deletedSstaticIPAddressPool = staticIPAddressPoolOperations.Read(filter)[0];
                staticIPAddressPoolOperations.Delete(deletedSstaticIPAddressPool.ID, out jobId);
                var jobInfo = WaitForJobCompletion(jobId);
                
                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RemoveStaticIPAddressPoolConfirmationMessage, StaticIPAddressPool.Name),
                string.Format(Resources.RemoveStaticIPAddressPoolMessage), StaticIPAddressPool.Name,
                () =>
            {
                Guid?jobId = Guid.Empty;
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var filter = new Dictionary <string, string>
                {
                    { "StampId", StaticIPAddressPool.StampId.ToString() },
                    { "ID ", StaticIPAddressPool.ID.ToString() }
                };
                var deletedSstaticIPAddressPool = staticIPAddressPoolOperations.Read(filter)[0];
                staticIPAddressPoolOperations.Delete(deletedSstaticIPAddressPool.ID, out jobId);
                var jobInfo = WaitForJobCompletion(jobId);

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
Ejemplo n.º 3
0
        public void ShouldDeleteStaticIPAddressPool()
        {
            var mockChannel = new MockRequestChannel();

            var existingStaticIPAddressPool = new StaticIPAddressPool()
            {
                Name                = staticIPAddressPoolName,
                VMSubnetId          = Guid.Empty,
                IPAddressRangeStart = ipAddressRangeStart,
                IPAddressRangeEnd   = ipAddressRangeEnd,
                StampId             = Guid.Empty
            };

            mockChannel.AddReturnObject(new Cloud()
            {
                StampId = Guid.NewGuid()
            });
            mockChannel.AddReturnObject(existingStaticIPAddressPool, new WebHeaderCollection {
                "x-ms-request-id:" + Guid.NewGuid()
            });

            Guid?jobOut;
            var  staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(new WebClientFactory(new Subscription(), mockChannel));

            staticIPAddressPoolOperations.Delete(Guid.Empty, out jobOut);

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

            // Check the URI
            var requestURI = mockChannel.ClientRequests[1].Item1.Address.AbsolutePath;

            Assert.AreEqual("/Clouds", mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
            Assert.AreEqual(baseURI, mockChannel.ClientRequests[1].Item1.Address.AbsolutePath.Substring(1).Remove(requestURI.IndexOf('(') - 1));
        }
Ejemplo n.º 4
0
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RemoveVMNetworkConfirmationMessage, VNet.Name),
                string.Format(Resources.RemoveVMNetworkMessage), VNet.Name,
                () =>
            {
                Guid?vmNetworkJobId               = Guid.Empty;
                var vmNetworkOperations           = new VMNetworkOperations(this.WebClientFactory);
                var vmSubnetOperations            = new VMSubnetOperations(this.WebClientFactory);
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var deletedVMNetwork = vmNetworkOperations.Read(VNet.ID);
                var deletedSubnet    = vmSubnetOperations.Read(VNet);

                foreach (var subnet in deletedSubnet)
                {
                    var deletedIpPool = staticIPAddressPoolOperations.Read(subnet);
                    foreach (var ipPool in deletedIpPool)
                    {
                        Guid?ipPoolJobId = Guid.Empty;
                        staticIPAddressPoolOperations.Delete(ipPool.ID, out ipPoolJobId);
                        WaitForJobCompletion(ipPoolJobId);
                    }
                }

                foreach (var subnet in deletedSubnet)
                {
                    Guid?subnetJobId = Guid.Empty;
                    vmSubnetOperations.Delete(subnet.ID, out subnetJobId);
                    WaitForJobCompletion(subnetJobId);
                }
                vmNetworkOperations.Delete(VNet.ID, out vmNetworkJobId);
                var jobInfo = WaitForJobCompletion(vmNetworkJobId);

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
            Force.IsPresent,
            string.Format(Resources.RemoveVMNetworkConfirmationMessage, VNet.Name),
            string.Format(Resources.RemoveVMNetworkMessage), VNet.Name,
            () =>
            {
                Guid? vmNetworkJobId = Guid.Empty;
                var vmNetworkOperations = new VMNetworkOperations(this.WebClientFactory);
                var vmSubnetOperations = new VMSubnetOperations(this.WebClientFactory);
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var deletedVMNetwork = vmNetworkOperations.Read(VNet.ID);
                var deletedSubnet = vmSubnetOperations.Read(VNet);

                foreach (var subnet in deletedSubnet)
                {
                    var deletedIpPool = staticIPAddressPoolOperations.Read(subnet);
                    foreach (var ipPool in deletedIpPool)
                    {
                        Guid? ipPoolJobId = Guid.Empty;
                        staticIPAddressPoolOperations.Delete(ipPool.ID, out ipPoolJobId);
                        WaitForJobCompletion(ipPoolJobId);   
                    }
                }

                foreach (var subnet in deletedSubnet)
                {
                    Guid? subnetJobId = Guid.Empty;
                    vmSubnetOperations.Delete(subnet.ID, out subnetJobId);
                    WaitForJobCompletion(subnetJobId);
                }
                vmNetworkOperations.Delete(VNet.ID, out vmNetworkJobId);
                var jobInfo = WaitForJobCompletion(vmNetworkJobId);

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
            Force.IsPresent,
            string.Format(Resources.RemoveVMSubnetConfirmationMessage, VMSubnet.Name),
            string.Format(Resources.RemoveVMSubnetMessage), VMSubnet.Name,
            () =>
            {
                var vmSubnetOperations = new VMSubnetOperations(this.WebClientFactory);
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var filter = new Dictionary<string, string>
                {
                    {"StampId", VMSubnet.StampId.ToString()},
                    {"ID ", VMSubnet.ID.ToString()}
                };
                var deletedSubnet = vmSubnetOperations.Read(filter)[0];

                var deletedIpPool = staticIPAddressPoolOperations.Read(deletedSubnet);
                foreach (var ipPool in deletedIpPool)
                {
                    Guid? ipPoolJobId = Guid.Empty;
                    staticIPAddressPoolOperations.Delete(ipPool.ID, out ipPoolJobId);
                    WaitForJobCompletion(ipPoolJobId);
                }

                Guid? subnetJobId = Guid.Empty;
                vmSubnetOperations.Delete(deletedSubnet.ID, out subnetJobId);
                var jobInfo = WaitForJobCompletion(subnetJobId);

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
        public override void ExecuteCmdlet()
        {
            ConfirmAction(
                Force.IsPresent,
                string.Format(Resources.RemoveVMSubnetConfirmationMessage, VMSubnet.Name),
                string.Format(Resources.RemoveVMSubnetMessage), VMSubnet.Name,
                () =>
            {
                var vmSubnetOperations            = new VMSubnetOperations(this.WebClientFactory);
                var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(this.WebClientFactory);

                var filter = new Dictionary <string, string>
                {
                    { "StampId", VMSubnet.StampId.ToString() },
                    { "ID ", VMSubnet.ID.ToString() }
                };
                var deletedSubnet = vmSubnetOperations.Read(filter)[0];

                var deletedIpPool = staticIPAddressPoolOperations.Read(deletedSubnet);
                foreach (var ipPool in deletedIpPool)
                {
                    Guid?ipPoolJobId = Guid.Empty;
                    staticIPAddressPoolOperations.Delete(ipPool.ID, out ipPoolJobId);
                    WaitForJobCompletion(ipPoolJobId);
                }

                Guid?subnetJobId = Guid.Empty;
                vmSubnetOperations.Delete(deletedSubnet.ID, out subnetJobId);
                var jobInfo = WaitForJobCompletion(subnetJobId);

                if (this.PassThru)
                {
                    WriteObject(jobInfo.jobStatus != JobStatusEnum.Failed);
                }
            });
        }
        public void ShouldDeleteStaticIPAddressPool()
        {
            var mockChannel = new MockRequestChannel();

            var existingStaticIPAddressPool = new StaticIPAddressPool()
            {
                Name = staticIPAddressPoolName,
                VMSubnetId = Guid.Empty,
                IPAddressRangeStart = ipAddressRangeStart,
                IPAddressRangeEnd = ipAddressRangeEnd,
                StampId = Guid.Empty
            };
            mockChannel.AddReturnObject(new Cloud() { StampId = Guid.NewGuid() });
            mockChannel.AddReturnObject(existingStaticIPAddressPool, new WebHeaderCollection { "x-ms-request-id:" + Guid.NewGuid() });

            Guid? jobOut;
            var staticIPAddressPoolOperations = new StaticIPAddressPoolOperations(new WebClientFactory(new Subscription(), mockChannel));
            staticIPAddressPoolOperations.Delete(Guid.Empty, out jobOut);

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

            // Check the URI
            var requestURI = mockChannel.ClientRequests[1].Item1.Address.AbsolutePath;
            Assert.Equal("/Clouds", mockChannel.ClientRequests[0].Item1.Address.AbsolutePath.Substring(1));
            Assert.Equal(baseURI, mockChannel.ClientRequests[1].Item1.Address.AbsolutePath.Substring(1).Remove(requestURI.IndexOf('(') - 1));
        }