/// <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)); }
/// <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 }); }
/// <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); }