@aws-sdk/client-appconfig 3.523.0 → 3.529.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +134 -30
  2. package/dist-cjs/index.js +33 -73
  3. package/dist-es/protocols/Aws_restJson1.js +2 -41
  4. package/dist-types/AppConfig.d.ts +134 -30
  5. package/dist-types/AppConfigClient.d.ts +134 -30
  6. package/dist-types/commands/CreateExtensionAssociationCommand.d.ts +2 -3
  7. package/dist-types/commands/CreateExtensionCommand.d.ts +4 -3
  8. package/dist-types/commands/GetExtensionAssociationCommand.d.ts +2 -3
  9. package/dist-types/commands/GetExtensionCommand.d.ts +1 -0
  10. package/dist-types/commands/ListExtensionAssociationsCommand.d.ts +2 -3
  11. package/dist-types/commands/ListExtensionsCommand.d.ts +2 -3
  12. package/dist-types/commands/StartDeploymentCommand.d.ts +3 -0
  13. package/dist-types/commands/UpdateExtensionAssociationCommand.d.ts +2 -3
  14. package/dist-types/commands/UpdateExtensionCommand.d.ts +4 -3
  15. package/dist-types/index.d.ts +134 -30
  16. package/dist-types/models/models_0.d.ts +34 -19
  17. package/dist-types/ts3.4/models/models_0.d.ts +2 -0
  18. package/package.json +17 -17
  19. package/dist-cjs/AppConfig.js +0 -1
  20. package/dist-cjs/AppConfigClient.js +0 -1
  21. package/dist-cjs/auth/httpAuthExtensionConfiguration.js +0 -1
  22. package/dist-cjs/commands/CreateApplicationCommand.js +0 -1
  23. package/dist-cjs/commands/CreateConfigurationProfileCommand.js +0 -1
  24. package/dist-cjs/commands/CreateDeploymentStrategyCommand.js +0 -1
  25. package/dist-cjs/commands/CreateEnvironmentCommand.js +0 -1
  26. package/dist-cjs/commands/CreateExtensionAssociationCommand.js +0 -1
  27. package/dist-cjs/commands/CreateExtensionCommand.js +0 -1
  28. package/dist-cjs/commands/CreateHostedConfigurationVersionCommand.js +0 -1
  29. package/dist-cjs/commands/DeleteApplicationCommand.js +0 -1
  30. package/dist-cjs/commands/DeleteConfigurationProfileCommand.js +0 -1
  31. package/dist-cjs/commands/DeleteDeploymentStrategyCommand.js +0 -1
  32. package/dist-cjs/commands/DeleteEnvironmentCommand.js +0 -1
  33. package/dist-cjs/commands/DeleteExtensionAssociationCommand.js +0 -1
  34. package/dist-cjs/commands/DeleteExtensionCommand.js +0 -1
  35. package/dist-cjs/commands/DeleteHostedConfigurationVersionCommand.js +0 -1
  36. package/dist-cjs/commands/GetApplicationCommand.js +0 -1
  37. package/dist-cjs/commands/GetConfigurationCommand.js +0 -1
  38. package/dist-cjs/commands/GetConfigurationProfileCommand.js +0 -1
  39. package/dist-cjs/commands/GetDeploymentCommand.js +0 -1
  40. package/dist-cjs/commands/GetDeploymentStrategyCommand.js +0 -1
  41. package/dist-cjs/commands/GetEnvironmentCommand.js +0 -1
  42. package/dist-cjs/commands/GetExtensionAssociationCommand.js +0 -1
  43. package/dist-cjs/commands/GetExtensionCommand.js +0 -1
  44. package/dist-cjs/commands/GetHostedConfigurationVersionCommand.js +0 -1
  45. package/dist-cjs/commands/ListApplicationsCommand.js +0 -1
  46. package/dist-cjs/commands/ListConfigurationProfilesCommand.js +0 -1
  47. package/dist-cjs/commands/ListDeploymentStrategiesCommand.js +0 -1
  48. package/dist-cjs/commands/ListDeploymentsCommand.js +0 -1
  49. package/dist-cjs/commands/ListEnvironmentsCommand.js +0 -1
  50. package/dist-cjs/commands/ListExtensionAssociationsCommand.js +0 -1
  51. package/dist-cjs/commands/ListExtensionsCommand.js +0 -1
  52. package/dist-cjs/commands/ListHostedConfigurationVersionsCommand.js +0 -1
  53. package/dist-cjs/commands/ListTagsForResourceCommand.js +0 -1
  54. package/dist-cjs/commands/StartDeploymentCommand.js +0 -1
  55. package/dist-cjs/commands/StopDeploymentCommand.js +0 -1
  56. package/dist-cjs/commands/TagResourceCommand.js +0 -1
  57. package/dist-cjs/commands/UntagResourceCommand.js +0 -1
  58. package/dist-cjs/commands/UpdateApplicationCommand.js +0 -1
  59. package/dist-cjs/commands/UpdateConfigurationProfileCommand.js +0 -1
  60. package/dist-cjs/commands/UpdateDeploymentStrategyCommand.js +0 -1
  61. package/dist-cjs/commands/UpdateEnvironmentCommand.js +0 -1
  62. package/dist-cjs/commands/UpdateExtensionAssociationCommand.js +0 -1
  63. package/dist-cjs/commands/UpdateExtensionCommand.js +0 -1
  64. package/dist-cjs/commands/ValidateConfigurationCommand.js +0 -1
  65. package/dist-cjs/commands/index.js +0 -1
  66. package/dist-cjs/endpoint/EndpointParameters.js +0 -1
  67. package/dist-cjs/extensionConfiguration.js +0 -1
  68. package/dist-cjs/models/AppConfigServiceException.js +0 -1
  69. package/dist-cjs/models/index.js +0 -1
  70. package/dist-cjs/models/models_0.js +0 -1
  71. package/dist-cjs/pagination/Interfaces.js +0 -1
  72. package/dist-cjs/pagination/ListApplicationsPaginator.js +0 -1
  73. package/dist-cjs/pagination/ListConfigurationProfilesPaginator.js +0 -1
  74. package/dist-cjs/pagination/ListDeploymentStrategiesPaginator.js +0 -1
  75. package/dist-cjs/pagination/ListDeploymentsPaginator.js +0 -1
  76. package/dist-cjs/pagination/ListEnvironmentsPaginator.js +0 -1
  77. package/dist-cjs/pagination/ListExtensionAssociationsPaginator.js +0 -1
  78. package/dist-cjs/pagination/ListExtensionsPaginator.js +0 -1
  79. package/dist-cjs/pagination/ListHostedConfigurationVersionsPaginator.js +0 -1
  80. package/dist-cjs/pagination/index.js +0 -1
  81. package/dist-cjs/protocols/Aws_restJson1.js +0 -1
  82. package/dist-cjs/runtimeExtensions.js +0 -1
