/// <summary> /// <para> Modifies the parameters of a DBParameterGroup. To modify more than one parameter submit a list of the following: ParameterName, /// ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request. </para> /// </summary> /// /// <param name="modifyDBParameterGroupRequest">Container for the necessary parameters to execute the ModifyDBParameterGroup service method on /// AmazonRDS.</param> /// /// <returns>The response from the ModifyDBParameterGroup service method, as returned by AmazonRDS.</returns> /// /// <exception cref="DBParameterGroupNotFoundException"/> /// <exception cref="InvalidDBParameterGroupStateException"/> public ModifyDBParameterGroupResponse ModifyDBParameterGroup(ModifyDBParameterGroupRequest modifyDBParameterGroupRequest) { IRequest <ModifyDBParameterGroupRequest> request = new ModifyDBParameterGroupRequestMarshaller().Marshall(modifyDBParameterGroupRequest); ModifyDBParameterGroupResponse response = Invoke <ModifyDBParameterGroupRequest, ModifyDBParameterGroupResponse> (request, this.signer, ModifyDBParameterGroupResponseUnmarshaller.GetInstance()); return(response); }
private static IDictionary <string, string> ConvertModifyDBParameterGroup(ModifyDBParameterGroupRequest request) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary["Action"] = "ModifyDBParameterGroup"; if (request.IsSetDBParameterGroupName()) { dictionary["DBParameterGroupName"] = request.DBParameterGroupName; } List <Parameter> parameters = request.Parameters; int num = 1; foreach (Parameter parameter in parameters) { if (parameter.IsSetParameterName()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "ParameterName" })] = parameter.ParameterName; } if (parameter.IsSetParameterValue()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "ParameterValue" })] = parameter.ParameterValue; } if (parameter.IsSetDescription()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "Description" })] = parameter.Description; } if (parameter.IsSetSource()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "Source" })] = parameter.Source; } if (parameter.IsSetApplyType()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "ApplyType" })] = parameter.ApplyType; } if (parameter.IsSetDataType()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "DataType" })] = parameter.DataType; } if (parameter.IsSetAllowedValues()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "AllowedValues" })] = parameter.AllowedValues; } if (parameter.IsSetIsModifiable()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "IsModifiable" })] = parameter.IsModifiable.ToString().ToLower(); } if (parameter.IsSetApplyMethod()) { dictionary[string.Concat(new object[] { "Parameters", ".member.", num, ".", "ApplyMethod" })] = parameter.ApplyMethod; } num++; } return(dictionary); }
public void TestDBParameterOperations() { const string engine = "mysql5.1"; var parameterGroupName = "dotnet-test-param-group-" + DateTime.Now.Ticks; DBParameterGroup parameterGroup = null; DBParameterGroup parameterGroup2 = null; try { // Create a parameter group parameterGroup = Client.CreateDBParameterGroupAsync( new CreateDBParameterGroupRequest { DBParameterGroupName = parameterGroupName, Description = "description", DBParameterGroupFamily = engine }).Result.DBParameterGroup; Assert.AreEqual(parameterGroupName, parameterGroup.DBParameterGroupName); Assert.AreEqual("description", parameterGroup.Description); Assert.IsTrue(parameterGroup.DBParameterGroupFamily.StartsWith("mysql")); // Describe it var dbParameterGroups = Client.DescribeDBParameterGroupsAsync( new DescribeDBParameterGroupsRequest { DBParameterGroupName = parameterGroupName, MaxRecords = 20 }).Result.DBParameterGroups; Assert.AreEqual(1, dbParameterGroups.Count); Assert.AreEqual(parameterGroupName, dbParameterGroups[0].DBParameterGroupName); Assert.AreEqual("description", dbParameterGroups[0].Description); Assert.IsTrue(dbParameterGroups[0].DBParameterGroupFamily.StartsWith("mysql")); // Describe the params in a group var parameters = Client.DescribeDBParametersAsync( new DescribeDBParametersRequest { DBParameterGroupName = parameterGroupName, MaxRecords = 20 }).Result.Parameters; // We can't request a specific parameter, so we rely on the fact that most // parameters will have the following fields populated. assertValidParameter(parameters[0]); // Describe the defaults for an engine var engineDefaultParameters = Client.DescribeEngineDefaultParametersAsync( new DescribeEngineDefaultParametersRequest { DBParameterGroupFamily = engine, MaxRecords = 20 }).Result.EngineDefaults; Assert.AreEqual(engine, engineDefaultParameters.DBParameterGroupFamily); Assert.IsFalse(engineDefaultParameters.Parameters.Count == 0); assertValidParameter(engineDefaultParameters.Parameters[0]); // Reset the parameter group var resetParameterGroupName = Client.ResetDBParameterGroupAsync( new ResetDBParameterGroupRequest { DBParameterGroupName = parameterGroupName, ResetAllParameters = true }).Result.DBParameterGroupName; Assert.AreEqual(parameterGroupName, resetParameterGroupName); // Modify the parameter group var newParameter = new Parameter { ParameterName = "character_set_client", ParameterValue = "ascii", ApplyMethod = "immediate" }; var modifyDbParameterGroupRequest = new ModifyDBParameterGroupRequest { DBParameterGroupName = parameterGroupName, }; modifyDbParameterGroupRequest.Parameters.Add(newParameter); var modifiedParameterGroupName = Client.ModifyDBParameterGroupAsync(modifyDbParameterGroupRequest) .Result.DBParameterGroupName; Assert.AreEqual(parameterGroupName, modifiedParameterGroupName); // Copy the parameter group parameterGroup2 = Client.CopyDBParameterGroupAsync(new CopyDBParameterGroupRequest { SourceDBParameterGroupIdentifier = parameterGroupName, TargetDBParameterGroupIdentifier = parameterGroupName + "copy", TargetDBParameterGroupDescription = "Copy of " + parameterGroupName }).Result.DBParameterGroup; Assert.AreEqual(parameterGroupName + "copy", parameterGroup2.DBParameterGroupName); Assert.AreEqual("Copy of " + parameterGroupName, parameterGroup2.Description); Assert.IsTrue(parameterGroup2.DBParameterGroupFamily.StartsWith("mysql")); } finally { if (parameterGroup != null) { Client.DeleteDBParameterGroupAsync(new DeleteDBParameterGroupRequest { DBParameterGroupName = parameterGroup.DBParameterGroupName }).Wait(); } if (parameterGroup2 != null) { Client.DeleteDBParameterGroupAsync(new DeleteDBParameterGroupRequest { DBParameterGroupName = parameterGroup2.DBParameterGroupName }).Wait(); } } }
public ModifyDBParameterGroupResponse ModifyDBParameterGroup(ModifyDBParameterGroupRequest request) { return(this.Invoke <ModifyDBParameterGroupResponse>(ConvertModifyDBParameterGroup(request))); }