AddEndpoint() public method

Adds an endpoint checking to see whether the name and ports have been taken
public AddEndpoint ( InputEndpoint endpoint ) : void
endpoint InputEndpoint An InputEndpoint which should be added to the collection
return void
Example #1
0
        /// <summary>
        /// Used to direct the user to the image for the default Sql Server 2012 image
        /// </summary>
        /// <returns>A persistent VM Role containing the data to execute the image</returns>
        public static PersistentVMRole GetDefaultSqlServer2012VMRole(VmSize vmSize, string storageAccount)
        {
            // build the default endpoints
            var inputEndpoints = new InputEndpoints();

            inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
            inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultSqlServerSettings());
            // add the endpoints collections to a network configuration set
            var network = new NetworkConfigurationSet
            {
                InputEndpoints = inputEndpoints
            };
            // build the windows configuration set
            var windows = new WindowsConfigurationSet
            {
                AdminPassword             = "******",
                ResetPasswordOnFirstLogon = true
            };
            OSVirtualHardDisk   osDisk   = OSVirtualHardDisk.GetSqlServerOSImage(storageAccount);
            DataVirtualHardDisk dataDisk = DataVirtualHardDisk.GetDefaultDataDisk(storageAccount);
            var disks = new DataVirtualHardDisks();

            disks.HardDiskCollection.Add(dataDisk);
            return(new PersistentVMRole
            {
                NetworkConfigurationSet = network,
                OperatingSystemConfigurationSet = windows,
                RoleSize = vmSize,
                RoleName = "Elastarole",
                HardDisks = disks,
                OSHardDisk = osDisk
            });
        }
 /// <summary>
 /// Used to construct the command to create a virtual machine deployment including the creation of a role
 /// </summary>
 /// https://management.core.windows.net/<subscription-id>/services/hostedservices/<cloudservice-name>/deployments/<deployment-name>/roles/<role-name>
 internal UpdateVirtualMachinePortsCommand(string cloudServiceName, string vmName, params InputEndpoint[] ports)
 {
     AdditionalHeaders["x-ms-version"] = "2012-03-01";
     OperationId = "hostedservices";
     ServiceType = "services";
     HttpVerb = HttpVerbPut;
     HttpCommand = String.Format("{0}/deployments/{0}/roles/{1}", (CloudServiceName = cloudServiceName), vmName);
     AllEndpoints = new InputEndpoints();
     foreach (var port in ports)
     {
         AllEndpoints.AddEndpoint(port);
     }
 }