package/README.md CHANGED
@@ -6,50 +6,154 @@
6
6
 
7
7
  AWS SDK for JavaScript AppConfig Client for Node.js, Browser and React Native.
8
8
 
9
- <p>Use AppConfig, a capability of Amazon Web Services Systems Manager, to create, manage, and quickly
10
- deploy application configurations. AppConfig supports controlled deployments to
11
- applications of any size and includes built-in validation checks and monitoring. You can
12
- use AppConfig with applications hosted on Amazon EC2 instances, Lambda, containers,
13
- mobile applications, or IoT devices.</p>
14
- <p>To prevent errors when deploying application configurations, especially for production
15
- systems where a simple typo could cause an unexpected outage, AppConfig includes
16
- validators. A validator provides a syntactic or semantic check to ensure that the
17
- configuration you want to deploy works as intended. To validate your application
18
- configuration data, you provide a schema or an Amazon Web Services Lambda function that runs against
19
- the configuration. The configuration deployment or update can only proceed when the
20
- configuration data is valid.</p>
21
- <p>During a configuration deployment, AppConfig monitors the application to
22
- ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can
23
- configure a deployment strategy for each application or environment that includes
24
- deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error
25
- monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back
26
- to the previous version. </p>
27
- <p>AppConfig supports multiple use cases. Here are some examples:</p>
9
+ <p>AppConfig feature flags and dynamic configurations help software builders
10
+ quickly and securely adjust application behavior in production environments without full
11
+ code deployments. AppConfig speeds up software release frequency, improves
12
+ application resiliency, and helps you address emergent issues more quickly. With feature
13
+ flags, you can gradually release new capabilities to users and measure the impact of those
14
+ changes before fully deploying the new capabilities to all users. With operational flags
15
+ and dynamic configurations, you can update block lists, allow lists, throttling limits,
16
+ logging verbosity, and perform other operational tuning to quickly respond to issues in
17
+ production environments.</p>
18
+ <note>
19
+ <p>AppConfig is a capability of Amazon Web Services Systems Manager.</p>
20
+ </note>
21
+ <p>Despite the fact that application configuration content can vary greatly from
22
+ application to application, AppConfig supports the following use cases, which
23
+ cover a broad spectrum of customer needs:</p>
28
24
  <ul>
29
25
  <li>
30
26
  <p>
31
- <b>Feature flags</b>: Use AppConfig to turn on
32
- new features that require a timely deployment, such as a product launch or
33
- announcement. </p>
27
+ <b>Feature flags and toggles</b> - Safely release new
28
+ capabilities to your customers in a controlled environment. Instantly roll back
29
+ changes if you experience a problem.</p>
34
30
  </li>
35
31
  <li>
36
32
  <p>
