1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package appconfig
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Retrieves the latest deployed configuration. Note the following important
// information.
//
// * This API action has been deprecated. Calls to receive
// configuration data should use the StartConfigurationSession
// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html)
// and GetLatestConfiguration
// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)
// APIs instead.
//
// * GetConfiguration is a priced call. For more information, see
// Pricing (https://aws.amazon.com/systems-manager/pricing/).
//
// * AppConfig uses the
// value of the ClientConfigurationVersion parameter to identify the configuration
// version on your clients. If you don’t send ClientConfigurationVersion with each
// call to GetConfiguration, your clients receive the current configuration. You
// are charged each time your clients receive a configuration. To avoid excess
// charges, we recommend you use the StartConfigurationSession
// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html)
// and GetLatestConfiguration
// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html)
// APIs, which track the client configuration version on your behalf. If you choose
// to continue using GetConfiguration, we recommend that you include the
// ClientConfigurationVersion value with every call to GetConfiguration. The value
// to use for ClientConfigurationVersion comes from the ConfigurationVersion
// attribute returned by GetConfiguration when there is new or updated data, and
// should be saved for subsequent calls to GetConfiguration.
//
// Deprecated: This API has been deprecated in favor of the GetLatestConfiguration
// API used in conjunction with StartConfigurationSession.
func (c *Client) GetConfiguration(ctx context.Context, params *GetConfigurationInput, optFns ...func(*Options)) (*GetConfigurationOutput, error) {
if params == nil {
params = &GetConfigurationInput{}
}
result, metadata, err := c.invokeOperation(ctx, "GetConfiguration", params, optFns, c.addOperationGetConfigurationMiddlewares)
if err != nil {
return nil, err
}
out := result.(*GetConfigurationOutput)
out.ResultMetadata = metadata
return out, nil
}
type GetConfigurationInput struct {
// The application to get. Specify either the application name or the application
// ID.
//
// This member is required.
Application *string
// The clientId parameter in the following command is a unique, user-specified ID
// to identify the client for the configuration. This ID enables AppConfig to
// deploy the configuration in intervals, as defined in the deployment strategy.
//
// This member is required.
ClientId *string
// The configuration to get. Specify either the configuration name or the
// configuration ID.
//
// This member is required.
Configuration *string
// The environment to get. Specify either the environment name or the environment
// ID.
//
// This member is required.
Environment *string
// The configuration version returned in the most recent GetConfiguration response.
// AppConfig uses the value of the ClientConfigurationVersion parameter to identify
// the configuration version on your clients. If you don’t send
// ClientConfigurationVersion with each call to GetConfiguration, your clients
// receive the current configuration. You are charged each time your clients
// receive a configuration. To avoid excess charges, we recommend that you include
// the ClientConfigurationVersion value with every call to GetConfiguration. This
// value must be saved on your client. Subsequent calls to GetConfiguration must
// pass this value by using the ClientConfigurationVersion parameter. For more
// information about working with configurations, see Retrieving the Configuration
// (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration.html)
// in the AppConfig User Guide.
ClientConfigurationVersion *string
noSmithyDocumentSerde
}
type GetConfigurationOutput struct {
// The configuration version.
ConfigurationVersion *string
// The content of the configuration or the configuration data. The Content
// attribute only contains data if the system finds new or updated configuration
// data. If there is no new or updated data and ClientConfigurationVersion matches
// the version of the current configuration, AppConfig returns a 204 No Content
// HTTP response code and the Content value will be empty.
Content []byte
// A standard MIME type describing the format of the configuration content. For
// more information, see Content-Type
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17).
ContentType *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationGetConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestjson1_serializeOpGetConfiguration{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetConfiguration{}, middleware.After)
if err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = addHTTPSignerV4Middleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpGetConfigurationValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetConfiguration(options.Region), middleware.Before); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opGetConfiguration(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "appconfig",
OperationName: "GetConfiguration",
}
}
|