Class EventApiBase

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.appsync.ApiBase
software.amazon.awscdk.services.appsync.EventApiBase
All Implemented Interfaces:
IApiRef, IEnvironmentAware, IResource, IApi, IEventApi, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable
Direct Known Subclasses:
EventApi

@Generated(value="jsii-pacmak/1.125.0 (build fdbe357)", date="2026-01-23T11:19:39.974Z") @Stability(Stable) public abstract class EventApiBase extends ApiBase implements IEventApi
Base Class for Event API.
  • Constructor Details

    • EventApiBase

      protected EventApiBase(software.amazon.jsii.JsiiObjectRef objRef)
    • EventApiBase

      protected EventApiBase(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • EventApiBase

      @Stability(Stable) protected EventApiBase(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable ResourceProps props)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      props -
    • EventApiBase

      @Stability(Stable) protected EventApiBase(@NotNull software.constructs.Construct scope, @NotNull String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
  • Method Details

    • addChannelNamespace

      @Stability(Stable) @NotNull public ChannelNamespace addChannelNamespace(@NotNull String id, @Nullable ChannelNamespaceOptions options)
      add a new Channel Namespace to this API.

      Specified by:
      addChannelNamespace in interface IEventApi
      Parameters:
      id - This parameter is required.
      options -
      Returns:
      the channel namespace
    • addChannelNamespace

      @Stability(Stable) @NotNull public ChannelNamespace addChannelNamespace(@NotNull String id)
      add a new Channel Namespace to this API.

      Specified by:
      addChannelNamespace in interface IEventApi
      Parameters:
      id - This parameter is required.
      Returns:
      the channel namespace
    • addDynamoDbDataSource

      @Stability(Stable) @NotNull public AppSyncDynamoDbDataSource addDynamoDbDataSource(@NotNull String id, @NotNull ITable table, @Nullable AppSyncDataSourceOptions options)
      add a new DynamoDB data source to this API.

      Specified by:
      addDynamoDbDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      table - The DynamoDB table backing this data source. This parameter is required.
      options - The optional configuration for this data source.
    • addDynamoDbDataSource

      @Stability(Stable) @NotNull public AppSyncDynamoDbDataSource addDynamoDbDataSource(@NotNull String id, @NotNull ITable table)
      add a new DynamoDB data source to this API.

      Specified by:
      addDynamoDbDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      table - The DynamoDB table backing this data source. This parameter is required.
    • addEventBridgeDataSource

      @Stability(Stable) @NotNull public AppSyncEventBridgeDataSource addEventBridgeDataSource(@NotNull String id, @NotNull IEventBus eventBus, @Nullable AppSyncDataSourceOptions options)
      Add an EventBridge data source to this api.

      Specified by:
      addEventBridgeDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      eventBus - The EventBridge EventBus on which to put events. This parameter is required.
      options - The optional configuration for this data source.
    • addEventBridgeDataSource

      @Stability(Stable) @NotNull public AppSyncEventBridgeDataSource addEventBridgeDataSource(@NotNull String id, @NotNull IEventBus eventBus)
      Add an EventBridge data source to this api.

      Specified by:
      addEventBridgeDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      eventBus - The EventBridge EventBus on which to put events. This parameter is required.
    • addHttpDataSource

      @Stability(Stable) @NotNull public AppSyncHttpDataSource addHttpDataSource(@NotNull String id, @NotNull String endpoint, @Nullable AppSyncHttpDataSourceOptions options)
      add a new http data source to this API.

      Specified by:
      addHttpDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      endpoint - The http endpoint. This parameter is required.
      options - The optional configuration for this data source.
    • addHttpDataSource

      @Stability(Stable) @NotNull public AppSyncHttpDataSource addHttpDataSource(@NotNull String id, @NotNull String endpoint)
      add a new http data source to this API.

      Specified by:
      addHttpDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      endpoint - The http endpoint. This parameter is required.
    • addLambdaDataSource

      @Stability(Stable) @NotNull public AppSyncLambdaDataSource addLambdaDataSource(@NotNull String id, @NotNull IFunction lambdaFunction, @Nullable AppSyncDataSourceOptions options)
      add a new Lambda data source to this API.

      Specified by:
      addLambdaDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      lambdaFunction - The Lambda function to call to interact with this data source. This parameter is required.
      options - The optional configuration for this data source.
    • addLambdaDataSource

      @Stability(Stable) @NotNull public AppSyncLambdaDataSource addLambdaDataSource(@NotNull String id, @NotNull IFunction lambdaFunction)
      add a new Lambda data source to this API.

      Specified by:
      addLambdaDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      lambdaFunction - The Lambda function to call to interact with this data source. This parameter is required.
    • addOpenSearchDataSource

      @Stability(Stable) @NotNull public AppSyncOpenSearchDataSource addOpenSearchDataSource(@NotNull String id, @NotNull IDomain domain, @Nullable AppSyncDataSourceOptions options)
      add a new OpenSearch data source to this API.

      Specified by:
      addOpenSearchDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      domain - The OpenSearch domain for this data source. This parameter is required.
      options - The optional configuration for this data source.
    • addOpenSearchDataSource

      @Stability(Stable) @NotNull public AppSyncOpenSearchDataSource addOpenSearchDataSource(@NotNull String id, @NotNull IDomain domain)
      add a new OpenSearch data source to this API.

      Specified by:
      addOpenSearchDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      domain - The OpenSearch domain for this data source. This parameter is required.
    • addRdsDataSource

      @Stability(Stable) @NotNull public AppSyncRdsDataSource addRdsDataSource(@NotNull String id, @NotNull Object serverlessCluster, @NotNull ISecret secretStore, @Nullable String databaseName, @Nullable AppSyncDataSourceOptions options)
      add a new Rds data source to this API.

      Specified by:
      addRdsDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      serverlessCluster - The database cluster to interact with this data source. Takes union: either IDatabaseCluster or IServerlessCluster. This parameter is required.
      secretStore - The secret store that contains the username and password for the database cluster. This parameter is required.
      databaseName - The optional name of the database to use within the cluster.
      options - The optional configuration for this data source.
    • addRdsDataSource

      @Stability(Stable) @NotNull public AppSyncRdsDataSource addRdsDataSource(@NotNull String id, @NotNull Object serverlessCluster, @NotNull ISecret secretStore, @Nullable String databaseName)
      add a new Rds data source to this API.

      Specified by:
      addRdsDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      serverlessCluster - The database cluster to interact with this data source. Takes union: either IDatabaseCluster or IServerlessCluster. This parameter is required.
      secretStore - The secret store that contains the username and password for the database cluster. This parameter is required.
      databaseName - The optional name of the database to use within the cluster.
    • addRdsDataSource

      @Stability(Stable) @NotNull public AppSyncRdsDataSource addRdsDataSource(@NotNull String id, @NotNull Object serverlessCluster, @NotNull ISecret secretStore)
      add a new Rds data source to this API.

      Specified by:
      addRdsDataSource in interface IEventApi
      Parameters:
      id - The data source's id. This parameter is required.
      serverlessCluster - The database cluster to interact with this data source. Takes union: either IDatabaseCluster or IServerlessCluster. This parameter is required.
      secretStore - The secret store that contains the username and password for the database cluster. This parameter is required.
    • grant

      @Stability(Stable) @NotNull public Grant grant(@NotNull IGrantable grantee, @NotNull AppSyncEventResource resources, @NotNull String... actions)
      Adds an IAM policy statement associated with this Event API to an IAM principal's policy.

      [disable-awslint:no-grants]

      Specified by:
      grant in interface IEventApi
      Parameters:
      grantee - The principal. This parameter is required.
      resources - The set of resources to allow (i.e. ...:[region]:[accountId]:apis/EventApiId/...). This parameter is required.
      actions - The actions that should be granted to the principal (i.e. appsync:EventPublish ). This parameter is required.
    • grantConnect

      @Stability(Stable) @NotNull public Grant grantConnect(@NotNull IGrantable grantee)
      Adds an IAM policy statement for EventConnect access to this EventApi to an IAM principal's policy.

      [disable-awslint:no-grants]

      Specified by:
      grantConnect in interface IEventApi
      Parameters:
      grantee - The principal. This parameter is required.
    • grantPublish

      @Stability(Stable) @NotNull public Grant grantPublish(@NotNull IGrantable grantee)
      Adds an IAM policy statement for EventPublish access to this EventApi to an IAM principal's policy.

      This grants publish permission for all channels within the API. [disable-awslint:no-grants]

      Specified by:
      grantPublish in interface IEventApi
      Parameters:
      grantee - The principal. This parameter is required.
    • grantPublishAndSubscribe

      @Stability(Stable) @NotNull public Grant grantPublishAndSubscribe(@NotNull IGrantable grantee)
      Adds an IAM policy statement to publish and subscribe to this API for an IAM principal's policy.

      This grants publish & subscribe permission for all channels within the API. [disable-awslint:no-grants]

      Specified by:
      grantPublishAndSubscribe in interface IEventApi
      Parameters:
      grantee - The principal. This parameter is required.
    • grantSubscribe

      @Stability(Stable) @NotNull public Grant grantSubscribe(@NotNull IGrantable grantee)
      Adds an IAM policy statement for EventSubscribe access to this EventApi to an IAM principal's policy.

      This grants subscribe permission for all channels within the API. [disable-awslint:no-grants]

      Specified by:
      grantSubscribe in interface IEventApi
      Parameters:
      grantee - The principal. This parameter is required.
    • getAuthProviderTypes

      @Stability(Stable) @NotNull public abstract List<AppSyncAuthorizationType> getAuthProviderTypes()
      The Authorization Types for this Event Api.
      Specified by:
      getAuthProviderTypes in interface IEventApi
    • getHttpDns

      @Stability(Stable) @NotNull public abstract String getHttpDns()
      The domain name of the Api's HTTP endpoint.
      Specified by:
      getHttpDns in interface IEventApi
    • getRealtimeDns

      @Stability(Stable) @NotNull public abstract String getRealtimeDns()
      The domain name of the Api's real-time endpoint.
      Specified by:
      getRealtimeDns in interface IEventApi