1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package neptune
4
5import (
6	"context"
7	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
8	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
9	"github.com/aws/aws-sdk-go-v2/service/neptune/types"
10	"github.com/aws/smithy-go/middleware"
11	smithyhttp "github.com/aws/smithy-go/transport/http"
12)
13
14// Modifies the parameters of a DB cluster parameter group. To modify more than one
15// parameter, submit a list of the following: ParameterName, ParameterValue, and
16// ApplyMethod. A maximum of 20 parameters can be modified in a single request.
17// Changes to dynamic parameters are applied immediately. Changes to static
18// parameters require a reboot without failover to the DB cluster associated with
19// the parameter group before the change can take effect. After you create a DB
20// cluster parameter group, you should wait at least 5 minutes before creating your
21// first DB cluster that uses that DB cluster parameter group as the default
22// parameter group. This allows Amazon Neptune to fully complete the create action
23// before the parameter group is used as the default for a new DB cluster. This is
24// especially important for parameters that are critical when creating the default
25// database for a DB cluster, such as the character set for the default database
26// defined by the character_set_database parameter. You can use the Parameter
27// Groups option of the Amazon Neptune console or the DescribeDBClusterParameters
28// command to verify that your DB cluster parameter group has been created or
29// modified.
30func (c *Client) ModifyDBClusterParameterGroup(ctx context.Context, params *ModifyDBClusterParameterGroupInput, optFns ...func(*Options)) (*ModifyDBClusterParameterGroupOutput, error) {
31	if params == nil {
32		params = &ModifyDBClusterParameterGroupInput{}
33	}
34
35	result, metadata, err := c.invokeOperation(ctx, "ModifyDBClusterParameterGroup", params, optFns, addOperationModifyDBClusterParameterGroupMiddlewares)
36	if err != nil {
37		return nil, err
38	}
39
40	out := result.(*ModifyDBClusterParameterGroupOutput)
41	out.ResultMetadata = metadata
42	return out, nil
43}
44
45type ModifyDBClusterParameterGroupInput struct {
46
47	// The name of the DB cluster parameter group to modify.
48	//
49	// This member is required.
50	DBClusterParameterGroupName *string
51
52	// A list of parameters in the DB cluster parameter group to modify.
53	//
54	// This member is required.
55	Parameters []types.Parameter
56}
57
58type ModifyDBClusterParameterGroupOutput struct {
59
60	// The name of the DB cluster parameter group. Constraints:
61	//
62	// * Must be 1 to 255
63	// letters or numbers.
64	//
65	// * First character must be a letter
66	//
67	// * Cannot end with a
68	// hyphen or contain two consecutive hyphens
69	//
70	// This value is stored as a lowercase
71	// string.
72	DBClusterParameterGroupName *string
73
74	// Metadata pertaining to the operation's result.
75	ResultMetadata middleware.Metadata
76}
77
78func addOperationModifyDBClusterParameterGroupMiddlewares(stack *middleware.Stack, options Options) (err error) {
79	err = stack.Serialize.Add(&awsAwsquery_serializeOpModifyDBClusterParameterGroup{}, middleware.After)
80	if err != nil {
81		return err
82	}
83	err = stack.Deserialize.Add(&awsAwsquery_deserializeOpModifyDBClusterParameterGroup{}, middleware.After)
84	if err != nil {
85		return err
86	}
87	if err = addSetLoggerMiddleware(stack, options); err != nil {
88		return err
89	}
90	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
91		return err
92	}
93	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
94		return err
95	}
96	if err = addResolveEndpointMiddleware(stack, options); err != nil {
97		return err
98	}
99	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
100		return err
101	}
102	if err = addRetryMiddlewares(stack, options); err != nil {
103		return err
104	}
105	if err = addHTTPSignerV4Middleware(stack, options); err != nil {
106		return err
107	}
108	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
109		return err
110	}
111	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
112		return err
113	}
114	if err = addClientUserAgent(stack); err != nil {
115		return err
116	}
117	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
118		return err
119	}
120	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
121		return err
122	}
123	if err = addOpModifyDBClusterParameterGroupValidationMiddleware(stack); err != nil {
124		return err
125	}
126	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opModifyDBClusterParameterGroup(options.Region), middleware.Before); err != nil {
127		return err
128	}
129	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
130		return err
131	}
132	if err = addResponseErrorMiddleware(stack); err != nil {
133		return err
134	}
135	if err = addRequestResponseLogging(stack, options); err != nil {
136		return err
137	}
138	return nil
139}
140
141func newServiceMetadataMiddleware_opModifyDBClusterParameterGroup(region string) *awsmiddleware.RegisterServiceMetadata {
142	return &awsmiddleware.RegisterServiceMetadata{
143		Region:        region,
144		ServiceID:     ServiceID,
145		SigningName:   "rds",
146		OperationName: "ModifyDBClusterParameterGroup",
147	}
148}
149