/* * Copyright 2018-2023 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 GraphQL API. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GraphqlApi implements Serializable, Cloneable, StructuredPojo { /** ** The API name. *
*/ private String name; /** ** The API ID. *
*/ private String apiId; /** ** The authentication type. *
*/ private String authenticationType; /** ** The Amazon CloudWatch Logs configuration. *
*/ private LogConfig logConfig; /** ** The Amazon Cognito user pool configuration. *
*/ private UserPoolConfig userPoolConfig; /** ** The OpenID Connect configuration. *
*/ private OpenIDConnectConfig openIDConnectConfig; /** ** The Amazon Resource Name (ARN). *
*/ private String arn; /** ** The URIs. *
*/ private java.util.Map* The tags. *
*/ private java.util.Map
* A list of additional authentication providers for the GraphqlApi
API.
*
* A flag indicating whether to use X-Ray tracing for this GraphqlApi
.
*
* The ARN of the WAF access control list (ACL) associated with this GraphqlApi
, if one exists.
*
* Configuration for Lambda function authorization. *
*/ private LambdaAuthorizerConfig lambdaAuthorizerConfig; /** ** The DNS records for the API. *
*/ private java.util.Map
* Sets the value of the GraphQL API to public (GLOBAL
) or private (PRIVATE
). If no value
* is provided, the visibility will be set to GLOBAL
by default. This value cannot be changed once the
* API has been created.
*
* The value that indicates whether the GraphQL API is a standard API (GRAPHQL
) or merged API (
* MERGED
).
*
* The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on
* behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE
* to update the merged API endpoint with the source API changes automatically.
*
* The account owner of the GraphQL API. *
*/ private String owner; /** ** The owner contact information for an API resource. *
** This field accepts any string input with a length of 0 - 256 characters. *
*/ private String ownerContact; /** ** The API name. *
* * @param name * The API name. */ public void setName(String name) { this.name = name; } /** ** The API name. *
* * @return The API name. */ public String getName() { return this.name; } /** ** The API name. *
* * @param name * The API name. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withName(String name) { setName(name); return this; } /** ** The API ID. *
* * @param apiId * The API ID. */ public void setApiId(String apiId) { this.apiId = apiId; } /** ** The API ID. *
* * @return The API ID. */ public String getApiId() { return this.apiId; } /** ** The API ID. *
* * @param apiId * The API ID. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withApiId(String apiId) { setApiId(apiId); return this; } /** ** The authentication type. *
* * @param authenticationType * The authentication type. * @see AuthenticationType */ public void setAuthenticationType(String authenticationType) { this.authenticationType = authenticationType; } /** ** The authentication type. *
* * @return The authentication type. * @see AuthenticationType */ public String getAuthenticationType() { return this.authenticationType; } /** ** The authentication type. *
* * @param authenticationType * The authentication type. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthenticationType */ public GraphqlApi withAuthenticationType(String authenticationType) { setAuthenticationType(authenticationType); return this; } /** ** The authentication type. *
* * @param authenticationType * The authentication type. * @return Returns a reference to this object so that method calls can be chained together. * @see AuthenticationType */ public GraphqlApi withAuthenticationType(AuthenticationType authenticationType) { this.authenticationType = authenticationType.toString(); return this; } /** ** The Amazon CloudWatch Logs configuration. *
* * @param logConfig * The Amazon CloudWatch Logs configuration. */ public void setLogConfig(LogConfig logConfig) { this.logConfig = logConfig; } /** ** The Amazon CloudWatch Logs configuration. *
* * @return The Amazon CloudWatch Logs configuration. */ public LogConfig getLogConfig() { return this.logConfig; } /** ** The Amazon CloudWatch Logs configuration. *
* * @param logConfig * The Amazon CloudWatch Logs configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withLogConfig(LogConfig logConfig) { setLogConfig(logConfig); return this; } /** ** The Amazon Cognito user pool configuration. *
* * @param userPoolConfig * The Amazon Cognito user pool configuration. */ public void setUserPoolConfig(UserPoolConfig userPoolConfig) { this.userPoolConfig = userPoolConfig; } /** ** The Amazon Cognito user pool configuration. *
* * @return The Amazon Cognito user pool configuration. */ public UserPoolConfig getUserPoolConfig() { return this.userPoolConfig; } /** ** The Amazon Cognito user pool configuration. *
* * @param userPoolConfig * The Amazon Cognito user pool configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withUserPoolConfig(UserPoolConfig userPoolConfig) { setUserPoolConfig(userPoolConfig); return this; } /** ** The OpenID Connect configuration. *
* * @param openIDConnectConfig * The OpenID Connect configuration. */ public void setOpenIDConnectConfig(OpenIDConnectConfig openIDConnectConfig) { this.openIDConnectConfig = openIDConnectConfig; } /** ** The OpenID Connect configuration. *
* * @return The OpenID Connect configuration. */ public OpenIDConnectConfig getOpenIDConnectConfig() { return this.openIDConnectConfig; } /** ** The OpenID Connect configuration. *
* * @param openIDConnectConfig * The OpenID Connect configuration. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withOpenIDConnectConfig(OpenIDConnectConfig openIDConnectConfig) { setOpenIDConnectConfig(openIDConnectConfig); return this; } /** ** The Amazon Resource Name (ARN). *
* * @param arn * The Amazon Resource Name (ARN). */ public void setArn(String arn) { this.arn = arn; } /** ** The Amazon Resource Name (ARN). *
* * @return The Amazon Resource Name (ARN). */ public String getArn() { return this.arn; } /** ** The Amazon Resource Name (ARN). *
* * @param arn * The Amazon Resource Name (ARN). * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withArn(String arn) { setArn(arn); return this; } /** ** The URIs. *
* * @return The URIs. */ public java.util.Map* The URIs. *
* * @param uris * The URIs. */ public void setUris(java.util.Map* The URIs. *
* * @param uris * The URIs. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withUris(java.util.Map* The tags. *
* * @return The tags. */ public java.util.Map* The tags. *
* * @param tags * The tags. */ public void setTags(java.util.Map* The tags. *
* * @param tags * The tags. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withTags(java.util.Map
* A list of additional authentication providers for the GraphqlApi
API.
*
GraphqlApi
API.
*/
public java.util.List
* A list of additional authentication providers for the GraphqlApi
API.
*
GraphqlApi
API.
*/
public void setAdditionalAuthenticationProviders(java.util.Collection
* A list of additional authentication providers for the GraphqlApi
API.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAdditionalAuthenticationProviders(java.util.Collection)} or * {@link #withAdditionalAuthenticationProviders(java.util.Collection)} if you want to override the existing values. *
* * @param additionalAuthenticationProviders * A list of additional authentication providers for theGraphqlApi
API.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GraphqlApi withAdditionalAuthenticationProviders(AdditionalAuthenticationProvider... additionalAuthenticationProviders) {
if (this.additionalAuthenticationProviders == null) {
setAdditionalAuthenticationProviders(new java.util.ArrayList
* A list of additional authentication providers for the GraphqlApi
API.
*
GraphqlApi
API.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GraphqlApi withAdditionalAuthenticationProviders(java.util.Collection
* A flag indicating whether to use X-Ray tracing for this GraphqlApi
.
*
GraphqlApi
.
*/
public void setXrayEnabled(Boolean xrayEnabled) {
this.xrayEnabled = xrayEnabled;
}
/**
*
* A flag indicating whether to use X-Ray tracing for this GraphqlApi
.
*
GraphqlApi
.
*/
public Boolean getXrayEnabled() {
return this.xrayEnabled;
}
/**
*
* A flag indicating whether to use X-Ray tracing for this GraphqlApi
.
*
GraphqlApi
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GraphqlApi withXrayEnabled(Boolean xrayEnabled) {
setXrayEnabled(xrayEnabled);
return this;
}
/**
*
* A flag indicating whether to use X-Ray tracing for this GraphqlApi
.
*
GraphqlApi
.
*/
public Boolean isXrayEnabled() {
return this.xrayEnabled;
}
/**
*
* The ARN of the WAF access control list (ACL) associated with this GraphqlApi
, if one exists.
*
GraphqlApi
, if one exists.
*/
public void setWafWebAclArn(String wafWebAclArn) {
this.wafWebAclArn = wafWebAclArn;
}
/**
*
* The ARN of the WAF access control list (ACL) associated with this GraphqlApi
, if one exists.
*
GraphqlApi
, if one exists.
*/
public String getWafWebAclArn() {
return this.wafWebAclArn;
}
/**
*
* The ARN of the WAF access control list (ACL) associated with this GraphqlApi
, if one exists.
*
GraphqlApi
, if one exists.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GraphqlApi withWafWebAclArn(String wafWebAclArn) {
setWafWebAclArn(wafWebAclArn);
return this;
}
/**
* * Configuration for Lambda function authorization. *
* * @param lambdaAuthorizerConfig * Configuration for Lambda function authorization. */ public void setLambdaAuthorizerConfig(LambdaAuthorizerConfig lambdaAuthorizerConfig) { this.lambdaAuthorizerConfig = lambdaAuthorizerConfig; } /** ** Configuration for Lambda function authorization. *
* * @return Configuration for Lambda function authorization. */ public LambdaAuthorizerConfig getLambdaAuthorizerConfig() { return this.lambdaAuthorizerConfig; } /** ** Configuration for Lambda function authorization. *
* * @param lambdaAuthorizerConfig * Configuration for Lambda function authorization. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withLambdaAuthorizerConfig(LambdaAuthorizerConfig lambdaAuthorizerConfig) { setLambdaAuthorizerConfig(lambdaAuthorizerConfig); return this; } /** ** The DNS records for the API. *
* * @return The DNS records for the API. */ public java.util.Map* The DNS records for the API. *
* * @param dns * The DNS records for the API. */ public void setDns(java.util.Map* The DNS records for the API. *
* * @param dns * The DNS records for the API. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withDns(java.util.Map
* Sets the value of the GraphQL API to public (GLOBAL
) or private (PRIVATE
). If no value
* is provided, the visibility will be set to GLOBAL
by default. This value cannot be changed once the
* API has been created.
*
GLOBAL
) or private (PRIVATE
). If no
* value is provided, the visibility will be set to GLOBAL
by default. This value cannot be
* changed once the API has been created.
* @see GraphQLApiVisibility
*/
public void setVisibility(String visibility) {
this.visibility = visibility;
}
/**
*
* Sets the value of the GraphQL API to public (GLOBAL
) or private (PRIVATE
). If no value
* is provided, the visibility will be set to GLOBAL
by default. This value cannot be changed once the
* API has been created.
*
GLOBAL
) or private (PRIVATE
). If
* no value is provided, the visibility will be set to GLOBAL
by default. This value cannot be
* changed once the API has been created.
* @see GraphQLApiVisibility
*/
public String getVisibility() {
return this.visibility;
}
/**
*
* Sets the value of the GraphQL API to public (GLOBAL
) or private (PRIVATE
). If no value
* is provided, the visibility will be set to GLOBAL
by default. This value cannot be changed once the
* API has been created.
*
GLOBAL
) or private (PRIVATE
). If no
* value is provided, the visibility will be set to GLOBAL
by default. This value cannot be
* changed once the API has been created.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GraphQLApiVisibility
*/
public GraphqlApi withVisibility(String visibility) {
setVisibility(visibility);
return this;
}
/**
*
* Sets the value of the GraphQL API to public (GLOBAL
) or private (PRIVATE
). If no value
* is provided, the visibility will be set to GLOBAL
by default. This value cannot be changed once the
* API has been created.
*
GLOBAL
) or private (PRIVATE
). If no
* value is provided, the visibility will be set to GLOBAL
by default. This value cannot be
* changed once the API has been created.
* @return Returns a reference to this object so that method calls can be chained together.
* @see GraphQLApiVisibility
*/
public GraphqlApi withVisibility(GraphQLApiVisibility visibility) {
this.visibility = visibility.toString();
return this;
}
/**
*
* The value that indicates whether the GraphQL API is a standard API (GRAPHQL
) or merged API (
* MERGED
).
*
GRAPHQL
) or merged API (
* MERGED
).
* @see GraphQLApiType
*/
public void setApiType(String apiType) {
this.apiType = apiType;
}
/**
*
* The value that indicates whether the GraphQL API is a standard API (GRAPHQL
) or merged API (
* MERGED
).
*
GRAPHQL
) or merged API (
* MERGED
).
* @see GraphQLApiType
*/
public String getApiType() {
return this.apiType;
}
/**
*
* The value that indicates whether the GraphQL API is a standard API (GRAPHQL
) or merged API (
* MERGED
).
*
GRAPHQL
) or merged API (
* MERGED
).
* @return Returns a reference to this object so that method calls can be chained together.
* @see GraphQLApiType
*/
public GraphqlApi withApiType(String apiType) {
setApiType(apiType);
return this;
}
/**
*
* The value that indicates whether the GraphQL API is a standard API (GRAPHQL
) or merged API (
* MERGED
).
*
GRAPHQL
) or merged API (
* MERGED
).
* @return Returns a reference to this object so that method calls can be chained together.
* @see GraphQLApiType
*/
public GraphqlApi withApiType(GraphQLApiType apiType) {
this.apiType = apiType.toString();
return this;
}
/**
*
* The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on
* behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE
* to update the merged API endpoint with the source API changes automatically.
*
AUTO_MERGE
to update the merged API endpoint with the source API changes automatically.
*/
public void setMergedApiExecutionRoleArn(String mergedApiExecutionRoleArn) {
this.mergedApiExecutionRoleArn = mergedApiExecutionRoleArn;
}
/**
*
* The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on
* behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE
* to update the merged API endpoint with the source API changes automatically.
*
AUTO_MERGE
to update the merged API endpoint with the source API changes automatically.
*/
public String getMergedApiExecutionRoleArn() {
return this.mergedApiExecutionRoleArn;
}
/**
*
* The Identity and Access Management service role ARN for a merged API. The AppSync service assumes this role on
* behalf of the Merged API to validate access to source APIs at runtime and to prompt the AUTO_MERGE
* to update the merged API endpoint with the source API changes automatically.
*
AUTO_MERGE
to update the merged API endpoint with the source API changes automatically.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public GraphqlApi withMergedApiExecutionRoleArn(String mergedApiExecutionRoleArn) {
setMergedApiExecutionRoleArn(mergedApiExecutionRoleArn);
return this;
}
/**
* * The account owner of the GraphQL API. *
* * @param owner * The account owner of the GraphQL API. */ public void setOwner(String owner) { this.owner = owner; } /** ** The account owner of the GraphQL API. *
* * @return The account owner of the GraphQL API. */ public String getOwner() { return this.owner; } /** ** The account owner of the GraphQL API. *
* * @param owner * The account owner of the GraphQL API. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withOwner(String owner) { setOwner(owner); return this; } /** ** The owner contact information for an API resource. *
** This field accepts any string input with a length of 0 - 256 characters. *
* * @param ownerContact * The owner contact information for an API resource. ** This field accepts any string input with a length of 0 - 256 characters. */ public void setOwnerContact(String ownerContact) { this.ownerContact = ownerContact; } /** *
* The owner contact information for an API resource. *
** This field accepts any string input with a length of 0 - 256 characters. *
* * @return The owner contact information for an API resource. ** This field accepts any string input with a length of 0 - 256 characters. */ public String getOwnerContact() { return this.ownerContact; } /** *
* The owner contact information for an API resource. *
** This field accepts any string input with a length of 0 - 256 characters. *
* * @param ownerContact * The owner contact information for an API resource. ** This field accepts any string input with a length of 0 - 256 characters. * @return Returns a reference to this object so that method calls can be chained together. */ public GraphqlApi withOwnerContact(String ownerContact) { setOwnerContact(ownerContact); 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 (getName() != null) sb.append("Name: ").append(getName()).append(","); if (getApiId() != null) sb.append("ApiId: ").append(getApiId()).append(","); if (getAuthenticationType() != null) sb.append("AuthenticationType: ").append(getAuthenticationType()).append(","); if (getLogConfig() != null) sb.append("LogConfig: ").append(getLogConfig()).append(","); if (getUserPoolConfig() != null) sb.append("UserPoolConfig: ").append(getUserPoolConfig()).append(","); if (getOpenIDConnectConfig() != null) sb.append("OpenIDConnectConfig: ").append(getOpenIDConnectConfig()).append(","); if (getArn() != null) sb.append("Arn: ").append(getArn()).append(","); if (getUris() != null) sb.append("Uris: ").append(getUris()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getAdditionalAuthenticationProviders() != null) sb.append("AdditionalAuthenticationProviders: ").append(getAdditionalAuthenticationProviders()).append(","); if (getXrayEnabled() != null) sb.append("XrayEnabled: ").append(getXrayEnabled()).append(","); if (getWafWebAclArn() != null) sb.append("WafWebAclArn: ").append(getWafWebAclArn()).append(","); if (getLambdaAuthorizerConfig() != null) sb.append("LambdaAuthorizerConfig: ").append(getLambdaAuthorizerConfig()).append(","); if (getDns() != null) sb.append("Dns: ").append(getDns()).append(","); if (getVisibility() != null) sb.append("Visibility: ").append(getVisibility()).append(","); if (getApiType() != null) sb.append("ApiType: ").append(getApiType()).append(","); if (getMergedApiExecutionRoleArn() != null) sb.append("MergedApiExecutionRoleArn: ").append(getMergedApiExecutionRoleArn()).append(","); if (getOwner() != null) sb.append("Owner: ").append(getOwner()).append(","); if (getOwnerContact() != null) sb.append("OwnerContact: ").append(getOwnerContact()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GraphqlApi == false) return false; GraphqlApi other = (GraphqlApi) obj; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getApiId() == null ^ this.getApiId() == null) return false; if (other.getApiId() != null && other.getApiId().equals(this.getApiId()) == false) return false; if (other.getAuthenticationType() == null ^ this.getAuthenticationType() == null) return false; if (other.getAuthenticationType() != null && other.getAuthenticationType().equals(this.getAuthenticationType()) == false) return false; if (other.getLogConfig() == null ^ this.getLogConfig() == null) return false; if (other.getLogConfig() != null && other.getLogConfig().equals(this.getLogConfig()) == false) return false; if (other.getUserPoolConfig() == null ^ this.getUserPoolConfig() == null) return false; if (other.getUserPoolConfig() != null && other.getUserPoolConfig().equals(this.getUserPoolConfig()) == false) return false; if (other.getOpenIDConnectConfig() == null ^ this.getOpenIDConnectConfig() == null) return false; if (other.getOpenIDConnectConfig() != null && other.getOpenIDConnectConfig().equals(this.getOpenIDConnectConfig()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getUris() == null ^ this.getUris() == null) return false; if (other.getUris() != null && other.getUris().equals(this.getUris()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getAdditionalAuthenticationProviders() == null ^ this.getAdditionalAuthenticationProviders() == null) return false; if (other.getAdditionalAuthenticationProviders() != null && other.getAdditionalAuthenticationProviders().equals(this.getAdditionalAuthenticationProviders()) == false) return false; if (other.getXrayEnabled() == null ^ this.getXrayEnabled() == null) return false; if (other.getXrayEnabled() != null && other.getXrayEnabled().equals(this.getXrayEnabled()) == false) return false; if (other.getWafWebAclArn() == null ^ this.getWafWebAclArn() == null) return false; if (other.getWafWebAclArn() != null && other.getWafWebAclArn().equals(this.getWafWebAclArn()) == false) return false; if (other.getLambdaAuthorizerConfig() == null ^ this.getLambdaAuthorizerConfig() == null) return false; if (other.getLambdaAuthorizerConfig() != null && other.getLambdaAuthorizerConfig().equals(this.getLambdaAuthorizerConfig()) == false) return false; if (other.getDns() == null ^ this.getDns() == null) return false; if (other.getDns() != null && other.getDns().equals(this.getDns()) == false) return false; if (other.getVisibility() == null ^ this.getVisibility() == null) return false; if (other.getVisibility() != null && other.getVisibility().equals(this.getVisibility()) == false) return false; if (other.getApiType() == null ^ this.getApiType() == null) return false; if (other.getApiType() != null && other.getApiType().equals(this.getApiType()) == false) return false; if (other.getMergedApiExecutionRoleArn() == null ^ this.getMergedApiExecutionRoleArn() == null) return false; if (other.getMergedApiExecutionRoleArn() != null && other.getMergedApiExecutionRoleArn().equals(this.getMergedApiExecutionRoleArn()) == false) return false; if (other.getOwner() == null ^ this.getOwner() == null) return false; if (other.getOwner() != null && other.getOwner().equals(this.getOwner()) == false) return false; if (other.getOwnerContact() == null ^ this.getOwnerContact() == null) return false; if (other.getOwnerContact() != null && other.getOwnerContact().equals(this.getOwnerContact()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getApiId() == null) ? 0 : getApiId().hashCode()); hashCode = prime * hashCode + ((getAuthenticationType() == null) ? 0 : getAuthenticationType().hashCode()); hashCode = prime * hashCode + ((getLogConfig() == null) ? 0 : getLogConfig().hashCode()); hashCode = prime * hashCode + ((getUserPoolConfig() == null) ? 0 : getUserPoolConfig().hashCode()); hashCode = prime * hashCode + ((getOpenIDConnectConfig() == null) ? 0 : getOpenIDConnectConfig().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getUris() == null) ? 0 : getUris().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getAdditionalAuthenticationProviders() == null) ? 0 : getAdditionalAuthenticationProviders().hashCode()); hashCode = prime * hashCode + ((getXrayEnabled() == null) ? 0 : getXrayEnabled().hashCode()); hashCode = prime * hashCode + ((getWafWebAclArn() == null) ? 0 : getWafWebAclArn().hashCode()); hashCode = prime * hashCode + ((getLambdaAuthorizerConfig() == null) ? 0 : getLambdaAuthorizerConfig().hashCode()); hashCode = prime * hashCode + ((getDns() == null) ? 0 : getDns().hashCode()); hashCode = prime * hashCode + ((getVisibility() == null) ? 0 : getVisibility().hashCode()); hashCode = prime * hashCode + ((getApiType() == null) ? 0 : getApiType().hashCode()); hashCode = prime * hashCode + ((getMergedApiExecutionRoleArn() == null) ? 0 : getMergedApiExecutionRoleArn().hashCode()); hashCode = prime * hashCode + ((getOwner() == null) ? 0 : getOwner().hashCode()); hashCode = prime * hashCode + ((getOwnerContact() == null) ? 0 : getOwnerContact().hashCode()); return hashCode; } @Override public GraphqlApi clone() { try { return (GraphqlApi) 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.GraphqlApiMarshaller.getInstance().marshall(this, protocolMarshaller); } }