Amplify JS API Documentation
    Preparing search index...

    Interface ConfigurationBuilder

    interface ConfigurationBuilder {
        add<K extends keyof ResourcesConfig>(
            category: K,
            value: CategoryConfig<K>,
        ): ConfigurationBuilder;
        analytics(config: CategoryConfig<"Analytics">): ConfigurationBuilder;
        api(config: CategoryConfig<"API">): ConfigurationBuilder;
        auth(config: CategoryConfig<"Auth">): ConfigurationBuilder;
        build(): ResourcesConfig;
        from(existing: ConfigurationSeed): ConfigurationBuilder;
        geo(
            config: Partial<LocationServiceConfig> & Pick<
                LocationServiceConfig,
                "LocationService",
            >,
        ): ConfigurationBuilder;
        interactions(config: CategoryConfig<"Interactions">): ConfigurationBuilder;
        notifications(
            config: CategoryConfig<"Notifications">,
        ): ConfigurationBuilder;
        patch<K extends keyof ResourcesConfig>(
            category: K,
            value: DeepPartial<CategoryConfig<K>>,
        ): ConfigurationBuilder;
        predictions(config: CategoryConfig<"Predictions">): ConfigurationBuilder;
        storage(
            config: Partial<S3ProviderConfig> & Pick<S3ProviderConfig, "S3">,
        ): ConfigurationBuilder;
    }
    Index

    Methods

    • Add or replace a category configuration.

      Type Parameters

      Parameters

      • category: K
      • value: CategoryConfig<K>

      Returns ConfigurationBuilder

      config.add('Auth', { Cognito: { userPoolId: '...', userPoolClientId: '...' } });
      config.add('Storage', { S3: { bucket: '...', region: '...' } });
    • Merge an existing config into this builder. Accepts any format that Amplify.configure() accepts, or another ConfigurationBuilder.

      Parameters

      • existing: ConfigurationSeed

      Returns ConfigurationBuilder

      const config = createConfiguration()
      .from(amplifyOutputs)
      .add('Storage', { S3: { bucket: 'my-bucket', region: 'us-east-1' } })
      .build();
    • Shorthand for .add('Geo', config)

      Parameters

      • config: Partial<LocationServiceConfig> & Pick<LocationServiceConfig, "LocationService">

      Returns ConfigurationBuilder

    • Deep-merge a partial config into an existing category. Use this to override specific nested values without replacing the entire category.

      Type Parameters

      Parameters

      • category: K
      • value: DeepPartial<CategoryConfig<K>>

      Returns ConfigurationBuilder

      // Base config from outputs, override just the user pool for dev
      const dev = createConfiguration({ from: outputs })
      .patch('Auth', { Cognito: { userPoolId: 'us-east-1_DEV' } })
      .build();
    • Shorthand for .add('Storage', config)

      Parameters

      • config: Partial<S3ProviderConfig> & Pick<S3ProviderConfig, "S3">

      Returns ConfigurationBuilder