コード例 #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 SetAndGetMessageType_MessageTypeIsPersisted()
        {
            var message = new BrokeredMessage();
            const string expected = "MessageType";

            message.SetMessageType(expected);

            var actual = message.GetMessageType();

            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #3
0
 public void HandleMessage(BrokeredMessage message)
 {
     IMessageHandler handler;
     if (_handlers.TryGetValue(message.GetMessageType(), out handler))
     {
         handler.HandleMessage(message);
     }
     else
     {
         throw new ArgumentException("Shit is broke!", "message");
     }
 }
コード例 #4
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");
            }
        }