public override void ExecuteCmdlet()
        {
            Guid? vmRolejobId = Guid.Empty;
            VMRole createdVmRole = null;
            IEnumerable<VMRole> results = null;

            var vmRoleOperations = new VMRoleOperations(this.WebClientFactory);
            var newVMRole = new VMRole()
            {
                Name = this.Name,
                Label = this.Label,
                ResourceDefinition = this.ResourceDefinition,
                InstanceView = null,
                ResourceConfiguration = null,
                ProvisioningState = null,
                Substate = null,
            };

            if (this.ParameterSetName == WAPackCmdletParameterSets.QuickCreate)
            {
                var cloudService = new Utilities.WAPackIaaS.DataContract.CloudService()
                {
                    Name = this.Name,
                    Label = this.Label
                };

                Guid? cloudServiceJobId = Guid.Empty;
                var cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);
                cloudServiceOperations.Create(cloudService, out cloudServiceJobId);
                WaitForJobCompletion(cloudServiceJobId);

                try
                {
                    createdVmRole = vmRoleOperations.Create(this.Name, newVMRole, out vmRolejobId);
                    WaitForJobCompletion(vmRolejobId);

                    var vmRole = vmRoleOperations.Read(this.Name, this.Name);
                    results = new List<VMRole>() { vmRole };
                }
                catch (Exception)
                {
                    cloudServiceOperations.Delete(this.Name, out cloudServiceJobId);
                    WaitForJobCompletion(cloudServiceJobId);
                    throw;
                }
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.FromCloudService)
            {
                createdVmRole = vmRoleOperations.Create(this.CloudService.Name, newVMRole, out vmRolejobId);
                WaitForJobCompletion(vmRolejobId);

                var vmRole = vmRoleOperations.Read(this.CloudService.Name, this.Name);
                results = new List<VMRole>() { vmRole };
            }

            this.GenerateCmdletOutput(results);
        }
        public override void ExecuteCmdlet()
        {
            var cloudService = new Utilities.WAPackIaaS.DataContract.CloudService()
            {
                Name = this.Name,
                Label = this.Label
            };

            Guid? cloudServiceJobId = Guid.Empty;
            var cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);
            cloudServiceOperations.Create(cloudService, out cloudServiceJobId);
            WaitForJobCompletion(cloudServiceJobId);

            var createdCloudService = cloudServiceOperations.Read(this.Name);
            var results = new List<Utilities.WAPackIaaS.DataContract.CloudService>() { createdCloudService };
            this.GenerateCmdletOutput(results);
        }
        public override void ExecuteCmdlet()
        {
            var cloudService = new Utilities.WAPackIaaS.DataContract.CloudService()
            {
                Name  = this.Name,
                Label = this.Label
            };

            Guid?cloudServiceJobId      = Guid.Empty;
            var  cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);

            cloudServiceOperations.Create(cloudService, out cloudServiceJobId);
            WaitForJobCompletion(cloudServiceJobId);

            var createdCloudService = cloudServiceOperations.Read(this.Name);
            var results             = new List <Utilities.WAPackIaaS.DataContract.CloudService>()
            {
                createdCloudService
            };

            this.GenerateCmdletOutput(results);
        }
        public override void ExecuteCmdlet()
        {
            Guid?  vmRolejobId           = Guid.Empty;
            VMRole createdVmRole         = null;
            IEnumerable <VMRole> results = null;

            var vmRoleOperations = new VMRoleOperations(this.WebClientFactory);
            var newVMRole        = new VMRole()
            {
                Name  = this.Name,
                Label = this.Label,
                ResourceDefinition    = this.ResourceDefinition,
                InstanceView          = null,
                ResourceConfiguration = null,
                ProvisioningState     = null,
                Substate = null,
            };

            if (this.ParameterSetName == WAPackCmdletParameterSets.QuickCreate)
            {
                var cloudService = new Utilities.WAPackIaaS.DataContract.CloudService()
                {
                    Name  = this.Name,
                    Label = this.Label
                };

                Guid?cloudServiceJobId      = Guid.Empty;
                var  cloudServiceOperations = new CloudServiceOperations(this.WebClientFactory);
                cloudServiceOperations.Create(cloudService, out cloudServiceJobId);
                WaitForJobCompletion(cloudServiceJobId);

                try
                {
                    createdVmRole = vmRoleOperations.Create(this.Name, newVMRole, out vmRolejobId);
                    WaitForJobCompletion(vmRolejobId);

                    var vmRole = vmRoleOperations.Read(this.Name, this.Name);
                    results = new List <VMRole>()
                    {
                        vmRole
                    };
                }
                catch (Exception)
                {
                    cloudServiceOperations.Delete(this.Name, out cloudServiceJobId);
                    WaitForJobCompletion(cloudServiceJobId);
                    throw;
                }
            }
            else if (this.ParameterSetName == WAPackCmdletParameterSets.FromCloudService)
            {
                createdVmRole = vmRoleOperations.Create(this.CloudService.Name, newVMRole, out vmRolejobId);
                WaitForJobCompletion(vmRolejobId);

                var vmRole = vmRoleOperations.Read(this.CloudService.Name, this.Name);
                results = new List <VMRole>()
                {
                    vmRole
                };
            }

            this.GenerateCmdletOutput(results);
        }