/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the appconfigdata-2021-11-11.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.AppConfigData.Model;
namespace Amazon.AppConfigData
{
///
/// Interface for accessing AppConfigData
///
/// AppConfig Data provides the data plane APIs your application uses to retrieve configuration
/// data. Here's how it works:
///
///
///
/// Your application retrieves configuration data by first establishing a configuration
/// session using the AppConfig Data StartConfigurationSession API action. Your
/// session's client then makes periodic calls to GetLatestConfiguration to check
/// for and retrieve the latest data available.
///
///
///
/// When calling StartConfigurationSession
, your code sends the following
/// information:
///
/// -
///
/// Identifiers (ID or name) of an AppConfig application, environment, and configuration
/// profile that the session tracks.
///
///
-
///
/// (Optional) The minimum amount of time the session's client must wait between calls
/// to
GetLatestConfiguration
.
///
///
///
/// In response, AppConfig provides an InitialConfigurationToken
to be given
/// to the session's client and used the first time it calls GetLatestConfiguration
/// for that session.
///
///
///
/// This token should only be used once in your first call to GetLatestConfiguration
.
/// You must use the new token in the GetLatestConfiguration
response
/// (NextPollConfigurationToken
) in each subsequent call to GetLatestConfiguration
.
///
///
///
/// When calling GetLatestConfiguration
, your client code sends the most
/// recent ConfigurationToken
value it has and receives in response:
///
/// -
///
///
NextPollConfigurationToken
: the ConfigurationToken
value
/// to use on the next call to GetLatestConfiguration
.
///
/// -
///
///
NextPollIntervalInSeconds
: the duration the client should wait before
/// making its next call to GetLatestConfiguration
. This duration may vary
/// over the course of the session, so it should be used instead of the value sent on
/// the StartConfigurationSession
call.
///
/// -
///
/// The configuration: the latest data intended for the session. This may be empty if
/// the client already has the latest version of the configuration.
///
///
///
/// The InitialConfigurationToken
and NextPollConfigurationToken
/// should only be used once. To support long poll use cases, the tokens are valid for
/// up to 24 hours. If a GetLatestConfiguration
call uses an expired token,
/// the system returns BadRequestException
.
///
///
///
/// For more information and to view example CLI commands that show how to retrieve a
/// configuration using the AppConfig Data StartConfigurationSession
and
/// GetLatestConfiguration
API actions, see Retrieving
/// the configuration in the AppConfig User Guide.
///
///
public partial interface IAmazonAppConfigData : IAmazonService, IDisposable
{
#region GetLatestConfiguration
///
/// Retrieves the latest deployed configuration. This API may return empty configuration
/// data if the client already has the latest version. For more information about this
/// API action and to view example CLI commands that show how to use it with the StartConfigurationSession
/// API action, see Retrieving
/// the configuration in the AppConfig User Guide.
///
///
///
/// Note the following important information.
///
/// -
///
/// Each configuration token is only valid for one call to
GetLatestConfiguration
.
/// The GetLatestConfiguration
response includes a NextPollConfigurationToken
/// that should always replace the token used for the just-completed call in preparation
/// for the next one.
///
/// -
///
///
GetLatestConfiguration
is a priced call. For more information, see Pricing.
///
///
///
/// Container for the necessary parameters to execute the GetLatestConfiguration service method.
///
/// The response from the GetLatestConfiguration service method, as returned by AppConfigData.
///
/// The input fails to satisfy the constraints specified by the service.
///
///
/// There was an internal failure in the service.
///
///
/// The requested resource could not be found.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetLatestConfiguration Operation
GetLatestConfigurationResponse GetLatestConfiguration(GetLatestConfigurationRequest request);
///
/// Retrieves the latest deployed configuration. This API may return empty configuration
/// data if the client already has the latest version. For more information about this
/// API action and to view example CLI commands that show how to use it with the StartConfigurationSession
/// API action, see Retrieving
/// the configuration in the AppConfig User Guide.
///
///
///
/// Note the following important information.
///
/// -
///
/// Each configuration token is only valid for one call to
GetLatestConfiguration
.
/// The GetLatestConfiguration
response includes a NextPollConfigurationToken
/// that should always replace the token used for the just-completed call in preparation
/// for the next one.
///
/// -
///
///
GetLatestConfiguration
is a priced call. For more information, see Pricing.
///
///
///
/// Container for the necessary parameters to execute the GetLatestConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetLatestConfiguration service method, as returned by AppConfigData.
///
/// The input fails to satisfy the constraints specified by the service.
///
///
/// There was an internal failure in the service.
///
///
/// The requested resource could not be found.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetLatestConfiguration Operation
Task GetLatestConfigurationAsync(GetLatestConfigurationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region StartConfigurationSession
///
/// Starts a configuration session used to retrieve a deployed configuration. For more
/// information about this API action and to view example CLI commands that show how to
/// use it with the GetLatestConfiguration API action, see Retrieving
/// the configuration in the AppConfig User Guide.
///
/// Container for the necessary parameters to execute the StartConfigurationSession service method.
///
/// The response from the StartConfigurationSession service method, as returned by AppConfigData.
///
/// The input fails to satisfy the constraints specified by the service.
///
///
/// There was an internal failure in the service.
///
///
/// The requested resource could not be found.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for StartConfigurationSession Operation
StartConfigurationSessionResponse StartConfigurationSession(StartConfigurationSessionRequest request);
///
/// Starts a configuration session used to retrieve a deployed configuration. For more
/// information about this API action and to view example CLI commands that show how to
/// use it with the GetLatestConfiguration API action, see Retrieving
/// the configuration in the AppConfig User Guide.
///
/// Container for the necessary parameters to execute the StartConfigurationSession service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartConfigurationSession service method, as returned by AppConfigData.
///
/// The input fails to satisfy the constraints specified by the service.
///
///
/// There was an internal failure in the service.
///
///
/// The requested resource could not be found.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for StartConfigurationSession Operation
Task StartConfigurationSessionAsync(StartConfigurationSessionRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}