Example #3
0
        public static PersistentVMRole GetAdHocTemplate(VirtualMachineProperties properties, ConfigurationSet operatingSystemConfigurationSet)
        {
            // build the default endpoints
            var inputEndpoints = new InputEndpoints();

            if (properties.PublicEndpoints == null)
            {
                properties.PublicEndpoints = new List <InputEndpoint>();
            }
            // add all of the endpoints
            foreach (var endpoint in properties.PublicEndpoints)
            {
                inputEndpoints.AddEndpoint(endpoint);
            }

            if (operatingSystemConfigurationSet.ConfigurationSetType == ConfigurationSetType.WindowsProvisioningConfiguration)
            {
                if (properties.PublicEndpoints.All(endpoint => endpoint.Port != 3389))
                {
                    inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
                }
            }

            // add the endpoints collections to a network configuration set
            var network = new NetworkConfigurationSet
            {
                InputEndpoints = inputEndpoints
            };

            if (properties.EndpointAclRules != null)
            {
                network.EndpointAcl = new EndpointAcl(new EndpointAclRules(properties.EndpointAclRules));
            }

            if (properties.VirtualNetwork != null)
            {
                network.SubnetName = properties.VirtualNetwork.SubnetName;
            }

            OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetOSImageFromTemplate(properties);
            var disks = new DataVirtualHardDisks();

            if (properties.DataDisks != null)
            {
                for (int i = 0; i < properties.DataDisks.Count; i++)
                {
                    var label = properties.DataDisks[i].DiskLabel ?? "DataDisk" + i;
                    var name  = properties.DataDisks[i].DiskName ?? "DataDisk" + i;
                    var size  = properties.DataDisks[i].LogicalDiskSizeInGB < 30
                                   ? 30
                                   : properties.DataDisks[i].LogicalDiskSizeInGB;
                    var disk = DataVirtualHardDisk.GetDefaultDataDisk(properties.StorageAccountName, size, i, name, label);
                    disks.HardDiskCollection.Add(disk);
                }
            }
            var pvm = new PersistentVMRole
            {
                NetworkConfigurationSet         = network,
                OperatingSystemConfigurationSet = operatingSystemConfigurationSet,
                RoleSize   = properties.VmSize,
                RoleName   = properties.RoleName,
                HardDisks  = disks,
                OSHardDisk = osDisk
            };

            if (properties.AvailabilitySet != null)
            {
                pvm.AvailabilityNameSet = properties.AvailabilitySet;
            }

            return(pvm);
        }
 /// <summary>
 /// Used to direct the user to the image for the default Sql Server 2012 image
 /// </summary>
 /// <returns>A persistent VM Role containing the data to execute the image</returns>
 public static PersistentVMRole GetDefaultSqlServer2012VMRole(VmSize vmSize, string storageAccount, string password, InputEndpoints inputEndpoints, 
     string computerName = null, string roleName = "SQLServer2012", List<string> subnetNames = null)
 {
     // build the default endpoints
     inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
     inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultSqlServerSettings());
     // add the endpoints collections to a network configuration set
     var network = new NetworkConfigurationSet
                       {
                           InputEndpoints = inputEndpoints,
                           SubnetNames = subnetNames
                       };
     // build the windows configuration set
     var windows = new WindowsConfigurationSet
                       {
                           AdminPassword = password,
                           ResetPasswordOnFirstLogon = true,
                           ComputerName = computerName
                       };
     OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetSqlServerOSImage(storageAccount);
     DataVirtualHardDisk dataDisk = DataVirtualHardDisk.GetDefaultDataDisk(storageAccount);
     var disks = new DataVirtualHardDisks();
     disks.HardDiskCollection.Add(dataDisk);
     return new PersistentVMRole
                {
                    NetworkConfigurationSet = network,
                    OperatingSystemConfigurationSet = windows,
                    RoleSize = vmSize,
                    RoleName = roleName,
                    HardDisks = disks,
                    OSHardDisk = osDisk
                };
 }
 /// <summary>
 /// Used to direct the user to the image for the default Sql Server 2012 image
 /// </summary>
 /// <returns>A persistent VM Role containing the data to execute the image</returns>
 public static PersistentVMRole GetDefaultSqlServer2012VMRole(VmSize vmSize, string storageAccount)
 {
     // build the default endpoints
     var inputEndpoints = new InputEndpoints();
     inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
     inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultSqlServerSettings());
     // add the endpoints collections to a network configuration set
     var network = new NetworkConfigurationSet
                       {
                           InputEndpoints = inputEndpoints
                       };
     // build the windows configuration set
     var windows = new WindowsConfigurationSet
                       {
                           AdminPassword = "******",
                           ResetPasswordOnFirstLogon = true
                       };
     OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetSqlServerOSImage(storageAccount);
     DataVirtualHardDisk dataDisk = DataVirtualHardDisk.GetDefaultDataDisk(storageAccount);
     var disks = new DataVirtualHardDisks();
     disks.HardDiskCollection.Add(dataDisk);
     return new PersistentVMRole
                {
                    NetworkConfigurationSet = network,
                    OperatingSystemConfigurationSet = windows,
                    RoleSize = vmSize,
                    RoleName = "Elastarole",
                    HardDisks = disks,
                    OSHardDisk = osDisk
                };
 }
        public static PersistentVMRole AddAdhocWindowsRoleTemplate(WindowsVirtualMachineProperties properties)
        {
            // build the default endpoints
            var inputEndpoints = new InputEndpoints();
            if(properties.PublicEndpoints == null)
                properties.PublicEndpoints = new List<InputEndpoint>();

            foreach (var endpoint in properties.PublicEndpoints)
            {
                inputEndpoints.AddEndpoint(endpoint);
            }

            if (properties.PublicEndpoints.All(endpoint => endpoint.Port != 3389))
                inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());

            // add the endpoints collections to a network configuration set
            var network = new NetworkConfigurationSet
            {
                InputEndpoints = inputEndpoints
            };
            // build the windows configuration set
            var windows = new WindowsConfigurationSet
            {
                AdminPassword = properties.AdministratorPassword ?? "ElastaPassword101",
                ResetPasswordOnFirstLogon = true
            };
            OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetWindowsOSImageFromTemplate(properties);
            var disks = new DataVirtualHardDisks();
            if (properties.DataDisks != null)
            {
                for (int i = 0; i < properties.DataDisks.Count; i++)
                {
                    var label = properties.DataDisks[i].DiskLabel ?? "DataDisk" + i;
                    var name = properties.DataDisks[i].DiskName ?? "DataDisk" + i;
                    var size = properties.DataDisks[i].LogicalDiskSizeInGB < 30
                                   ? 30
                                   : properties.DataDisks[i].LogicalDiskSizeInGB;
                    var disk = DataVirtualHardDisk.GetDefaultDataDisk(properties.StorageAccountName, size, i, name, label);
                    disks.HardDiskCollection.Add(disk);
                }
            }
            return new PersistentVMRole
            {
                NetworkConfigurationSet = network,
                OperatingSystemConfigurationSet = windows,
                RoleSize = properties.VmSize,
                RoleName = properties.RoleName,
                HardDisks = disks,
                OSHardDisk = osDisk
            };
        }
        public static PersistentVMRole GetAdHocTemplate(VirtualMachineProperties properties, ConfigurationSet operatingSystemConfigurationSet)
        {
            // build the default endpoints
            var inputEndpoints = new InputEndpoints();
            if (properties.PublicEndpoints == null)
                properties.PublicEndpoints = new List<InputEndpoint>();
            // add all of the endpoints
            foreach (var endpoint in properties.PublicEndpoints)
            {
                inputEndpoints.AddEndpoint(endpoint);
            }

            if (operatingSystemConfigurationSet.ConfigurationSetType == ConfigurationSetType.WindowsProvisioningConfiguration)
            {
                if (properties.PublicEndpoints.All(endpoint => endpoint.Port != 3389))
                    inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
            }

            // add the endpoints collections to a network configuration set
            var network = new NetworkConfigurationSet
            {
                InputEndpoints = inputEndpoints
            };
            if (properties.EndpointAclRules != null)
            {
                network.EndpointAcl = new EndpointAcl(new EndpointAclRules(properties.EndpointAclRules));
            }

            if (properties.VirtualNetwork != null)
            {
                network.SubnetName = properties.VirtualNetwork.SubnetName;
            }

            OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetOSImageFromTemplate(properties);
            var disks = new DataVirtualHardDisks();
            if (properties.DataDisks != null)
            {
                for (int i = 0; i < properties.DataDisks.Count; i++)
                {
                    var label = properties.DataDisks[i].DiskLabel ?? "DataDisk" + i;
                    var name = properties.DataDisks[i].DiskName ?? "DataDisk" + i;
                    var size = properties.DataDisks[i].LogicalDiskSizeInGB < 30
                                   ? 30
                                   : properties.DataDisks[i].LogicalDiskSizeInGB;
                    var disk = DataVirtualHardDisk.GetDefaultDataDisk(properties.StorageAccountName, size, i, name, label);
                    disks.HardDiskCollection.Add(disk);
                }
            }
            var pvm = new PersistentVMRole
            {
                NetworkConfigurationSet = network,
                OperatingSystemConfigurationSet = operatingSystemConfigurationSet,
                RoleSize = properties.VmSize,
                RoleName = properties.RoleName,
                HardDisks = disks,
                OSHardDisk = osDisk
            };

            if (properties.AvailabilitySet != null)
            {
                pvm.AvailabilityNameSet = properties.AvailabilitySet;
            }

            return pvm;
        }
        public static PersistentVMRole AddAdhocWindowsRoleTemplate(WindowsVirtualMachineProperties properties)
        {
            // build the default endpoints
            var inputEndpoints = new InputEndpoints();
            inputEndpoints.AddEndpoint(InputEndpoint.GetDefaultRemoteDesktopSettings());
            foreach (var endpoint in properties.PublicEndpoints)
            {
                // just in case they've add RDP again
                if (endpoint.Value != 1433)
                {
                    inputEndpoints.AddEndpoint(new InputEndpoint()
                        {
                            EndpointName = endpoint.Key,
                            LocalPort = endpoint.Value,
                            // currently we'll only support TCP
                            Protocol = Protocol.TCP
                        });
                }

            }
            // add the endpoints collections to a network configuration set
            var network = new NetworkConfigurationSet
            {
                InputEndpoints = inputEndpoints
            };
            // build the windows configuration set
            var windows = new WindowsConfigurationSet
            {
                AdminPassword = properties.AdministratorPassword ?? "ElastaPassword101",
                ResetPasswordOnFirstLogon = true
            };
            OSVirtualHardDisk osDisk = OSVirtualHardDisk.GetWindowsOSImageFromTemplate(properties);
            var disks = new DataVirtualHardDisks();
            for (int i = 0; i < properties.DataDisks.Count; i++)
            {
                var label = properties.DataDisks[i].DiskLabel ?? "DataDisk" + i;
                var name = properties.DataDisks[i].DiskName ?? "DataDisk" + i;
                var size = properties.DataDisks[i].LogicalDiskSizeInGB < 30
                                                                  ? 30
                                                                  : properties.DataDisks[i].LogicalDiskSizeInGB;
                var disk = DataVirtualHardDisk.GetDefaultDataDisk(properties.StorageAccountName, size, i, name, label);
                disks.HardDiskCollection.Add(disk);
            }
            return new PersistentVMRole
            {
                NetworkConfigurationSet = network,
                OperatingSystemConfigurationSet = windows,
                RoleSize = properties.VmSize,
                RoleName = properties.RoleName,
                HardDisks = disks,
                OSHardDisk = osDisk
            };
        }