1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package elasticbeanstalk
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/elasticbeanstalk/types"
10	"github.com/aws/smithy-go/middleware"
11	smithyhttp "github.com/aws/smithy-go/transport/http"
12	"time"
13)
14
15// Updates the specified configuration template to have the specified properties or
16// configuration option values. If a property (for example, ApplicationName) is not
17// provided, its value remains unchanged. To clear such properties, specify an
18// empty string. Related Topics
19//
20// * DescribeConfigurationOptions
21func (c *Client) UpdateConfigurationTemplate(ctx context.Context, params *UpdateConfigurationTemplateInput, optFns ...func(*Options)) (*UpdateConfigurationTemplateOutput, error) {
22	if params == nil {
23		params = &UpdateConfigurationTemplateInput{}
24	}
25
26	result, metadata, err := c.invokeOperation(ctx, "UpdateConfigurationTemplate", params, optFns, addOperationUpdateConfigurationTemplateMiddlewares)
27	if err != nil {
28		return nil, err
29	}
30
31	out := result.(*UpdateConfigurationTemplateOutput)
32	out.ResultMetadata = metadata
33	return out, nil
34}
35
36// The result message containing the options for the specified solution stack.
37type UpdateConfigurationTemplateInput struct {
38
39	// The name of the application associated with the configuration template to
40	// update. If no application is found with this name, UpdateConfigurationTemplate
41	// returns an InvalidParameterValue error.
42	//
43	// This member is required.
44	ApplicationName *string
45
46	// The name of the configuration template to update. If no configuration template
47	// is found with this name, UpdateConfigurationTemplate returns an
48	// InvalidParameterValue error.
49	//
50	// This member is required.
51	TemplateName *string
52
53	// A new description for the configuration.
54	Description *string
55
56	// A list of configuration option settings to update with the new specified option
57	// value.
58	OptionSettings []types.ConfigurationOptionSetting
59
60	// A list of configuration options to remove from the configuration set.
61	// Constraint: You can remove only UserDefined configuration options.
62	OptionsToRemove []types.OptionSpecification
63}
64
65// Describes the settings for a configuration set.
66type UpdateConfigurationTemplateOutput struct {
67
68	// The name of the application associated with this configuration set.
69	ApplicationName *string
70
71	// The date (in UTC time) when this configuration set was created.
72	DateCreated *time.Time
73
74	// The date (in UTC time) when this configuration set was last modified.
75	DateUpdated *time.Time
76
77	// If this configuration set is associated with an environment, the
78	// DeploymentStatus parameter indicates the deployment status of this configuration
79	// set:
80	//
81	// * null: This configuration is not associated with a running
82	// environment.
83	//
84	// * pending: This is a draft configuration that is not deployed to
85	// the associated environment but is in the process of deploying.
86	//
87	// * deployed: This
88	// is the configuration that is currently deployed to the associated running
89	// environment.
90	//
91	// * failed: This is a draft configuration that failed to
92	// successfully deploy.
93	DeploymentStatus types.ConfigurationDeploymentStatus
94
95	// Describes this configuration set.
96	Description *string
97
98	// If not null, the name of the environment for this configuration set.
99	EnvironmentName *string
100
101	// A list of the configuration options and their values in this configuration set.
102	OptionSettings []types.ConfigurationOptionSetting
103
104	// The ARN of the platform version.
105	PlatformArn *string
106
107	// The name of the solution stack this configuration set uses.
108	SolutionStackName *string
109
110	// If not null, the name of the configuration template for this configuration set.
111	TemplateName *string
112
113	// Metadata pertaining to the operation's result.
114	ResultMetadata middleware.Metadata
115}
116
117func addOperationUpdateConfigurationTemplateMiddlewares(stack *middleware.Stack, options Options) (err error) {
118	err = stack.Serialize.Add(&awsAwsquery_serializeOpUpdateConfigurationTemplate{}, middleware.After)
119	if err != nil {
120		return err
121	}
122	err = stack.Deserialize.Add(&awsAwsquery_deserializeOpUpdateConfigurationTemplate{}, middleware.After)
123	if err != nil {
124		return err
125	}
126	if err = addSetLoggerMiddleware(stack, options); err != nil {
127		return err
128	}
129	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
130		return err
131	}
132	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
133		return err
134	}
135	if err = addResolveEndpointMiddleware(stack, options); err != nil {
136		return err
137	}
138	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
139		return err
140	}
141	if err = addRetryMiddlewares(stack, options); err != nil {
142		return err
143	}
144	if err = addHTTPSignerV4Middleware(stack, options); err != nil {
145		return err
146	}
147	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
148		return err
149	}
150	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
151		return err
152	}
153	if err = addClientUserAgent(stack); err != nil {
154		return err
155	}
156	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
157		return err
158	}
159	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
160		return err
161	}
162	if err = addOpUpdateConfigurationTemplateValidationMiddleware(stack); err != nil {
163		return err
164	}
165	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateConfigurationTemplate(options.Region), middleware.Before); err != nil {
166		return err
167	}
168	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
169		return err
170	}
171	if err = addResponseErrorMiddleware(stack); err != nil {
172		return err
173	}
174	if err = addRequestResponseLogging(stack, options); err != nil {
175		return err
176	}
177	return nil
178}
179
180func newServiceMetadataMiddleware_opUpdateConfigurationTemplate(region string) *awsmiddleware.RegisterServiceMetadata {
181	return &awsmiddleware.RegisterServiceMetadata{
182		Region:        region,
183		ServiceID:     ServiceID,
184		SigningName:   "elasticbeanstalk",
185		OperationName: "UpdateConfigurationTemplate",
186	}
187}
188