Beispiel #1
0
        public bool CreateManagedEntity()
        {
            try
            {
                cb.connect();

                var itemType = GetItemType();
                var itemName = GetItemName();

                ManagedObjectReference folderMoRef = cb.getServiceUtil()
                      .GetDecendentMoRef(null, "Folder", getParentName());

                if (folderMoRef == null)
                {
                    Console.WriteLine("Parent folder '" + getParentName()
                          + "' not found");
                }
                else
                {
                    if (itemType.Equals("Folder"))
                    {
                        cb.getConnection()._service.CreateFolder(
                            folderMoRef, itemName);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return true;
                    }
                    else if (itemType.Equals("Datacenter"))
                    {
                        cb.getConnection()._service.CreateDatacenter(
                            folderMoRef, itemName);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return true;
                    }
                    else if (itemType.Equals("Cluster"))
                    {
                        ClusterConfigSpec clusterSpec = new ClusterConfigSpec();
                        cb.getConnection()._service.CreateCluster(
                            folderMoRef, itemName, clusterSpec);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return true;
                    }
                    else if (itemType.Equals("Host-Standalone"))
                    {
                        HostConnectSpec hostSpec = new HostConnectSpec();
                        hostSpec.hostName = itemName;
                        hostSpec.userName = getUserName();
                        hostSpec.password = getPassword();
                        hostSpec.port = getPort();  //this method will create a problem with automation
                        hostSpec.sslThumbprint = getThumbPrint();

                        ComputeResourceConfigSpec configSpec = new ComputeResourceConfigSpec();

                        ManagedObjectReference taskMoRef = cb.getConnection()._service
                              .AddStandaloneHost_Task(folderMoRef, hostSpec,
                                   configSpec, false, getLicense());

                        if (taskMoRef != null)
                        {
                            String status = cb.getServiceUtil().WaitForTask(
                                  taskMoRef);
                            if (status.Equals("sucess"))
                            {
                                Console.WriteLine("Sucessfully created::"
                                      + itemName);
                            }
                            else
                            {
                                Console.WriteLine("Host'" + itemName
                                   + " not created::");
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Unknown Type. Allowed types are:");
                        Console.WriteLine(" Host-Standalone");
                        Console.WriteLine(" Cluster");
                        Console.WriteLine(" Datacenter");
                        Console.WriteLine(" Folder");
                    }
                }

                return false;
            }
            finally
            {
                cb.disConnect();
            }
        }
Beispiel #2
0
        public bool CreateManagedEntity()
        {
            try
            {
                cb.connect();

                var itemType = GetItemType();
                var itemName = GetItemName();

                ManagedObjectReference folderMoRef = cb.getServiceUtil()
                                                     .GetDecendentMoRef(null, "Folder", getParentName());

                if (folderMoRef == null)
                {
                    Console.WriteLine("Parent folder '" + getParentName()
                                      + "' not found");
                }
                else
                {
                    if (itemType.Equals("Folder"))
                    {
                        cb.getConnection()._service.CreateFolder(
                            folderMoRef, itemName);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return(true);
                    }
                    else if (itemType.Equals("Datacenter"))
                    {
                        cb.getConnection()._service.CreateDatacenter(
                            folderMoRef, itemName);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return(true);
                    }
                    else if (itemType.Equals("Cluster"))
                    {
                        ClusterConfigSpec clusterSpec = new ClusterConfigSpec();
                        cb.getConnection()._service.CreateCluster(
                            folderMoRef, itemName, clusterSpec);

                        Console.WriteLine("Sucessfully created '{0}' '{1}'", itemType, itemName);

                        return(true);
                    }
                    else if (itemType.Equals("Host-Standalone"))
                    {
                        HostConnectSpec hostSpec = new HostConnectSpec();
                        hostSpec.hostName      = itemName;
                        hostSpec.userName      = getUserName();
                        hostSpec.password      = getPassword();
                        hostSpec.port          = getPort(); //this method will create a problem with automation
                        hostSpec.sslThumbprint = getThumbPrint();

                        ComputeResourceConfigSpec configSpec = new ComputeResourceConfigSpec();

                        ManagedObjectReference taskMoRef = cb.getConnection()._service
                                                           .AddStandaloneHost_Task(folderMoRef, hostSpec,
                                                                                   configSpec, false, getLicense());

                        if (taskMoRef != null)
                        {
                            String status = cb.getServiceUtil().WaitForTask(
                                taskMoRef);
                            if (status.Equals("sucess"))
                            {
                                Console.WriteLine("Sucessfully created::"
                                                  + itemName);
                            }
                            else
                            {
                                Console.WriteLine("Host'" + itemName
                                                  + " not created::");
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Unknown Type. Allowed types are:");
                        Console.WriteLine(" Host-Standalone");
                        Console.WriteLine(" Cluster");
                        Console.WriteLine(" Datacenter");
                        Console.WriteLine(" Folder");
                    }
                }

                return(false);
            }
            finally
            {
                cb.disConnect();
            }
        }