Beispiel #1
0
        /// <summary>
        /// Upserts an elastic job credential to the control database
        /// </summary>
        /// <param name="model">The job credential object</param>
        /// <returns>The job credential object</returns>
        public AzureSqlElasticJobCredentialModel UpsertJobCredential(AzureSqlElasticJobCredentialModel model)
        {
            var param = new JobCredential
            {
                Username = model.UserName,
                Password = model.Password != null?ConversionUtilities.SecureStringToString(model.Password) : null
            };

            var resp = Communicator.CreateOrUpdateJobCredential(model.ResourceGroupName, model.ServerName, model.AgentName, model.CredentialName, param);

            return(CreateAgentCredentialModelFromResponse(model.ResourceGroupName, model.ServerName, model.AgentName, resp));
        }
Beispiel #2
0
        /// <summary>
        /// Generates the model from user input.
        /// </summary>
        /// <param name="model">This is null since the server doesn't exist yet</param>
        /// <returns>The generated model from user input</returns>
        protected override IEnumerable <AzureSqlElasticJobCredentialModel> ApplyUserInputToModel(IEnumerable <AzureSqlElasticJobCredentialModel> model)
        {
            AzureSqlElasticJobCredentialModel newCredential = new AzureSqlElasticJobCredentialModel
            {
                ResourceGroupName = this.ResourceGroupName,
                ServerName        = this.ServerName,
                AgentName         = this.AgentName,
                CredentialName    = this.Name,
                UserName          = this.Credential.UserName,
                Password          = this.Credential.Password,
            };

            return(new List <AzureSqlElasticJobCredentialModel> {
                newCredential
            });
        }
Beispiel #3
0
        /// <summary>
        /// Converts a job credential response to a AzureSqlElasticJobCredentialModel object
        /// </summary>
        /// <param name="resourceGroupName">The resource group name</param>
        /// <param name="serverName">The server name</param>
        /// <param name="agentName">The agent name</param>
        /// <param name="resp">The job credential response</param>
        /// <returns></returns>
        private static AzureSqlElasticJobCredentialModel CreateAgentCredentialModelFromResponse(string resourceGroupName, string serverName, string agentName, JobCredential resp)
        {
            string credentialName = new ResourceIdentifier(resp.Id).ResourceName;

            AzureSqlElasticJobCredentialModel credential = new AzureSqlElasticJobCredentialModel
            {
                ResourceGroupName = resourceGroupName,
                ServerName        = serverName,
                AgentName         = agentName,
                CredentialName    = resp.Name,
                UserName          = resp.Username,
                ResourceId        = resp.Id,
                Type = resp.Type
            };

            return(credential);
        }