diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/existing-resources/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/existing-resources/index.mdx index c34c2762f6f..29e57829bba 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/existing-resources/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/existing-resources/index.mdx @@ -53,11 +53,15 @@ Alternatively, you can configure the client library directly using `Amplify.conf ```ts title="src/main.ts" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; +import outputs from '../amplify_outputs.json'; + +const amplifyConfig = parseAmplifyConfig(outputs); Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Analytics: { - ...Amplify.getConfig().Analytics, + ...amplifyConfig.Analytics, Pinpoint: { // REQUIRED - Amazon Pinpoint App Client ID appId: 'XXXXXXXXXXabcdefghij1234567890ab', diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/personalize-recommendations/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/personalize-recommendations/index.mdx index e71f032ca08..546d5280333 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/personalize-recommendations/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/personalize-recommendations/index.mdx @@ -57,8 +57,12 @@ Configure Amazon Personalize: ```javascript title="src/index.js" import { Amplify } from 'aws-amplify'; +import outputs from '../amplify_outputs.json'; + +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Analytics: { Personalize: { // REQUIRED - The trackingId to track the events diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/set-up-analytics/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/set-up-analytics/index.mdx index 2577a83d329..042913167c4 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/set-up-analytics/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/set-up-analytics/index.mdx @@ -183,26 +183,18 @@ Import and load the configuration file in your app. It's recommended you add the ```js title="src/index.js" import { Amplify } from 'aws-amplify'; -import { record } from 'aws-amplify/analytics'; import outputs from '../amplify_outputs.json'; -Amplify.configure({ - ...Amplify.getConfig(), - Analytics: amplifyconfig.Analytics, -}); +Amplify.configure(outputs); ``` ```js title="pages/_app.tsx" import { Amplify } from 'aws-amplify'; -import { record } from 'aws-amplify/analytics'; import outputs from '@/amplify_outputs.json'; -Amplify.configure({ - ...Amplify.getConfig(), - Analytics: amplifyconfig.Analytics, -}); +Amplify.configure(outputs); ``` diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/storing-data/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/storing-data/index.mdx index fb8e5bbe426..90d1425b011 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/storing-data/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/storing-data/index.mdx @@ -128,9 +128,12 @@ Configure Firehose: ```javascript title="src/index.js" import { Amplify } from 'aws-amplify'; +import outputs from '../amplify_outputs.json'; + +const amplifyConfig = parseAmplifyConfig(outputs); Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Analytics: { KinesisFirehose: { // REQUIRED - Amazon Kinesis Firehose service region diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/streaming-data/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/streaming-data/index.mdx index d64b0676c7b..2ded8bd5ad4 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/analytics/streaming-data/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/analytics/streaming-data/index.mdx @@ -93,9 +93,12 @@ Configure Kinesis: ```javascript title="src/index.js" // Configure the plugin after adding it to the Analytics module import { Amplify } from 'aws-amplify'; +import outputs from '../amplify_outputs.json'; + +const amplifyConfig = parseAmplifyConfig(outputs); Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Analytics: { Kinesis: { // REQUIRED - Amazon Kinesis service region diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/geo/existing-resources/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/geo/existing-resources/index.mdx index b45d8ae362d..2b539770fe1 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/geo/existing-resources/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/geo/existing-resources/index.mdx @@ -101,15 +101,17 @@ There are two roles created by Cognito: an "authenticated role" that grants sign ## Configure client library directly -You can first import and configure the generated `amplify_outputs.json`. You can then manually configure Amplify Geo like this: +You can first import and parse the generated `amplify_outputs.json`. You can then manually configure Amplify Geo like this: ```js import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '../amplify_outputs.json'; -Amplify.configure(outputs); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Geo: { LocationService: { maps: { diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/interactions/set-up-interactions/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/interactions/set-up-interactions/index.mdx index ee19f87cb82..afaf411badc 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/interactions/set-up-interactions/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/interactions/set-up-interactions/index.mdx @@ -101,11 +101,13 @@ Import and load the configuration file in your app. It's recommended you add the ```javascript title="src/index.js" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '../amplify_outputs.json'; -Amplify.configure(outputs); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...Amplify.getConfig(), + ...amplifyConfig, Interactions: { LexV2: { '': { diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/predictions/set-up-predictions/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/predictions/set-up-predictions/index.mdx index dd8f357df21..25b37e8b083 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/predictions/set-up-predictions/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/predictions/set-up-predictions/index.mdx @@ -154,12 +154,7 @@ Import and load the configuration file in your app. It is recommended you add th ```ts title="src/main.ts" import { Amplify } from "aws-amplify"; -import outputs from "./amplify_outputs.json"; +import outputs from '../amplify_outputs.json'; Amplify.configure(outputs); - -Amplify.configure({ - ...Amplify.getConfig(), - Predictions: outputs.custom.Predictions, -}); ``` diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/existing-resources/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/existing-resources/index.mdx index 6f06d781a2c..745f49dce32 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/existing-resources/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/existing-resources/index.mdx @@ -26,22 +26,22 @@ export function getStaticProps(context) { }; } -Existing Amazon API Gateway resources can be used with the Amplify Libraries by calling `Amplify.configure()` with the API Gateway API name and options. Note, you will need to supply the full resource configuration and library options objects when calling `Amplify.configure()`. The following example shows how to configure additional API Gateway resources to an existing Amplify application: +Existing Amazon API Gateway resources can be used with the Amplify Libraries by calling `Amplify.configure()` with the API Gateway API name and options. Note, you will need to parse the Amplify configuration using `parseAmplifyConfig` before calling `Amplify.configure()`. The following example shows how to configure additional API Gateway resources to an existing Amplify application: ```ts import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '../amplify_outputs.json'; -Amplify.configure(outputs): -const existingConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); // Add existing resource to the existing configuration. Amplify.configure({ - ...existingConfig, + ...amplifyConfig, API: { - ...existingConfig.API, + ...amplifyConfig.API, REST: { - ...existingConfig.API?.REST, + ...amplifyConfig.API?.REST, YourAPIName: { endpoint: 'https://abcdefghij1234567890.execute-api.us-east-1.amazonaws.com/stageName', diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-http-api/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-http-api/index.mdx index d468d6e8a3f..cd4e0d0d0cc 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-http-api/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-http-api/index.mdx @@ -228,14 +228,15 @@ Import and load the configuration file in your app. It's recommended you add the ```ts title="src/main.ts" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '../amplify_outputs.json'; -Amplify.configure(outputs); -const existingConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...existingConfig, + ...amplifyConfig, API: { - ...existingConfig.API, + ...amplifyConfig.API, REST: outputs.custom.API, }, }); @@ -245,14 +246,15 @@ Amplify.configure({ ```tsx title="pages/_app.tsx" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '@/amplify_outputs.json'; -Amplify.configure(outputs); -const existingConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...existingConfig, + ...amplifyConfig, API: { - ...existingConfig.API, + ...amplifyConfig.API, REST: outputs.custom.API, }, }); diff --git a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-rest-api/index.mdx b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-rest-api/index.mdx index e0a9ab8a879..834ec6f070f 100644 --- a/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-rest-api/index.mdx +++ b/src/pages/[platform]/build-a-backend/add-aws-services/rest-api/set-up-rest-api/index.mdx @@ -211,14 +211,15 @@ Import and load the configuration file in your app. It's recommended you add the ```javascript title="src/main.ts" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '../amplify_outputs.json'; -Amplify.configure(outputs); -const existingConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...existingConfig, + ...amplifyConfig, API: { - ...existingConfig.API, + ...amplifyConfig.API, REST: outputs.custom.API, }, }); @@ -228,14 +229,15 @@ Amplify.configure({ ```tsx title="pages/_app.tsx" import { Amplify } from 'aws-amplify'; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from '@/amplify_outputs.json'; -Amplify.configure(outputs); -const existingConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...existingConfig, + ...amplifyConfig, API: { - ...existingConfig.API, + ...amplifyConfig.API, REST: outputs.custom.API, }, }); diff --git a/src/pages/[platform]/reference/amplify_outputs/index.mdx b/src/pages/[platform]/reference/amplify_outputs/index.mdx index c5afa876bb2..817555cd952 100644 --- a/src/pages/[platform]/reference/amplify_outputs/index.mdx +++ b/src/pages/[platform]/reference/amplify_outputs/index.mdx @@ -104,12 +104,13 @@ In your frontend application, you can access these custom configurations as foll ```ts title="src/index.ts" import { Amplify } from "aws-amplify"; +import { parseAmplifyConfig } from "aws-amplify/utils"; import outputs from "@/amplify_outputs.json"; -Amplify.configure(outputs); -const currentConfig = Amplify.getConfig(); +const amplifyConfig = parseAmplifyConfig(outputs); + Amplify.configure({ - ...currentConfig, + ...amplifyConfig, API: { REST: { [outputs.custom.api_name]: { @@ -126,6 +127,6 @@ Amplify.configure({ The Amplify outputs file is defined using a JSON schema. You can find this schema in the [`aws-amplify/amplify-backend` repository](https://github.com/aws-amplify/amplify-backend/blob/main/packages/client-config/src/client-config-schema/schema_v1.json). - + {JSON.stringify(schema, null, 2)}
+ {JSON.stringify(schema, null, 2)}
{JSON.stringify(schema, null, 2)}