Class DataSource

java.lang.Object
software.amazon.awssdk.services.appsync.model.DataSource
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<DataSource.Builder,DataSource>

@Generated("software.amazon.awssdk:codegen") public final class DataSource extends Object implements SdkPojo, Serializable, ToCopyableBuilder<DataSource.Builder,DataSource>

Describes a data source.

See Also:
  • Method Details

    • dataSourceArn

      public final String dataSourceArn()

      The data source Amazon Resource Name (ARN).

      Returns:
      The data source Amazon Resource Name (ARN).
    • name

      public final String name()

      The name of the data source.

      Returns:
      The name of the data source.
    • description

      public final String description()

      The description of the data source.

      Returns:
      The description of the data source.
    • type

      public final DataSourceType type()

      The type of the data source.

      • AWS_LAMBDA: The data source is an Lambda function.

      • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

      • AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.

      • NONE: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you're performing data transformation with resolvers or invoking a subscription from a mutation.

      • HTTP: The data source is an HTTP endpoint.

      • RELATIONAL_DATABASE: The data source is a relational database.

      If the service returns an enum value that is not available in the current SDK version, type will return DataSourceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The type of the data source.

      • AWS_LAMBDA: The data source is an Lambda function.

      • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

      • AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.

      • NONE: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you're performing data transformation with resolvers or invoking a subscription from a mutation.

      • HTTP: The data source is an HTTP endpoint.

      • RELATIONAL_DATABASE: The data source is a relational database.

      See Also:
    • typeAsString

      public final String typeAsString()

      The type of the data source.

      • AWS_LAMBDA: The data source is an Lambda function.

      • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

      • AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.

      • NONE: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you're performing data transformation with resolvers or invoking a subscription from a mutation.

      • HTTP: The data source is an HTTP endpoint.

      • RELATIONAL_DATABASE: The data source is a relational database.

      If the service returns an enum value that is not available in the current SDK version, type will return DataSourceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from typeAsString().

      Returns:
      The type of the data source.

      • AWS_LAMBDA: The data source is an Lambda function.

      • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

      • AMAZON_ELASTICSEARCH: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_OPENSEARCH_SERVICE: The data source is an Amazon OpenSearch Service domain.

      • AMAZON_EVENTBRIDGE: The data source is an Amazon EventBridge configuration.

      • NONE: There is no data source. Use this type when you want to invoke a GraphQL operation without connecting to a data source, such as when you're performing data transformation with resolvers or invoking a subscription from a mutation.

      • HTTP: The data source is an HTTP endpoint.

      • RELATIONAL_DATABASE: The data source is a relational database.

      See Also:
    • serviceRoleArn

      public final String serviceRoleArn()

      The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.

      Returns:
      The Identity and Access Management (IAM) service role Amazon Resource Name (ARN) for the data source. The system assumes this role when accessing the data source.
    • dynamodbConfig

      public final DynamodbDataSourceConfig dynamodbConfig()

      DynamoDB settings.

      Returns:
      DynamoDB settings.
    • lambdaConfig

      public final LambdaDataSourceConfig lambdaConfig()

      Lambda settings.

      Returns:
      Lambda settings.
    • elasticsearchConfig

      public final ElasticsearchDataSourceConfig elasticsearchConfig()

      Amazon OpenSearch Service settings.

      Returns:
      Amazon OpenSearch Service settings.
    • openSearchServiceConfig

      public final OpenSearchServiceDataSourceConfig openSearchServiceConfig()

      Amazon OpenSearch Service settings.

      Returns:
      Amazon OpenSearch Service settings.
    • httpConfig

      public final HttpDataSourceConfig httpConfig()

      HTTP endpoint settings.

      Returns:
      HTTP endpoint settings.
    • relationalDatabaseConfig

      public final RelationalDatabaseDataSourceConfig relationalDatabaseConfig()

      Relational database settings.

      Returns:
      Relational database settings.
    • eventBridgeConfig

      public final EventBridgeDataSourceConfig eventBridgeConfig()

      Amazon EventBridge settings.

      Returns:
      Amazon EventBridge settings.
    • metricsConfig

      public final DataSourceLevelMetricsConfig metricsConfig()

      Enables or disables enhanced data source metrics for specified data sources. Note that metricsConfig won't be used unless the dataSourceLevelMetricsBehavior value is set to PER_DATA_SOURCE_METRICS. If the dataSourceLevelMetricsBehavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, metricsConfig will be ignored. However, you can still set its value.

      metricsConfig can be ENABLED or DISABLED.

      If the service returns an enum value that is not available in the current SDK version, metricsConfig will return DataSourceLevelMetricsConfig.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from metricsConfigAsString().

      Returns:
      Enables or disables enhanced data source metrics for specified data sources. Note that metricsConfig won't be used unless the dataSourceLevelMetricsBehavior value is set to PER_DATA_SOURCE_METRICS. If the dataSourceLevelMetricsBehavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, metricsConfig will be ignored. However, you can still set its value.

      metricsConfig can be ENABLED or DISABLED.

      See Also:
    • metricsConfigAsString

      public final String metricsConfigAsString()

      Enables or disables enhanced data source metrics for specified data sources. Note that metricsConfig won't be used unless the dataSourceLevelMetricsBehavior value is set to PER_DATA_SOURCE_METRICS. If the dataSourceLevelMetricsBehavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, metricsConfig will be ignored. However, you can still set its value.

      metricsConfig can be ENABLED or DISABLED.

      If the service returns an enum value that is not available in the current SDK version, metricsConfig will return DataSourceLevelMetricsConfig.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from metricsConfigAsString().

      Returns:
      Enables or disables enhanced data source metrics for specified data sources. Note that metricsConfig won't be used unless the dataSourceLevelMetricsBehavior value is set to PER_DATA_SOURCE_METRICS. If the dataSourceLevelMetricsBehavior is set to FULL_REQUEST_DATA_SOURCE_METRICS instead, metricsConfig will be ignored. However, you can still set its value.

      metricsConfig can be ENABLED or DISABLED.

      See Also:
    • toBuilder

      public DataSource.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<DataSource.Builder,DataSource>
      Returns:
      a builder for type T
    • builder

      public static DataSource.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DataSource.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.