AWS AppConfig
AWS AppConfig (appconfig + appconfigdata) on fakecloud: applications, environments, configuration profiles, hosted configuration versions storing real bytes, deployment strategies, deployments, extensions, experiments, and a real data plane that serves deployed configuration — account-partitioned, persisted state.
fakecloud implements AWS AppConfig as a single service that speaks both AWS model-services behind the shared appconfig SigV4 signing name: the 56-operation appconfig control plane and the 2-operation appconfigdata data plane (58 operations total, restJson1). Control-plane traffic routes on paths like /applications/..., /deploymentstrategies/... and /extensions/...; the data plane routes on /configurationsessions and /configuration. Every resource is real, account-partitioned state that persists across restarts in persistent mode, so what one session creates the next session still sees.
Unlike a control-plane-only emulator, AppConfig on fakecloud serves a real data plane: hosted configuration versions store the exact bytes you upload, and GetLatestConfiguration resolves a session token back to the latest deployed configuration and returns those bytes verbatim with the right content type.
Supported features
- Applications (
CreateApplication,GetApplication,UpdateApplication,DeleteApplication,ListApplications). New applications get a 7-character id and anarn:aws:appconfig:<region>:<acct>:application/<id>ARN. Deleting an application cascades to its environments, configuration profiles (and their hosted versions) and experiments. - Environments (
CreateEnvironment,GetEnvironment,UpdateEnvironment,DeleteEnvironment,ListEnvironments) nested under an application, withMonitorsround-tripped verbatim. - Configuration profiles (
CreateConfigurationProfile,GetConfigurationProfile,UpdateConfigurationProfile,DeleteConfigurationProfile,ListConfigurationProfiles,ValidateConfiguration). Deleting a profile cascades to its hosted configuration versions. - Hosted configuration versions (
CreateHostedConfigurationVersion,GetHostedConfigurationVersion,DeleteHostedConfigurationVersion,ListHostedConfigurationVersions). The request body is the raw configuration payload; fakecloud stores the exact bytes plus theContent-Type, and returns them verbatim with theApplication-Id,Configuration-Profile-Id,Version-NumberandContent-Typeresponse headers.VersionNumberauto-increments per profile. - Deployment strategies (
CreateDeploymentStrategy,GetDeploymentStrategy,UpdateDeploymentStrategy,DeleteDeploymentStrategy,ListDeploymentStrategies). The AWS-predefined strategies (AppConfig.AllAtOnce,AppConfig.Linear50PercentEvery30Seconds,AppConfig.Canary10Percent20Minutes,AppConfig.Linear20PercentEvery6Minutes) are resolvable by their well-known ids. - Deployments (
StartDeployment,GetDeployment,StopDeployment,ListDeployments). A deployment settles straight toCOMPLETE(100 %PercentageComplete) with an event log so a waiter — and Terraform — observes the terminal state;DeploymentNumberauto-increments per environment. - Extensions + associations (
CreateExtension,GetExtension,UpdateExtension,DeleteExtension,ListExtensions,CreateExtensionAssociation,GetExtensionAssociation,UpdateExtensionAssociation,DeleteExtensionAssociation,ListExtensionAssociations) with action-point maps and parameters round-tripped verbatim. - Experiments (
CreateExperimentDefinition,GetExperimentDefinition,UpdateExperimentDefinition,DeleteExperimentDefinition,ListExperimentDefinitions, plus the run lifecycle:StartExperimentRun,GetExperimentRun,UpdateExperimentRun,StopExperimentRun,ListExperimentRuns,ListExperimentRunEvents). - Account settings (
GetAccountSettings,UpdateAccountSettings) for deletion protection and vended metrics. - Legacy
GetConfigurationreturns the latest deployed hosted-config bytes for an application/environment/profile, and tagging (TagResource,UntagResource,ListTagsForResource) is keyed by resource ARN.
Data plane (appconfigdata)
StartConfigurationSessionbinds an application/environment/profile to an opaqueInitialConfigurationToken.GetLatestConfigurationresolves that token to the latest deployed hosted configuration version and returns its raw bytes, theContent-Type, and aNextPollConfigurationToken.
All List operations honor MaxResults / NextToken pagination, and @length, @range, and enum input constraints are enforced with the model's declared error codes (BadRequestException, ResourceNotFoundException, ConflictException).
100% conformance: all 2,324 generated Smithy probe variants pass across both the appconfig (2,257) and appconfigdata (67) model-services.