コード例 #1
0
        public void HandleMessage(BrokeredMessage message)
        {
            if (message.GetMessageType() == "Create")
            {
                var virtualMachine = message.GetObject<VirtualMachine>();
                var imageName = CloudConfigurationManager.GetSetting("VirtualMachineBaseImageName");
                var dataDiskBase = CloudConfigurationManager.GetSetting("DataDiskName");
                var dataDiskName = String.Format("{0}-{1}", dataDiskBase, virtualMachine.Name);
                var sourceVhdName = String.Format("{0}.vhd", dataDiskBase);
                var storageContainerUrl = CloudConfigurationManager.GetSetting("StorageContainerUrl");
                var vhdContainerName = CloudConfigurationManager.GetSetting("VhdContainerName"); //TODO: does this work with multiple storage accounts?
                var serviceName = CloudConfigurationManager.GetSetting("ServiceName");

                //var subscriptionId = CloudConfigurationManager.GetSetting("Azure.SubscriptionId");
                //var managementCertificateString = CloudConfigurationManager.GetSetting("Azure.ManagementCertificate");
                //var managementCertificate = new X509Certificate2(Convert.FromBase64String(managementCertificateString));
                //var credentials = new CertificateCloudCredentials(subscriptionId, managementCertificate);

                //TODO: find a subscription?

                //TODO: get storage account?

                if (AzureVmExists(_executor, virtualMachine) == false)
                {
                    CreateNewVirtualMachine(_executor, virtualMachine, imageName, serviceName, sourceVhdName, storageContainerUrl, vhdContainerName, dataDiskName);
                }
            }
            else
            {
                throw new ArgumentException("Invalid Message Type.", "message");
            }
        }
コード例 #2
0
        public void SetAndGetVirtualMachine_AdminUserNameIsPersisted()
        {
            var message = new BrokeredMessage();
            var expected = new VirtualMachine
            {
                Name = "Name",
                AdminUserName = "******",
                AdminPassword = "******",
                Location = "Location",
                Size = AzureVirtualMachineSize.ExtraSmall,
                TimeZone = "TimeZone"
            };

            message.SetObject(expected);

            var actual = message.GetObject<VirtualMachine>();

            Assert.That(actual.AdminUserName, Is.EqualTo(expected.AdminUserName));
        }
コード例 #3
0
        public void HandleMessage(BrokeredMessage message)
        {
            if (message.GetMessageType() == "Delete")
            {
                var virtualMachine = message.GetObject<VirtualMachine>();

                var serviceName = CloudConfigurationManager.GetSetting("ServiceName");

                //var subscriptionId = CloudConfigurationManager.GetSetting("Azure.SubscriptionId");
                //var managementCertificateString = CloudConfigurationManager.GetSetting("Azure.ManagementCertificate");
                //var managementCertificate = new X509Certificate2(Convert.FromBase64String(managementCertificateString));
                //var credentials = new CertificateCloudCredentials(subscriptionId, managementCertificate);

                //TODO: find a subscription?

                //TODO: get storage account?

                DeleteExistingArtifacts(_executor, virtualMachine, serviceName);
            }
            else
            {
                throw new ArgumentException("Invalid Message Type.", "message");
            }
        }