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

software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayRestApiProps Maven / Gradle / Ivy

There is a newer version: 0.19.68
Show newest version
package software.aws.awsprototypingsdk.openapigateway;

/**
 * (experimental) Configuration for the OpenApiGatewayRestApi construct.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.82.0 (build 2d2ddd7)", date = "2023-08-15T05:38:04.695Z")
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.openapigateway.$Module.class, fqn = "@aws-prototyping-sdk/open-api-gateway.OpenApiGatewayRestApiProps")
@software.amazon.jsii.Jsii.Proxy(OpenApiGatewayRestApiProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface OpenApiGatewayRestApiProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.apigateway.RestApiBaseProps, software.aws.awsprototypingsdk.openapigateway.OpenApiOptions {

    /**
     * (experimental) The parsed OpenAPI specification.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.Object getSpec();

    /**
     * (experimental) Path to the JSON open api spec.
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
    @org.jetbrains.annotations.NotNull java.lang.String getSpecPath();

    /**
     * (experimental) Options for the AWS WAF v2 WebACL associated with the api.
     * 

* By default, a Web ACL with the AWS default managed * rule set will be associated with the API. These options may disable or override the defaults. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions getWebAclOptions() { return null; } /** * @return a {@link Builder} of {@link OpenApiGatewayRestApiProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link OpenApiGatewayRestApiProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object spec; java.lang.String specPath; software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions webAclOptions; java.lang.Boolean cloudWatchRole; java.lang.Boolean deploy; software.amazon.awscdk.services.apigateway.StageOptions deployOptions; java.lang.String description; java.lang.Boolean disableExecuteApiEndpoint; software.amazon.awscdk.services.apigateway.DomainNameOptions domainName; java.lang.String endpointExportName; java.util.List endpointTypes; java.lang.Boolean failOnWarnings; java.util.Map parameters; software.amazon.awscdk.services.iam.PolicyDocument policy; java.lang.String restApiName; java.lang.Boolean retainDeployments; java.util.Map integrations; java.util.Map operationLookup; software.amazon.awscdk.services.apigateway.CorsOptions corsOptions; software.aws.awsprototypingsdk.openapigateway.Authorizer defaultAuthorizer; /** * Sets the value of {@link OpenApiGatewayRestApiProps#getSpec} * @param spec The parsed OpenAPI specification. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder spec(java.lang.Object spec) { this.spec = spec; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getSpecPath} * @param specPath Path to the JSON open api spec. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder specPath(java.lang.String specPath) { this.specPath = specPath; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getWebAclOptions} * @param webAclOptions Options for the AWS WAF v2 WebACL associated with the api. * By default, a Web ACL with the AWS default managed * rule set will be associated with the API. These options may disable or override the defaults. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder webAclOptions(software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions webAclOptions) { this.webAclOptions = webAclOptions; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getCloudWatchRole} * @param cloudWatchRole Automatically configure an AWS CloudWatch role for API Gateway. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder cloudWatchRole(java.lang.Boolean cloudWatchRole) { this.cloudWatchRole = cloudWatchRole; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDeploy} * @param deploy Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. * Since API Gateway deployments are immutable, When this option is enabled * (by default), an AWS::ApiGateway::Deployment resource will automatically * created with a logical ID that hashes the API model (methods, resources * and options). This means that when the model changes, the logical ID of * this CloudFormation resource will change, and a new deployment will be * created. *

* If this is set, latestDeployment will refer to the Deployment object * and deploymentStage will refer to a Stage that points to this * deployment. To customize the stage options, use the deployOptions * property. *

* A CloudFormation Output will also be defined with the root URL endpoint * of this REST API. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deploy(java.lang.Boolean deploy) { this.deploy = deploy; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDeployOptions} * @param deployOptions Options for the API Gateway stage that will always point to the latest deployment when deploy is enabled. * If deploy is disabled, * this value cannot be set. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder deployOptions(software.amazon.awscdk.services.apigateway.StageOptions deployOptions) { this.deployOptions = deployOptions; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDescription} * @param description A description of the RestApi construct. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDisableExecuteApiEndpoint} * @param disableExecuteApiEndpoint Specifies whether clients can invoke the API using the default execute-api endpoint. * To require that clients use a custom domain name to invoke the * API, disable the default endpoint. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder disableExecuteApiEndpoint(java.lang.Boolean disableExecuteApiEndpoint) { this.disableExecuteApiEndpoint = disableExecuteApiEndpoint; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDomainName} * @param domainName Configure a custom domain name and map it to this API. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder domainName(software.amazon.awscdk.services.apigateway.DomainNameOptions domainName) { this.domainName = domainName; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getEndpointExportName} * @param endpointExportName Export name for the CfnOutput containing the API endpoint. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder endpointExportName(java.lang.String endpointExportName) { this.endpointExportName = endpointExportName; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getEndpointTypes} * @param endpointTypes A list of the endpoint types of the API. * Use this property when creating * an API. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @SuppressWarnings("unchecked") public Builder endpointTypes(java.util.List endpointTypes) { this.endpointTypes = (java.util.List)endpointTypes; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getFailOnWarnings} * @param failOnWarnings Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder failOnWarnings(java.lang.Boolean failOnWarnings) { this.failOnWarnings = failOnWarnings; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getParameters} * @param parameters Custom header parameters for the request. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder parameters(java.util.Map parameters) { this.parameters = parameters; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getPolicy} * @param policy A policy document that contains the permissions for this RestApi. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder policy(software.amazon.awscdk.services.iam.PolicyDocument policy) { this.policy = policy; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getRestApiName} * @param restApiName A name for the API Gateway RestApi resource. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder restApiName(java.lang.String restApiName) { this.restApiName = restApiName; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getRetainDeployments} * @param retainDeployments Retains old deployment resources when the API changes. * This allows * manually reverting stages to point to old deployments via the AWS * Console. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public Builder retainDeployments(java.lang.Boolean retainDeployments) { this.retainDeployments = retainDeployments; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getIntegrations} * @param integrations A mapping of API operation to its integration. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder integrations(java.util.Map integrations) { this.integrations = (java.util.Map)integrations; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getOperationLookup} * @param operationLookup Details about each operation. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder operationLookup(java.util.Map operationLookup) { this.operationLookup = (java.util.Map)operationLookup; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getCorsOptions} * @param corsOptions Cross Origin Resource Sharing options for the API. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder corsOptions(software.amazon.awscdk.services.apigateway.CorsOptions corsOptions) { this.corsOptions = corsOptions; return this; } /** * Sets the value of {@link OpenApiGatewayRestApiProps#getDefaultAuthorizer} * @param defaultAuthorizer The default authorizer to use for your api. * When omitted, no default authorizer is used. * Authorizers specified at the integration level will override this for that operation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder defaultAuthorizer(software.aws.awsprototypingsdk.openapigateway.Authorizer defaultAuthorizer) { this.defaultAuthorizer = defaultAuthorizer; return this; } /** * Builds the configured instance. * @return a new instance of {@link OpenApiGatewayRestApiProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public OpenApiGatewayRestApiProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link OpenApiGatewayRestApiProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements OpenApiGatewayRestApiProps { private final java.lang.Object spec; private final java.lang.String specPath; private final software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions webAclOptions; private final java.lang.Boolean cloudWatchRole; private final java.lang.Boolean deploy; private final software.amazon.awscdk.services.apigateway.StageOptions deployOptions; private final java.lang.String description; private final java.lang.Boolean disableExecuteApiEndpoint; private final software.amazon.awscdk.services.apigateway.DomainNameOptions domainName; private final java.lang.String endpointExportName; private final java.util.List endpointTypes; private final java.lang.Boolean failOnWarnings; private final java.util.Map parameters; private final software.amazon.awscdk.services.iam.PolicyDocument policy; private final java.lang.String restApiName; private final java.lang.Boolean retainDeployments; private final java.util.Map integrations; private final java.util.Map operationLookup; private final software.amazon.awscdk.services.apigateway.CorsOptions corsOptions; private final software.aws.awsprototypingsdk.openapigateway.Authorizer defaultAuthorizer; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.spec = software.amazon.jsii.Kernel.get(this, "spec", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.specPath = software.amazon.jsii.Kernel.get(this, "specPath", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.webAclOptions = software.amazon.jsii.Kernel.get(this, "webAclOptions", software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions.class)); this.cloudWatchRole = software.amazon.jsii.Kernel.get(this, "cloudWatchRole", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.deploy = software.amazon.jsii.Kernel.get(this, "deploy", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.deployOptions = software.amazon.jsii.Kernel.get(this, "deployOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.apigateway.StageOptions.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.disableExecuteApiEndpoint = software.amazon.jsii.Kernel.get(this, "disableExecuteApiEndpoint", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.domainName = software.amazon.jsii.Kernel.get(this, "domainName", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.apigateway.DomainNameOptions.class)); this.endpointExportName = software.amazon.jsii.Kernel.get(this, "endpointExportName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.endpointTypes = software.amazon.jsii.Kernel.get(this, "endpointTypes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.apigateway.EndpointType.class))); this.failOnWarnings = software.amazon.jsii.Kernel.get(this, "failOnWarnings", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.parameters = software.amazon.jsii.Kernel.get(this, "parameters", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.policy = software.amazon.jsii.Kernel.get(this, "policy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.PolicyDocument.class)); this.restApiName = software.amazon.jsii.Kernel.get(this, "restApiName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.retainDeployments = software.amazon.jsii.Kernel.get(this, "retainDeployments", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.integrations = software.amazon.jsii.Kernel.get(this, "integrations", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.OpenApiIntegration.class))); this.operationLookup = software.amazon.jsii.Kernel.get(this, "operationLookup", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.MethodAndPath.class))); this.corsOptions = software.amazon.jsii.Kernel.get(this, "corsOptions", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.apigateway.CorsOptions.class)); this.defaultAuthorizer = software.amazon.jsii.Kernel.get(this, "defaultAuthorizer", software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.Authorizer.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.spec = java.util.Objects.requireNonNull(builder.spec, "spec is required"); this.specPath = java.util.Objects.requireNonNull(builder.specPath, "specPath is required"); this.webAclOptions = builder.webAclOptions; this.cloudWatchRole = builder.cloudWatchRole; this.deploy = builder.deploy; this.deployOptions = builder.deployOptions; this.description = builder.description; this.disableExecuteApiEndpoint = builder.disableExecuteApiEndpoint; this.domainName = builder.domainName; this.endpointExportName = builder.endpointExportName; this.endpointTypes = (java.util.List)builder.endpointTypes; this.failOnWarnings = builder.failOnWarnings; this.parameters = builder.parameters; this.policy = builder.policy; this.restApiName = builder.restApiName; this.retainDeployments = builder.retainDeployments; this.integrations = (java.util.Map)java.util.Objects.requireNonNull(builder.integrations, "integrations is required"); this.operationLookup = (java.util.Map)java.util.Objects.requireNonNull(builder.operationLookup, "operationLookup is required"); this.corsOptions = builder.corsOptions; this.defaultAuthorizer = builder.defaultAuthorizer; } @Override public final java.lang.Object getSpec() { return this.spec; } @Override public final java.lang.String getSpecPath() { return this.specPath; } @Override public final software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayWebAclOptions getWebAclOptions() { return this.webAclOptions; } @Override public final java.lang.Boolean getCloudWatchRole() { return this.cloudWatchRole; } @Override public final java.lang.Boolean getDeploy() { return this.deploy; } @Override public final software.amazon.awscdk.services.apigateway.StageOptions getDeployOptions() { return this.deployOptions; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final java.lang.Boolean getDisableExecuteApiEndpoint() { return this.disableExecuteApiEndpoint; } @Override public final software.amazon.awscdk.services.apigateway.DomainNameOptions getDomainName() { return this.domainName; } @Override public final java.lang.String getEndpointExportName() { return this.endpointExportName; } @Override public final java.util.List getEndpointTypes() { return this.endpointTypes; } @Override public final java.lang.Boolean getFailOnWarnings() { return this.failOnWarnings; } @Override public final java.util.Map getParameters() { return this.parameters; } @Override public final software.amazon.awscdk.services.iam.PolicyDocument getPolicy() { return this.policy; } @Override public final java.lang.String getRestApiName() { return this.restApiName; } @Override public final java.lang.Boolean getRetainDeployments() { return this.retainDeployments; } @Override public final java.util.Map getIntegrations() { return this.integrations; } @Override public final java.util.Map getOperationLookup() { return this.operationLookup; } @Override public final software.amazon.awscdk.services.apigateway.CorsOptions getCorsOptions() { return this.corsOptions; } @Override public final software.aws.awsprototypingsdk.openapigateway.Authorizer getDefaultAuthorizer() { return this.defaultAuthorizer; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("spec", om.valueToTree(this.getSpec())); data.set("specPath", om.valueToTree(this.getSpecPath())); if (this.getWebAclOptions() != null) { data.set("webAclOptions", om.valueToTree(this.getWebAclOptions())); } if (this.getCloudWatchRole() != null) { data.set("cloudWatchRole", om.valueToTree(this.getCloudWatchRole())); } if (this.getDeploy() != null) { data.set("deploy", om.valueToTree(this.getDeploy())); } if (this.getDeployOptions() != null) { data.set("deployOptions", om.valueToTree(this.getDeployOptions())); } if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getDisableExecuteApiEndpoint() != null) { data.set("disableExecuteApiEndpoint", om.valueToTree(this.getDisableExecuteApiEndpoint())); } if (this.getDomainName() != null) { data.set("domainName", om.valueToTree(this.getDomainName())); } if (this.getEndpointExportName() != null) { data.set("endpointExportName", om.valueToTree(this.getEndpointExportName())); } if (this.getEndpointTypes() != null) { data.set("endpointTypes", om.valueToTree(this.getEndpointTypes())); } if (this.getFailOnWarnings() != null) { data.set("failOnWarnings", om.valueToTree(this.getFailOnWarnings())); } if (this.getParameters() != null) { data.set("parameters", om.valueToTree(this.getParameters())); } if (this.getPolicy() != null) { data.set("policy", om.valueToTree(this.getPolicy())); } if (this.getRestApiName() != null) { data.set("restApiName", om.valueToTree(this.getRestApiName())); } if (this.getRetainDeployments() != null) { data.set("retainDeployments", om.valueToTree(this.getRetainDeployments())); } data.set("integrations", om.valueToTree(this.getIntegrations())); data.set("operationLookup", om.valueToTree(this.getOperationLookup())); if (this.getCorsOptions() != null) { data.set("corsOptions", om.valueToTree(this.getCorsOptions())); } if (this.getDefaultAuthorizer() != null) { data.set("defaultAuthorizer", om.valueToTree(this.getDefaultAuthorizer())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-prototyping-sdk/open-api-gateway.OpenApiGatewayRestApiProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; OpenApiGatewayRestApiProps.Jsii$Proxy that = (OpenApiGatewayRestApiProps.Jsii$Proxy) o; if (!spec.equals(that.spec)) return false; if (!specPath.equals(that.specPath)) return false; if (this.webAclOptions != null ? !this.webAclOptions.equals(that.webAclOptions) : that.webAclOptions != null) return false; if (this.cloudWatchRole != null ? !this.cloudWatchRole.equals(that.cloudWatchRole) : that.cloudWatchRole != null) return false; if (this.deploy != null ? !this.deploy.equals(that.deploy) : that.deploy != null) return false; if (this.deployOptions != null ? !this.deployOptions.equals(that.deployOptions) : that.deployOptions != null) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.disableExecuteApiEndpoint != null ? !this.disableExecuteApiEndpoint.equals(that.disableExecuteApiEndpoint) : that.disableExecuteApiEndpoint != null) return false; if (this.domainName != null ? !this.domainName.equals(that.domainName) : that.domainName != null) return false; if (this.endpointExportName != null ? !this.endpointExportName.equals(that.endpointExportName) : that.endpointExportName != null) return false; if (this.endpointTypes != null ? !this.endpointTypes.equals(that.endpointTypes) : that.endpointTypes != null) return false; if (this.failOnWarnings != null ? !this.failOnWarnings.equals(that.failOnWarnings) : that.failOnWarnings != null) return false; if (this.parameters != null ? !this.parameters.equals(that.parameters) : that.parameters != null) return false; if (this.policy != null ? !this.policy.equals(that.policy) : that.policy != null) return false; if (this.restApiName != null ? !this.restApiName.equals(that.restApiName) : that.restApiName != null) return false; if (this.retainDeployments != null ? !this.retainDeployments.equals(that.retainDeployments) : that.retainDeployments != null) return false; if (!integrations.equals(that.integrations)) return false; if (!operationLookup.equals(that.operationLookup)) return false; if (this.corsOptions != null ? !this.corsOptions.equals(that.corsOptions) : that.corsOptions != null) return false; return this.defaultAuthorizer != null ? this.defaultAuthorizer.equals(that.defaultAuthorizer) : that.defaultAuthorizer == null; } @Override public final int hashCode() { int result = this.spec.hashCode(); result = 31 * result + (this.specPath.hashCode()); result = 31 * result + (this.webAclOptions != null ? this.webAclOptions.hashCode() : 0); result = 31 * result + (this.cloudWatchRole != null ? this.cloudWatchRole.hashCode() : 0); result = 31 * result + (this.deploy != null ? this.deploy.hashCode() : 0); result = 31 * result + (this.deployOptions != null ? this.deployOptions.hashCode() : 0); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.disableExecuteApiEndpoint != null ? this.disableExecuteApiEndpoint.hashCode() : 0); result = 31 * result + (this.domainName != null ? this.domainName.hashCode() : 0); result = 31 * result + (this.endpointExportName != null ? this.endpointExportName.hashCode() : 0); result = 31 * result + (this.endpointTypes != null ? this.endpointTypes.hashCode() : 0); result = 31 * result + (this.failOnWarnings != null ? this.failOnWarnings.hashCode() : 0); result = 31 * result + (this.parameters != null ? this.parameters.hashCode() : 0); result = 31 * result + (this.policy != null ? this.policy.hashCode() : 0); result = 31 * result + (this.restApiName != null ? this.restApiName.hashCode() : 0); result = 31 * result + (this.retainDeployments != null ? this.retainDeployments.hashCode() : 0); result = 31 * result + (this.integrations.hashCode()); result = 31 * result + (this.operationLookup.hashCode()); result = 31 * result + (this.corsOptions != null ? this.corsOptions.hashCode() : 0); result = 31 * result + (this.defaultAuthorizer != null ? this.defaultAuthorizer.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy