Exemple #1
0
        public Variable UpdateVariable(string automationAccountName, Variable variable)
        {
            var existingVarible = this.GetVariable(automationAccountName, variable.Name);

            variable.Encrypted = existingVarible.Encrypted;

            if (variable.Encrypted)
            {
                var updateParams = new AutomationManagement.Models.EncryptedVariableUpdateParameters()
                {
                    Name       = variable.Name,
                    Properties = new AutomationManagement.Models.EncryptedVariableUpdateProperties()
                    {
                        Value       = variable.Value,
                        Description = variable.Description
                    }
                };

                this.automationManagementClient.EncryptedVariables.Update(automationAccountName, updateParams);
            }
            else
            {
                var updateParams = new AutomationManagement.Models.VariableUpdateParameters()
                {
                    Name       = variable.Name,
                    Properties = new AutomationManagement.Models.VariableUpdateProperties()
                    {
                        Value       = variable.Value,
                        Description = variable.Description
                    }
                };

                this.automationManagementClient.Variables.Update(automationAccountName, updateParams);
            }

            return(this.GetVariable(automationAccountName, variable.Name));
        }
        public Variable UpdateVariable(Variable variable, VariableUpdateFields updateFields)
        {
            var existingVariable = this.GetVariable(variable.AutomationAccountName, variable.Name);

            if (existingVariable.Encrypted != variable.Encrypted)
            {
                throw new ResourceNotFoundException(typeof(Variable),
                    string.Format(CultureInfo.CurrentCulture, Resources.VariableEncryptionCannotBeChanged, variable.Name, existingVariable.Encrypted));
            }

            var updateParams = new AutomationManagement.Models.VariableUpdateParameters()
            {
                Name = variable.Name,
            };

            if (updateFields == VariableUpdateFields.OnlyDescription)
            {
                updateParams.Properties = new AutomationManagement.Models.VariableUpdateProperties()
                {
                    Description = variable.Description
                };
            }
            else
            {
                updateParams.Properties = new AutomationManagement.Models.VariableUpdateProperties()
                {
                    Value = PowerShellJsonConverter.Serialize(variable.Value)
                };
            }

            this.automationManagementClient.Variables.Update(variable.AutomationAccountName, updateParams);
            
            return this.GetVariable(variable.AutomationAccountName, variable.Name);
        }