37
- <b>Application tuning</b>: Use AppConfig to
38
- carefully introduce changes to your application that can only be tested with
39
- production traffic.</p>
33
+ <b>Application tuning</b> - Carefully introduce
34
+ application changes while testing the impact of those changes with users in
35
+ production environments.</p>
40
36
  </li>
41
37
  <li>
42
38
  <p>
43
- <b>Allow list</b>: Use AppConfig to allow
44
- premium subscribers to access paid content. </p>
39
+ <b>Allow list or block list</b> - Control access to
40
+ premium features or instantly block specific users without deploying new code.
41
+ </p>
45
42
  </li>
46
43
  <li>
47
44
  <p>
48
- <b>Operational issues</b>: Use AppConfig to
49
- reduce stress on your application when a dependency or other external factor impacts
50
- the system.</p>
45
+ <b>Centralized configuration storage</b> - Keep your
46
+ configuration data organized and consistent across all of your workloads. You can use
47
+ AppConfig to deploy configuration data stored in the AppConfig
48
+ hosted configuration store, Secrets Manager, Systems Manager, Parameter
49
+ Store, or Amazon S3.</p>
51
50
  </li>
52
51
  </ul>
52
+ <p>
53
+ <b>How AppConfig works</b>
54
+ </p>
55
+ <p>This section provides a high-level description of how AppConfig works and how
56
+ you get started.</p>
57
+ <dl>
58
+ <dt>1. Identify configuration values in code you want to manage in the cloud</dt>
59
+ <dd>
60
+ <p>Before you start creating AppConfig artifacts, we recommend you
61
+ identify configuration data in your code that you want to dynamically manage using
62
+ AppConfig. Good examples include feature flags or toggles, allow and
63
+ block lists, logging verbosity, service limits, and throttling rules, to name a
64
+ few.</p>
65
+ <p>If your configuration data already exists in the cloud, you can take advantage
66
+ of AppConfig validation, deployment, and extension features to further
67
+ streamline configuration data management.</p>
68
+ </dd>
69
+ <dt>2. Create an application namespace</dt>
70
+ <dd>
71
+ <p>To create a namespace, you create an AppConfig artifact called an
72
+ application. An application is simply an organizational construct like a
73
+ folder.</p>
74
+ </dd>
75
+ <dt>3. Create environments</dt>
76
+ <dd>
77
+ <p>For each AppConfig application, you define one or more environments.
78
+ An environment is a logical grouping of targets, such as applications in a
79
+ <code>Beta</code> or <code>Production</code> environment, Lambda functions,
80
+ or containers. You can also define environments for application subcomponents,
81
+ such as the <code>Web</code>, <code>Mobile</code>, and
82
+ <code>Back-end</code>.</p>
83
+ <p>You can configure Amazon CloudWatch alarms for each environment. The system monitors
84
+ alarms during a configuration deployment. If an alarm is triggered, the system
85
+ rolls back the configuration.</p>
86
+ </dd>
87
+ <dt>4. Create a configuration profile</dt>
88
+ <dd>
89
+ <p>A configuration profile includes, among other things, a URI that enables
90
+ AppConfig to locate your configuration data in its stored location
91
+ and a profile type. AppConfig supports two configuration profile types:
92
+ feature flags and freeform configurations. Feature flag configuration profiles
93
+ store their data in the AppConfig hosted configuration store and the URI
94
+ is simply <code>hosted</code>. For freeform configuration profiles, you can store
95
+ your data in the AppConfig hosted configuration store or any Amazon Web Services
96
+ service that integrates with AppConfig, as described in <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-free-form-configurations-creating.html">Creating
97
+ a free form configuration profile</a> in the the <i>AppConfig User Guide</i>.</p>
98
+ <p>A configuration profile can also include optional validators to ensure your
99
+ configuration data is syntactically and semantically correct. AppConfig
100
+ performs a check using the validators when you start a deployment. If any errors
101
+ are detected, the deployment rolls back to the previous configuration data.</p>
102
+ </dd>
103
+ <dt>5. Deploy configuration data</dt>
104
+ <dd>
105
+ <p>When you create a new deployment, you specify the following:</p>
106
+ <ul>
107
+ <li>
108
+ <p>An application ID</p>
109
+ </li>
110
+ <li>
111
+ <p>A configuration profile ID</p>
112
+ </li>
113
+ <li>
114
+ <p>A configuration version</p>
115
+ </li>
116
+ <li>
117
+ <p>An environment ID where you want to deploy the configuration data</p>
118
+ </li>
119
+ <li>
120
+ <p>A deployment strategy ID that defines how fast you want the changes to
121
+ take effect</p>
122
+ </li>
123
+ </ul>
124
+ <p>When you call the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html">StartDeployment</a> API action, AppConfig performs the following
125
+ tasks:</p>
126
+ <ol>
127
+ <li>
128
+ <p>Retrieves the configuration data from the underlying data store by using
129
+ the location URI in the configuration profile.</p>
130
+ </li>
131
+ <li>
132
+ <p>Verifies the configuration data is syntactically and semantically correct
133
+ by using the validators you specified when you created your configuration
134
+ profile.</p>
135
+ </li>
136
+ <li>
137
+ <p>Caches a copy of the data so it is ready to be retrieved by your
138
+ application. This cached copy is called the <i>deployed
139
+ data</i>.</p>
140
+ </li>
141
+ </ol>
142
+ </dd>
143
+ <dt>6. Retrieve the configuration</dt>
144
+ <dd>
145
+ <p>You can configure AppConfig Agent as a local host and have the agent
146
+ poll AppConfig for configuration updates. The agent calls the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html">StartConfigurationSession</a> and <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html">GetLatestConfiguration</a> API actions and caches your configuration data
147
+ locally. To retrieve the data, your application makes an HTTP call to the
148
+ localhost server. AppConfig Agent supports several use cases, as
149
+ described in <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-simplified-methods.html">Simplified
150
+ retrieval methods</a> in the the <i>AppConfig User
151
+ Guide</i>.</p>
152
+ <p>If AppConfig Agent isn't supported for your use case, you can
153
+ configure your application to poll AppConfig for configuration updates
154
+ by directly calling the <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html">StartConfigurationSession</a> and <a href="https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html">GetLatestConfiguration</a> API actions. </p>
155
+ </dd>
156
+ </dl>
53
157
  <p>This reference is intended to be used with the <a href="http://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html">AppConfig User
