All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.appsync.model.DataSource Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS AppSync module holds the client classes that are used for communicating with AWS AppSync Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.appsync.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* Describes a data source. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DataSource implements Serializable, Cloneable, StructuredPojo { /** *

* The data source Amazon Resource Name (ARN). *

*/ private String dataSourceArn; /** *

* The name of the data source. *

*/ private String name; /** *

* The description of the data source. *

*/ private String description; /** *

* 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. *

    *
  • *
*/ private String type; /** *

* 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. *

*/ private String serviceRoleArn; /** *

* DynamoDB settings. *

*/ private DynamodbDataSourceConfig dynamodbConfig; /** *

* Lambda settings. *

*/ private LambdaDataSourceConfig lambdaConfig; /** *

* Amazon OpenSearch Service settings. *

*/ private ElasticsearchDataSourceConfig elasticsearchConfig; /** *

* Amazon OpenSearch Service settings. *

*/ private OpenSearchServiceDataSourceConfig openSearchServiceConfig; /** *

* HTTP endpoint settings. *

*/ private HttpDataSourceConfig httpConfig; /** *

* Relational database settings. *

*/ private RelationalDatabaseDataSourceConfig relationalDatabaseConfig; /** *

* Amazon EventBridge settings. *

*/ private EventBridgeDataSourceConfig eventBridgeConfig; /** *

* 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. *

*/ private String metricsConfig; /** *

* The data source Amazon Resource Name (ARN). *

* * @param dataSourceArn * The data source Amazon Resource Name (ARN). */ public void setDataSourceArn(String dataSourceArn) { this.dataSourceArn = dataSourceArn; } /** *

* The data source Amazon Resource Name (ARN). *

* * @return The data source Amazon Resource Name (ARN). */ public String getDataSourceArn() { return this.dataSourceArn; } /** *

* The data source Amazon Resource Name (ARN). *

* * @param dataSourceArn * The data source Amazon Resource Name (ARN). * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withDataSourceArn(String dataSourceArn) { setDataSourceArn(dataSourceArn); return this; } /** *

* The name of the data source. *

* * @param name * The name of the data source. */ public void setName(String name) { this.name = name; } /** *

* The name of the data source. *

* * @return The name of the data source. */ public String getName() { return this.name; } /** *

* The name of the data source. *

* * @param name * The name of the data source. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withName(String name) { setName(name); return this; } /** *

* The description of the data source. *

* * @param description * The description of the data source. */ public void setDescription(String description) { this.description = description; } /** *

* The description of the data source. *

* * @return The description of the data source. */ public String getDescription() { return this.description; } /** *

* The description of the data source. *

* * @param description * The description of the data source. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withDescription(String description) { setDescription(description); return this; } /** *

* 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. *

    *
  • *
* * @param 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. *

    *
  • * @see DataSourceType */ public void setType(String type) { this.type = 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. *

      *
    • *
    * * @return 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 DataSourceType */ public String getType() { return this.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. *

        *
      • *
      * * @param 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. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceType */ public DataSource withType(String type) { setType(type); return this; } /** *

        * 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. *

          *
        • *
        * * @param 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. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceType */ public DataSource withType(DataSourceType type) { this.type = type.toString(); return this; } /** *

          * 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. *

          * * @param 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. */ public void setServiceRoleArn(String serviceRoleArn) { this.serviceRoleArn = 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. *

          * * @return 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. */ public String getServiceRoleArn() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withServiceRoleArn(String serviceRoleArn) { setServiceRoleArn(serviceRoleArn); return this; } /** *

          * DynamoDB settings. *

          * * @param dynamodbConfig * DynamoDB settings. */ public void setDynamodbConfig(DynamodbDataSourceConfig dynamodbConfig) { this.dynamodbConfig = dynamodbConfig; } /** *

          * DynamoDB settings. *

          * * @return DynamoDB settings. */ public DynamodbDataSourceConfig getDynamodbConfig() { return this.dynamodbConfig; } /** *

          * DynamoDB settings. *

          * * @param dynamodbConfig * DynamoDB settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withDynamodbConfig(DynamodbDataSourceConfig dynamodbConfig) { setDynamodbConfig(dynamodbConfig); return this; } /** *

          * Lambda settings. *

          * * @param lambdaConfig * Lambda settings. */ public void setLambdaConfig(LambdaDataSourceConfig lambdaConfig) { this.lambdaConfig = lambdaConfig; } /** *

          * Lambda settings. *

          * * @return Lambda settings. */ public LambdaDataSourceConfig getLambdaConfig() { return this.lambdaConfig; } /** *

          * Lambda settings. *

          * * @param lambdaConfig * Lambda settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withLambdaConfig(LambdaDataSourceConfig lambdaConfig) { setLambdaConfig(lambdaConfig); return this; } /** *

          * Amazon OpenSearch Service settings. *

          * * @param elasticsearchConfig * Amazon OpenSearch Service settings. */ public void setElasticsearchConfig(ElasticsearchDataSourceConfig elasticsearchConfig) { this.elasticsearchConfig = elasticsearchConfig; } /** *

          * Amazon OpenSearch Service settings. *

          * * @return Amazon OpenSearch Service settings. */ public ElasticsearchDataSourceConfig getElasticsearchConfig() { return this.elasticsearchConfig; } /** *

          * Amazon OpenSearch Service settings. *

          * * @param elasticsearchConfig * Amazon OpenSearch Service settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withElasticsearchConfig(ElasticsearchDataSourceConfig elasticsearchConfig) { setElasticsearchConfig(elasticsearchConfig); return this; } /** *

          * Amazon OpenSearch Service settings. *

          * * @param openSearchServiceConfig * Amazon OpenSearch Service settings. */ public void setOpenSearchServiceConfig(OpenSearchServiceDataSourceConfig openSearchServiceConfig) { this.openSearchServiceConfig = openSearchServiceConfig; } /** *

          * Amazon OpenSearch Service settings. *

          * * @return Amazon OpenSearch Service settings. */ public OpenSearchServiceDataSourceConfig getOpenSearchServiceConfig() { return this.openSearchServiceConfig; } /** *

          * Amazon OpenSearch Service settings. *

          * * @param openSearchServiceConfig * Amazon OpenSearch Service settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withOpenSearchServiceConfig(OpenSearchServiceDataSourceConfig openSearchServiceConfig) { setOpenSearchServiceConfig(openSearchServiceConfig); return this; } /** *

          * HTTP endpoint settings. *

          * * @param httpConfig * HTTP endpoint settings. */ public void setHttpConfig(HttpDataSourceConfig httpConfig) { this.httpConfig = httpConfig; } /** *

          * HTTP endpoint settings. *

          * * @return HTTP endpoint settings. */ public HttpDataSourceConfig getHttpConfig() { return this.httpConfig; } /** *

          * HTTP endpoint settings. *

          * * @param httpConfig * HTTP endpoint settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withHttpConfig(HttpDataSourceConfig httpConfig) { setHttpConfig(httpConfig); return this; } /** *

          * Relational database settings. *

          * * @param relationalDatabaseConfig * Relational database settings. */ public void setRelationalDatabaseConfig(RelationalDatabaseDataSourceConfig relationalDatabaseConfig) { this.relationalDatabaseConfig = relationalDatabaseConfig; } /** *

          * Relational database settings. *

          * * @return Relational database settings. */ public RelationalDatabaseDataSourceConfig getRelationalDatabaseConfig() { return this.relationalDatabaseConfig; } /** *

          * Relational database settings. *

          * * @param relationalDatabaseConfig * Relational database settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withRelationalDatabaseConfig(RelationalDatabaseDataSourceConfig relationalDatabaseConfig) { setRelationalDatabaseConfig(relationalDatabaseConfig); return this; } /** *

          * Amazon EventBridge settings. *

          * * @param eventBridgeConfig * Amazon EventBridge settings. */ public void setEventBridgeConfig(EventBridgeDataSourceConfig eventBridgeConfig) { this.eventBridgeConfig = eventBridgeConfig; } /** *

          * Amazon EventBridge settings. *

          * * @return Amazon EventBridge settings. */ public EventBridgeDataSourceConfig getEventBridgeConfig() { return this.eventBridgeConfig; } /** *

          * Amazon EventBridge settings. *

          * * @param eventBridgeConfig * Amazon EventBridge settings. * @return Returns a reference to this object so that method calls can be chained together. */ public DataSource withEventBridgeConfig(EventBridgeDataSourceConfig eventBridgeConfig) { setEventBridgeConfig(eventBridgeConfig); return this; } /** *

          * 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. *

          * * @param 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. * @see DataSourceLevelMetricsConfig */ public void setMetricsConfig(String metricsConfig) { this.metricsConfig = 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. *

          * * @return 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 DataSourceLevelMetricsConfig */ public String getMetricsConfig() { return this.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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceLevelMetricsConfig */ public DataSource withMetricsConfig(String metricsConfig) { setMetricsConfig(metricsConfig); return this; } /** *

          * 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. *

          * * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceLevelMetricsConfig */ public DataSource withMetricsConfig(DataSourceLevelMetricsConfig metricsConfig) { this.metricsConfig = metricsConfig.toString(); return this; } /** * 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. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDataSourceArn() != null) sb.append("DataSourceArn: ").append(getDataSourceArn()).append(","); if (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getDescription() != null) sb.append("Description: ").append(getDescription()).append(","); if (getType() != null) sb.append("Type: ").append(getType()).append(","); if (getServiceRoleArn() != null) sb.append("ServiceRoleArn: ").append(getServiceRoleArn()).append(","); if (getDynamodbConfig() != null) sb.append("DynamodbConfig: ").append(getDynamodbConfig()).append(","); if (getLambdaConfig() != null) sb.append("LambdaConfig: ").append(getLambdaConfig()).append(","); if (getElasticsearchConfig() != null) sb.append("ElasticsearchConfig: ").append(getElasticsearchConfig()).append(","); if (getOpenSearchServiceConfig() != null) sb.append("OpenSearchServiceConfig: ").append(getOpenSearchServiceConfig()).append(","); if (getHttpConfig() != null) sb.append("HttpConfig: ").append(getHttpConfig()).append(","); if (getRelationalDatabaseConfig() != null) sb.append("RelationalDatabaseConfig: ").append(getRelationalDatabaseConfig()).append(","); if (getEventBridgeConfig() != null) sb.append("EventBridgeConfig: ").append(getEventBridgeConfig()).append(","); if (getMetricsConfig() != null) sb.append("MetricsConfig: ").append(getMetricsConfig()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DataSource == false) return false; DataSource other = (DataSource) obj; if (other.getDataSourceArn() == null ^ this.getDataSourceArn() == null) return false; if (other.getDataSourceArn() != null && other.getDataSourceArn().equals(this.getDataSourceArn()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getType() == null ^ this.getType() == null) return false; if (other.getType() != null && other.getType().equals(this.getType()) == false) return false; if (other.getServiceRoleArn() == null ^ this.getServiceRoleArn() == null) return false; if (other.getServiceRoleArn() != null && other.getServiceRoleArn().equals(this.getServiceRoleArn()) == false) return false; if (other.getDynamodbConfig() == null ^ this.getDynamodbConfig() == null) return false; if (other.getDynamodbConfig() != null && other.getDynamodbConfig().equals(this.getDynamodbConfig()) == false) return false; if (other.getLambdaConfig() == null ^ this.getLambdaConfig() == null) return false; if (other.getLambdaConfig() != null && other.getLambdaConfig().equals(this.getLambdaConfig()) == false) return false; if (other.getElasticsearchConfig() == null ^ this.getElasticsearchConfig() == null) return false; if (other.getElasticsearchConfig() != null && other.getElasticsearchConfig().equals(this.getElasticsearchConfig()) == false) return false; if (other.getOpenSearchServiceConfig() == null ^ this.getOpenSearchServiceConfig() == null) return false; if (other.getOpenSearchServiceConfig() != null && other.getOpenSearchServiceConfig().equals(this.getOpenSearchServiceConfig()) == false) return false; if (other.getHttpConfig() == null ^ this.getHttpConfig() == null) return false; if (other.getHttpConfig() != null && other.getHttpConfig().equals(this.getHttpConfig()) == false) return false; if (other.getRelationalDatabaseConfig() == null ^ this.getRelationalDatabaseConfig() == null) return false; if (other.getRelationalDatabaseConfig() != null && other.getRelationalDatabaseConfig().equals(this.getRelationalDatabaseConfig()) == false) return false; if (other.getEventBridgeConfig() == null ^ this.getEventBridgeConfig() == null) return false; if (other.getEventBridgeConfig() != null && other.getEventBridgeConfig().equals(this.getEventBridgeConfig()) == false) return false; if (other.getMetricsConfig() == null ^ this.getMetricsConfig() == null) return false; if (other.getMetricsConfig() != null && other.getMetricsConfig().equals(this.getMetricsConfig()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDataSourceArn() == null) ? 0 : getDataSourceArn().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getType() == null) ? 0 : getType().hashCode()); hashCode = prime * hashCode + ((getServiceRoleArn() == null) ? 0 : getServiceRoleArn().hashCode()); hashCode = prime * hashCode + ((getDynamodbConfig() == null) ? 0 : getDynamodbConfig().hashCode()); hashCode = prime * hashCode + ((getLambdaConfig() == null) ? 0 : getLambdaConfig().hashCode()); hashCode = prime * hashCode + ((getElasticsearchConfig() == null) ? 0 : getElasticsearchConfig().hashCode()); hashCode = prime * hashCode + ((getOpenSearchServiceConfig() == null) ? 0 : getOpenSearchServiceConfig().hashCode()); hashCode = prime * hashCode + ((getHttpConfig() == null) ? 0 : getHttpConfig().hashCode()); hashCode = prime * hashCode + ((getRelationalDatabaseConfig() == null) ? 0 : getRelationalDatabaseConfig().hashCode()); hashCode = prime * hashCode + ((getEventBridgeConfig() == null) ? 0 : getEventBridgeConfig().hashCode()); hashCode = prime * hashCode + ((getMetricsConfig() == null) ? 0 : getMetricsConfig().hashCode()); return hashCode; } @Override public DataSource clone() { try { return (DataSource) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.appsync.model.transform.DataSourceMarshaller.getInstance().marshall(this, protocolMarshaller); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy