Пример #1
0
        public override void ExecuteCmdlet()
        {
            CreatePSResourceGroupDeploymentParameters parameters = new CreatePSResourceGroupDeploymentParameters()
            {
                ResourceGroupName       = ResourceGroupName,
                DeploymentName          = Name,
                DeploymentMode          = Mode,
                TemplateFile            = TemplateUri ?? this.TryResolvePath(TemplateFile),
                TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject),
                ParameterUri            = TemplateParameterUri,
                DeploymentDebugLogLevel = GetDeploymentDebugLogLevel(DeploymentDebugLogLevel)
            };

            if (this.Mode == DeploymentMode.Complete)
            {
                this.ConfirmAction(
                    this.Force,
                    "Are you sure you want to use the complete deployment mode? Resources in the resource group '" + ResourceGroupName + "' which are not included in the template will be deleted.",
                    "Creating a deployment with Complete mode",
                    ResourceGroupName,
                    () =>
                {
                    WriteObject(ResourcesClient.ExecuteDeployment(parameters));
                });
            }
            else
            {
                WriteObject(ResourcesClient.ExecuteDeployment(parameters));
            }
        }
        public override void ExecuteCmdlet()
        {
            CreatePSResourceGroupDeploymentParameters parameters = new CreatePSResourceGroupDeploymentParameters()
            {
                ResourceGroupName       = ResourceGroupName,
                DeploymentName          = Name,
                GalleryTemplateIdentity = GalleryTemplateIdentity,
                TemplateFile            = TemplateUri ?? this.TryResolvePath(TemplateFile),
                TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject),
                TemplateVersion         = TemplateVersion,
                StorageAccountName      = StorageAccountName
            };

            WriteObject(ResourcesClient.ExecuteDeployment(parameters));
        }
Пример #3
0
        public override void ExecuteCmdlet()
        {
            CreatePSResourceGroupDeploymentParameters parameters = new CreatePSResourceGroupDeploymentParameters()
            {
                ResourceGroupName       = ResourceGroupName,
                DeploymentName          = Name,
                DeploymentMode          = Mode,
                GalleryTemplateIdentity = GalleryTemplateIdentity,
                TemplateFile            = TemplateUri ?? this.TryResolvePath(TemplateFile),
                TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject),
                ParameterUri            = TemplateParameterUri,
                TemplateVersion         = TemplateVersion,
                StorageAccountName      = StorageAccountName
            };

            if (!string.IsNullOrEmpty(TemplateVersion) || !string.IsNullOrEmpty(StorageAccountName) || !string.IsNullOrEmpty(GalleryTemplateIdentity))
            {
                WriteWarning("The GalleryTemplateIdentity, TemplateVersion and StorageAccountName parameters in New-AzureResourceGroupDeployment cmdlet is being deprecated and will be removed in a future release.");
            }

            if (this.Mode == DeploymentMode.Complete)
            {
                this.ConfirmAction(
                    this.Force,
                    "Are you sure you want to use the complete deployment mode? Resources in the resource group '" + ResourceGroupName + "' which are not included in the template will be deleted.",
                    "Creating a deployment with Complete mode",
                    ResourceGroupName,
                    () =>
                {
                    WriteObject(ResourcesClient.ExecuteDeployment(parameters));
                });
            }
            else
            {
                WriteObject(ResourcesClient.ExecuteDeployment(parameters));
            }
        }
        public override void ExecuteCmdlet()
        {
            WriteWarning("The output object type of this cmdlet will be modified in a future release.");
            CreatePSResourceGroupDeploymentParameters parameters = new CreatePSResourceGroupDeploymentParameters()
            {
                ResourceGroupName       = ResourceGroupName,
                DeploymentName          = Name,
                DeploymentMode          = Mode,
                TemplateFile            = TemplateUri ?? this.TryResolvePath(TemplateFile),
                TemplateParameterObject = GetTemplateParameterObject(TemplateParameterObject),
                ParameterUri            = TemplateParameterUri,
                DeploymentDebugLogLevel = GetDeploymentDebugLogLevel(DeploymentDebugLogLevel)
            };

            if (!string.IsNullOrEmpty(parameters.DeploymentDebugLogLevel))
            {
                WriteWarning("The DeploymentDebug setting has been enabled. This can potentially log secrets like passwords used in resource property or listKeys operations when you retrieve the deployment operations through Get-AzureRmResourceGroupDeploymentOperation");
            }

            if (this.Mode == DeploymentMode.Complete)
            {
                this.ConfirmAction(
                    this.Force,
                    "Are you sure you want to use the complete deployment mode? Resources in the resource group '" + ResourceGroupName + "' which are not included in the template will be deleted.",
                    "Creating a deployment with Complete mode",
                    ResourceGroupName,
                    () =>
                {
                    WriteObject(ResourcesClient.ExecuteDeployment(parameters));
                });
            }
            else
            {
                WriteObject(ResourcesClient.ExecuteDeployment(parameters));
            }
        }
Пример #5
0
        public void CreatesNewPSResourceGroupDeploymentWithUserTemplate()
        {
            CreatePSResourceGroupDeploymentParameters expectedParameters = new CreatePSResourceGroupDeploymentParameters()
            {
                TemplateFile   = templateFile,
                DeploymentName = deploymentName,
            };
            CreatePSResourceGroupDeploymentParameters actualParameters = new CreatePSResourceGroupDeploymentParameters();
            PSResourceGroupDeployment expected = new PSResourceGroupDeployment()
            {
                Mode           = DeploymentMode.Incremental,
                DeploymentName = deploymentName,
                CorrelationId  = "123",
                Outputs        = new Dictionary <string, DeploymentVariable>()
                {
                    { "Variable1", new DeploymentVariable()
                      {
                          Value = "true", Type = "bool"
                      } },
                    { "Variable2", new DeploymentVariable()
                      {
                          Value = "10", Type = "int"
                      } },
                    { "Variable3", new DeploymentVariable()
                      {
                          Value = "hello world", Type = "string"
                      } }
                },
                Parameters = new Dictionary <string, DeploymentVariable>()
                {
                    { "Parameter1", new DeploymentVariable()
                      {
                          Value = "true", Type = "bool"
                      } },
                    { "Parameter2", new DeploymentVariable()
                      {
                          Value = "10", Type = "int"
                      } },
                    { "Parameter3", new DeploymentVariable()
                      {
                          Value = "hello world", Type = "string"
                      } }
                },
                ProvisioningState = ProvisioningState.Succeeded,
                ResourceGroupName = resourceGroupName,
                TemplateLink      = new TemplateLink()
                {
                    ContentVersion = "1.0",
                    Uri            = new Uri("http://mytemplate.com")
                },
                Timestamp = new DateTime(2014, 2, 13)
            };

            resourcesClientMock.Setup(f => f.ExecuteDeployment(
                                          It.IsAny <CreatePSResourceGroupDeploymentParameters>()))
            .Returns(expected)
            .Callback((CreatePSResourceGroupDeploymentParameters p) => { actualParameters = p; });

            cmdlet.ResourceGroupName = resourceGroupName;
            cmdlet.Name         = expectedParameters.DeploymentName;
            cmdlet.TemplateFile = expectedParameters.TemplateFile;

            cmdlet.ExecuteCmdlet();

            Assert.Equal(expectedParameters.DeploymentName, actualParameters.DeploymentName);
            Assert.Equal(expectedParameters.TemplateFile, actualParameters.TemplateFile);
            Assert.NotNull(actualParameters.TemplateParameterObject);

            commandRuntimeMock.Verify(f => f.WriteObject(expected), Times.Once());
        }