54
158
  Guide</a>.</p>
55
159
 
package/dist-cjs/index.js CHANGED
@@ -923,6 +923,7 @@ var se_StartDeploymentCommand = /* @__PURE__ */ __name(async (input, context) =>
923
923
  ConfigurationVersion: [],
924
924
  DeploymentStrategyId: [],
925
925
  Description: [],
926
+ DynamicExtensionParameters: (_) => (0, import_smithy_client._json)(_),
926
927
  KmsKeyIdentifier: [],
927
928
  Tags: (_) => (0, import_smithy_client._json)(_)
928
929
  })
@@ -1104,7 +1105,7 @@ var de_CreateApplicationCommand = /* @__PURE__ */ __name(async (output, context)
1104
1105
  const contents = (0, import_smithy_client.map)({
1105
1106
  $metadata: deserializeMetadata(output)
1106
1107
  });
1107
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1108
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1108
1109
  const doc = (0, import_smithy_client.take)(data, {
1109
1110
  Description: import_smithy_client.expectString,
1110
1111
  Id: import_smithy_client.expectString,
@@ -1120,7 +1121,7 @@ var de_CreateConfigurationProfileCommand = /* @__PURE__ */ __name(async (output,
1120
1121
  const contents = (0, import_smithy_client.map)({
1121
1122
  $metadata: deserializeMetadata(output)
1122
1123
  });
1123
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1124
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1124
1125
  const doc = (0, import_smithy_client.take)(data, {
1125
1126
  ApplicationId: import_smithy_client.expectString,
1126
1127
  Description: import_smithy_client.expectString,
@@ -1143,7 +1144,7 @@ var de_CreateDeploymentStrategyCommand = /* @__PURE__ */ __name(async (output, c
1143
1144
  const contents = (0, import_smithy_client.map)({
1144
1145
  $metadata: deserializeMetadata(output)
1145
1146
  });
1146
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1147
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1147
1148
  const doc = (0, import_smithy_client.take)(data, {
1148
1149
  DeploymentDurationInMinutes: import_smithy_client.expectInt32,
1149
1150
  Description: import_smithy_client.expectString,
@@ -1164,7 +1165,7 @@ var de_CreateEnvironmentCommand = /* @__PURE__ */ __name(async (output, context)
1164
1165
  const contents = (0, import_smithy_client.map)({
1165
1166
  $metadata: deserializeMetadata(output)
1166
1167
  });
1167
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1168
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1168
1169
  const doc = (0, import_smithy_client.take)(data, {
1169
1170
  ApplicationId: import_smithy_client.expectString,
1170
1171
  Description: import_smithy_client.expectString,
@@ -1183,7 +1184,7 @@ var de_CreateExtensionCommand = /* @__PURE__ */ __name(async (output, context) =
1183
1184
  const contents = (0, import_smithy_client.map)({
1184
1185
  $metadata: deserializeMetadata(output)
1185
1186
  });
1186
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1187
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1187
1188
  const doc = (0, import_smithy_client.take)(data, {
1188
1189
  Actions: import_smithy_client._json,
1189
1190
  Arn: import_smithy_client.expectString,
@@ -1203,7 +1204,7 @@ var de_CreateExtensionAssociationCommand = /* @__PURE__ */ __name(async (output,
1203
1204
  const contents = (0, import_smithy_client.map)({
1204
1205
  $metadata: deserializeMetadata(output)
1205
1206
  });
1206
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1207
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1207
1208
  const doc = (0, import_smithy_client.take)(data, {
1208
1209
  Arn: import_smithy_client.expectString,
1209
1210
  ExtensionArn: import_smithy_client.expectString,
@@ -1310,7 +1311,7 @@ var de_GetApplicationCommand = /* @__PURE__ */ __name(async (output, context) =>
1310
1311
  const contents = (0, import_smithy_client.map)({
1311
1312
  $metadata: deserializeMetadata(output)
1312
1313
  });
1313
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1314
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1314
1315
  const doc = (0, import_smithy_client.take)(data, {
1315
1316
  Description: import_smithy_client.expectString,
1316
1317
  Id: import_smithy_client.expectString,
@@ -1339,7 +1340,7 @@ var de_GetConfigurationProfileCommand = /* @__PURE__ */ __name(async (output, co
1339
1340
  const contents = (0, import_smithy_client.map)({
1340
1341
  $metadata: deserializeMetadata(output)
1341
1342
  });
1342
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1343
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1343
1344
  const doc = (0, import_smithy_client.take)(data, {
1344
1345
  ApplicationId: import_smithy_client.expectString,
1345
1346
  Description: import_smithy_client.expectString,
@@ -1362,7 +1363,7 @@ var de_GetDeploymentCommand = /* @__PURE__ */ __name(async (output, context) =>
1362
1363
  const contents = (0, import_smithy_client.map)({
1363
1364
  $metadata: deserializeMetadata(output)
1364
1365
  });
1365
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1366
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1366
1367
  const doc = (0, import_smithy_client.take)(data, {
1367
1368
  ApplicationId: import_smithy_client.expectString,
1368
1369
  AppliedExtensions: import_smithy_client._json,
@@ -1397,7 +1398,7 @@ var de_GetDeploymentStrategyCommand = /* @__PURE__ */ __name(async (output, cont
1397
1398
  const contents = (0, import_smithy_client.map)({
1398
1399
  $metadata: deserializeMetadata(output)
1399
1400
  });
1400
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1401
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1401
1402
  const doc = (0, import_smithy_client.take)(data, {
1402
1403
  DeploymentDurationInMinutes: import_smithy_client.expectInt32,
1403
1404
  Description: import_smithy_client.expectString,
@@ -1418,7 +1419,7 @@ var de_GetEnvironmentCommand = /* @__PURE__ */ __name(async (output, context) =>
1418
1419
  const contents = (0, import_smithy_client.map)({
1419
1420
  $metadata: deserializeMetadata(output)
1420
1421
  });
1421
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1422
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1422
1423
  const doc = (0, import_smithy_client.take)(data, {
1423
1424
  ApplicationId: import_smithy_client.expectString,
1424
1425
  Description: import_smithy_client.expectString,
@@ -1437,7 +1438,7 @@ var de_GetExtensionCommand = /* @__PURE__ */ __name(async (output, context) => {
1437
1438
  const contents = (0, import_smithy_client.map)({
1438
1439
  $metadata: deserializeMetadata(output)
1439
1440
  });
1440
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1441
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1441
1442
  const doc = (0, import_smithy_client.take)(data, {
1442
1443
  Actions: import_smithy_client._json,
1443
1444
  Arn: import_smithy_client.expectString,
@@ -1457,7 +1458,7 @@ var de_GetExtensionAssociationCommand = /* @__PURE__ */ __name(async (output, co
1457
1458
  const contents = (0, import_smithy_client.map)({
1458
1459
  $metadata: deserializeMetadata(output)
1459
1460
  });
1460
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1461
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1461
1462
  const doc = (0, import_smithy_client.take)(data, {
1462
1463
  Arn: import_smithy_client.expectString,
1463
1464
  ExtensionArn: import_smithy_client.expectString,
@@ -1494,7 +1495,7 @@ var de_ListApplicationsCommand = /* @__PURE__ */ __name(async (output, context)
1494
1495
  const contents = (0, import_smithy_client.map)({
1495
1496
  $metadata: deserializeMetadata(output)
1496
1497
  });
1497
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1498
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1498
1499
  const doc = (0, import_smithy_client.take)(data, {
1499
1500
  Items: import_smithy_client._json,
1500
1501
  NextToken: import_smithy_client.expectString
@@ -1509,7 +1510,7 @@ var de_ListConfigurationProfilesCommand = /* @__PURE__ */ __name(async (output,
1509
1510
  const contents = (0, import_smithy_client.map)({
1510
1511
  $metadata: deserializeMetadata(output)
1511
1512
  });
1512
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1513
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1513
1514
  const doc = (0, import_smithy_client.take)(data, {
1514
1515
  Items: import_smithy_client._json,
1515
1516
  NextToken: import_smithy_client.expectString
@@ -1524,7 +1525,7 @@ var de_ListDeploymentsCommand = /* @__PURE__ */ __name(async (output, context) =
1524
1525
  const contents = (0, import_smithy_client.map)({
1525
1526
  $metadata: deserializeMetadata(output)
1526
1527
  });
1527
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1528
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1528
1529
  const doc = (0, import_smithy_client.take)(data, {
1529
1530
  Items: (_) => de_DeploymentList(_, context),
1530
1531
  NextToken: import_smithy_client.expectString
@@ -1539,7 +1540,7 @@ var de_ListDeploymentStrategiesCommand = /* @__PURE__ */ __name(async (output, c
1539
1540
  const contents = (0, import_smithy_client.map)({
1540
1541
  $metadata: deserializeMetadata(output)
1541
1542
  });
1542
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1543
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1543
1544
  const doc = (0, import_smithy_client.take)(data, {
1544
1545
  Items: (_) => de_DeploymentStrategyList(_, context),
1545
1546
  NextToken: import_smithy_client.expectString
@@ -1554,7 +1555,7 @@ var de_ListEnvironmentsCommand = /* @__PURE__ */ __name(async (output, context)
1554
1555
  const contents = (0, import_smithy_client.map)({
1555
1556
  $metadata: deserializeMetadata(output)
1556
1557
  });
1557
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1558
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1558
1559
  const doc = (0, import_smithy_client.take)(data, {
1559
1560
  Items: import_smithy_client._json,
1560
1561
  NextToken: import_smithy_client.expectString
@@ -1569,7 +1570,7 @@ var de_ListExtensionAssociationsCommand = /* @__PURE__ */ __name(async (output,
1569
1570
  const contents = (0, import_smithy_client.map)({
1570
1571
  $metadata: deserializeMetadata(output)
1571
1572
  });
1572
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1573
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1573
1574
  const doc = (0, import_smithy_client.take)(data, {
1574
1575
  Items: import_smithy_client._json,
1575
1576
  NextToken: import_smithy_client.expectString
@@ -1584,7 +1585,7 @@ var de_ListExtensionsCommand = /* @__PURE__ */ __name(async (output, context) =>
1584
1585
  const contents = (0, import_smithy_client.map)({
1585
1586
  $metadata: deserializeMetadata(output)
1586
1587
  });
1587
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1588
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1588
1589
  const doc = (0, import_smithy_client.take)(data, {
1589
1590
  Items: import_smithy_client._json,
1590
1591
  NextToken: import_smithy_client.expectString
@@ -1599,7 +1600,7 @@ var de_ListHostedConfigurationVersionsCommand = /* @__PURE__ */ __name(async (ou
1599
1600
  const contents = (0, import_smithy_client.map)({
1600
1601
  $metadata: deserializeMetadata(output)
1601
1602
  });
1602
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1603
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1603
1604
  const doc = (0, import_smithy_client.take)(data, {
1604
1605
  Items: import_smithy_client._json,
1605
1606
  NextToken: import_smithy_client.expectString
@@ -1614,7 +1615,7 @@ var de_ListTagsForResourceCommand = /* @__PURE__ */ __name(async (output, contex
1614
1615
  const contents = (0, import_smithy_client.map)({
1615
1616
  $metadata: deserializeMetadata(output)
1616
1617
  });
1617
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1618
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1618
1619
  const doc = (0, import_smithy_client.take)(data, {
1619
1620
  Tags: import_smithy_client._json
1620
1621
  });
@@ -1628,7 +1629,7 @@ var de_StartDeploymentCommand = /* @__PURE__ */ __name(async (output, context) =
1628
1629
  const contents = (0, import_smithy_client.map)({
1629
1630
  $metadata: deserializeMetadata(output)
1630
1631
  });
1631
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1632
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1632
1633
  const doc = (0, import_smithy_client.take)(data, {
1633
1634
  ApplicationId: import_smithy_client.expectString,
1634
1635
  AppliedExtensions: import_smithy_client._json,
@@ -1663,7 +1664,7 @@ var de_StopDeploymentCommand = /* @__PURE__ */ __name(async (output, context) =>
1663
1664
  const contents = (0, import_smithy_client.map)({
1664
1665
  $metadata: deserializeMetadata(output)
1665
1666
  });
1666
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1667
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1667
1668
  const doc = (0, import_smithy_client.take)(data, {
1668
1669
  ApplicationId: import_smithy_client.expectString,
1669
1670
  AppliedExtensions: import_smithy_client._json,
@@ -1718,7 +1719,7 @@ var de_UpdateApplicationCommand = /* @__PURE__ */ __name(async (output, context)
1718
1719
  const contents = (0, import_smithy_client.map)({
1719
1720
  $metadata: deserializeMetadata(output)
1720
1721
  });
1721
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1722
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1722
1723
  const doc = (0, import_smithy_client.take)(data, {
1723
1724
  Description: import_smithy_client.expectString,
1724
1725
  Id: import_smithy_client.expectString,
@@ -1734,7 +1735,7 @@ var de_UpdateConfigurationProfileCommand = /* @__PURE__ */ __name(async (output,
1734
1735
  const contents = (0, import_smithy_client.map)({
1735
1736
  $metadata: deserializeMetadata(output)
1736
1737
  });
1737
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1738
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1738
1739
  const doc = (0, import_smithy_client.take)(data, {
1739
1740
  ApplicationId: import_smithy_client.expectString,
1740
1741
  Description: import_smithy_client.expectString,
@@ -1757,7 +1758,7 @@ var de_UpdateDeploymentStrategyCommand = /* @__PURE__ */ __name(async (output, c
1757
1758
  const contents = (0, import_smithy_client.map)({
1758
1759
  $metadata: deserializeMetadata(output)
1759
1760
  });
1760
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1761
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1761
1762
  const doc = (0, import_smithy_client.take)(data, {
1762
1763
  DeploymentDurationInMinutes: import_smithy_client.expectInt32,
1763
1764
  Description: import_smithy_client.expectString,
@@ -1778,7 +1779,7 @@ var de_UpdateEnvironmentCommand = /* @__PURE__ */ __name(async (output, context)
1778
1779
  const contents = (0, import_smithy_client.map)({
1779
1780
  $metadata: deserializeMetadata(output)
1780
1781
  });
1781
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1782
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1782
1783
  const doc = (0, import_smithy_client.take)(data, {
1783
1784
  ApplicationId: import_smithy_client.expectString,
1784
1785
  Description: import_smithy_client.expectString,
@@ -1797,7 +1798,7 @@ var de_UpdateExtensionCommand = /* @__PURE__ */ __name(async (output, context) =
1797
1798
  const contents = (0, import_smithy_client.map)({
1798
1799
  $metadata: deserializeMetadata(output)
1799
1800
  });
1800
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1801
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1801
1802
  const doc = (0, import_smithy_client.take)(data, {
1802
1803
  Actions: import_smithy_client._json,
1803
1804
  Arn: import_smithy_client.expectString,
@@ -1817,7 +1818,7 @@ var de_UpdateExtensionAssociationCommand = /* @__PURE__ */ __name(async (output,
1817
1818
  const contents = (0, import_smithy_client.map)({
1818
1819
  $metadata: deserializeMetadata(output)
1819
1820
  });
1820
- const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await parseBody(output.body, context)), "body");
1821
+ const data = (0, import_smithy_client.expectNonNull)((0, import_smithy_client.expectObject)(await (0, import_core2.parseJsonBody)(output.body, context)), "body");
1821
1822
  const doc = (0, import_smithy_client.take)(data, {
1822
1823
  Arn: import_smithy_client.expectString,
1823
1824
  ExtensionArn: import_smithy_client.expectString,
@@ -1842,9 +1843,9 @@ var de_ValidateConfigurationCommand = /* @__PURE__ */ __name(async (output, cont
1842
1843
  var de_CommandError = /* @__PURE__ */ __name(async (output, context) => {
1843
1844
  const parsedOutput = {
1844
1845
  ...output,
1845
- body: await parseErrorBody(output.body, context)
1846
+ body: await (0, import_core2.parseJsonErrorBody)(output.body, context)
1846
1847
  };
1847
- const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
1848
+ const errorCode = (0, import_core2.loadRestJsonErrorCode)(output, parsedOutput.body);
1848
1849
  switch (errorCode) {
1849
1850
  case "BadRequestException":
1850
1851
  case "com.amazonaws.appconfig#BadRequestException":
@@ -2019,7 +2020,6 @@ var deserializeMetadata = /* @__PURE__ */ __name((output) => ({
2019
2020
  extendedRequestId: output.headers["x-amz-id-2"],
2020
2021
  cfId: output.headers["x-amz-cf-id"]
2021
2022
  }), "deserializeMetadata");
2022
- var collectBodyString = /* @__PURE__ */ __name((streamBody, context) => (0, import_smithy_client.collectBody)(streamBody, context).then((body) => context.utf8Encoder(body)), "collectBodyString");
2023
2023
  var isSerializableHeaderValue = /* @__PURE__ */ __name((value) => value !== void 0 && value !== null && value !== "" && (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) && (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0), "isSerializableHeaderValue");
2024
2024
  var _AI = "ApplicationId";
2025
2025
  var _CCV = "ClientConfigurationVersion";
@@ -2063,46 +2063,6 @@ var _ve = "version";
2063
2063
  var _vl = "version_label";
2064
2064
  var _vn = "version_number";
2065
2065
  var _vn_ = "version-number";
2066
- var parseBody = /* @__PURE__ */ __name((streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
2067
- if (encoded.length) {
2068
- return JSON.parse(encoded);
2069
- }
2070
- return {};
2071
- }), "parseBody");
2072
- var parseErrorBody = /* @__PURE__ */ __name(async (errorBody, context) => {
2073
- const value = await parseBody(errorBody, context);
2074
- value.message = value.message ?? value.Message;
2075
- return value;
2076
- }, "parseErrorBody");
2077
- var loadRestJsonErrorCode = /* @__PURE__ */ __name((output, data) => {
2078
- const findKey = /* @__PURE__ */ __name((object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase()), "findKey");
2079
- const sanitizeErrorCode = /* @__PURE__ */ __name((rawValue) => {
2080
- let cleanValue = rawValue;
2081
- if (typeof cleanValue === "number") {
2082
- cleanValue = cleanValue.toString();
2083
- }
2084
- if (cleanValue.indexOf(",") >= 0) {
2085
- cleanValue = cleanValue.split(",")[0];
2086
- }
2087
- if (cleanValue.indexOf(":") >= 0) {
2088
- cleanValue = cleanValue.split(":")[0];
2089
- }
2090
- if (cleanValue.indexOf("#") >= 0) {
2091
- cleanValue = cleanValue.split("#")[1];
2092
- }
2093
- return cleanValue;
2094
- }, "sanitizeErrorCode");
2095
- const headerKey = findKey(output.headers, "x-amzn-errortype");
2096
- if (headerKey !== void 0) {
2097
- return sanitizeErrorCode(output.headers[headerKey]);
2098
- }
2099
- if (data.code !== void 0) {
2100
- return sanitizeErrorCode(data.code);
2101
- }
2102
- if (data["__type"] !== void 0) {
2103
- return sanitizeErrorCode(data["__type"]);
2104
- }
2105
- }, "loadRestJsonErrorCode");
2106
2066
 
2107
2067
  // src/commands/CreateApplicationCommand.ts
2108
2068
  var _CreateApplicationCommand = class _CreateApplicationCommand extends import_smithy_client.Command.classBuilder().ep({
@@ -1,4 +1,4 @@
1
- import { awsExpectUnion as __expectUnion } from "@aws-sdk/core";
1
+ import { awsExpectUnion as __expectUnion, loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody, } from "@aws-sdk/core";
2
2
  import { requestBuilder as rb } from "@smithy/core";
3
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseFloat32 as __limitedParseFloat32, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, serializeFloat as __serializeFloat, strictParseInt32 as __strictParseInt32, take, withBaseException, } from "@smithy/smithy-client";
4
4
  import { AppConfigServiceException as __BaseException } from "../models/AppConfigServiceException";
@@ -426,6 +426,7 @@ export const se_StartDeploymentCommand = async (input, context) => {
426
426
  ConfigurationVersion: [],
427
427
  DeploymentStrategyId: [],
428
428
  Description: [],
429
+ DynamicExtensionParameters: (_) => _json(_),
429
430
  KmsKeyIdentifier: [],
430
431
  Tags: (_) => _json(_),
431
432
  }));
@@ -1561,43 +1562,3 @@ const _ve = "version";
1561
1562
  const _vl = "version_label";
1562
1563
  const _vn = "version_number";
1563
1564
  const _vn_ = "version-number";
1564
- const parseBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
1565
- if (encoded.length) {
1566
- return JSON.parse(encoded);
1567
- }
1568
- return {};
1569
- });
1570
- const parseErrorBody = async (errorBody, context) => {
1571
- const value = await parseBody(errorBody, context);
1572
- value.message = value.message ?? value.Message;
1573
- return value;
1574
- };
1575
- const loadRestJsonErrorCode = (output, data) => {
1576
- const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
1577
- const sanitizeErrorCode = (rawValue) => {
1578
- let cleanValue = rawValue;
1579
- if (typeof cleanValue === "number") {
1580
- cleanValue = cleanValue.toString();
1581
- }
1582
- if (cleanValue.indexOf(",") >= 0) {
1583
- cleanValue = cleanValue.split(",")[0];
1584
- }
1585
- if (cleanValue.indexOf(":") >= 0) {
1586
- cleanValue = cleanValue.split(":")[0];
1587
- }
1588
- if (cleanValue.indexOf("#") >= 0) {
1589
- cleanValue = cleanValue.split("#")[1];
1590
- }
1591
- return cleanValue;
1592
- };
1593
- const headerKey = findKey(output.headers, "x-amzn-errortype");
1594
- if (headerKey !== undefined) {
1595
- return sanitizeErrorCode(output.headers[headerKey]);
1596
- }
1597
- if (data.code !== undefined) {
1598
- return sanitizeErrorCode(data.code);
1599
- }
1600
- if (data["__type"] !== undefined) {
1601
- return sanitizeErrorCode(data["__type"]);
1602
- }
1603
- };