コード例 #1
0
        /// <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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: DBParameters.cs プロジェクト: yeurch/aws-sdk-net
        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();
                }
            }
        }
コード例 #4
0
 public ModifyDBParameterGroupResponse ModifyDBParameterGroup(ModifyDBParameterGroupRequest request)
 {
     return(this.Invoke <ModifyDBParameterGroupResponse>(ConvertModifyDBParameterGroup(request)));
 }