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

software.amazon.awscdk.services.gamelift.alpha.BuildFleetProps Maven / Gradle / Ivy

There is a newer version: 2.170.0-alpha.0
Show newest version
package software.amazon.awscdk.services.gamelift.alpha;

/**
 * (experimental) Properties for a new Gamelift build fleet.
 * 

* Example: *

*

 * Build build;
 * // Server processes can be delcared in a declarative way through the constructor
 * BuildFleet fleet = BuildFleet.Builder.create(this, "Game server fleet")
 *         .fleetName("test-fleet")
 *         .content(build)
 *         .instanceType(InstanceType.of(InstanceClass.C4, InstanceSize.LARGE))
 *         .runtimeConfiguration(RuntimeConfiguration.builder()
 *                 .serverProcesses(List.of(ServerProcess.builder()
 *                         .launchPath("/local/game/GameLiftExampleServer.x86_64")
 *                         .parameters("-logFile /local/game/logs/myserver1935.log -port 1935")
 *                         .concurrentExecutions(100)
 *                         .build()))
 *                 .build())
 *         .build();
 * 
*/ @javax.annotation.Generated(value = "jsii-pacmak/1.104.0 (build e79254c)", date = "2024-12-27T17:02:12.094Z") @software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.gamelift.alpha.$Module.class, fqn = "@aws-cdk/aws-gamelift-alpha.BuildFleetProps") @software.amazon.jsii.Jsii.Proxy(BuildFleetProps.Jsii$Proxy.class) @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public interface BuildFleetProps extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.gamelift.alpha.FleetProps { /** * (experimental) A build to be deployed on the fleet. *

* The build must have been successfully uploaded to Amazon GameLift and be in a READY status. *

* This fleet setting cannot be changed once the fleet is created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.gamelift.alpha.IBuild getContent(); /** * (experimental) The allowed IP address ranges and port settings that allow inbound traffic to access game sessions on this fleet. *

* This property must be set before players can connect to game sessions. *

* Default: no inbound traffic allowed */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getIngressRules() { return null; } /** * @return a {@link Builder} of {@link BuildFleetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link BuildFleetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { software.amazon.awscdk.services.gamelift.alpha.IBuild content; java.util.List ingressRules; java.lang.String fleetName; software.amazon.awscdk.services.ec2.InstanceType instanceType; software.amazon.awscdk.services.gamelift.alpha.RuntimeConfiguration runtimeConfiguration; java.lang.String description; java.lang.Number desiredCapacity; java.util.List locations; java.lang.Number maxSize; java.lang.String metricGroup; java.lang.Number minSize; software.amazon.awscdk.services.ec2.IVpc peerVpc; java.lang.Boolean protectNewGameSession; software.amazon.awscdk.services.gamelift.alpha.ResourceCreationLimitPolicy resourceCreationLimitPolicy; software.amazon.awscdk.services.iam.IRole role; java.lang.Boolean useCertificate; java.lang.Boolean useSpot; /** * Sets the value of {@link BuildFleetProps#getContent} * @param content A build to be deployed on the fleet. This parameter is required. * The build must have been successfully uploaded to Amazon GameLift and be in a READY status. *

* This fleet setting cannot be changed once the fleet is created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder content(software.amazon.awscdk.services.gamelift.alpha.IBuild content) { this.content = content; return this; } /** * Sets the value of {@link BuildFleetProps#getIngressRules} * @param ingressRules The allowed IP address ranges and port settings that allow inbound traffic to access game sessions on this fleet. * This property must be set before players can connect to game sessions. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder ingressRules(java.util.List ingressRules) { this.ingressRules = (java.util.List)ingressRules; return this; } /** * Sets the value of {@link BuildFleetProps#getFleetName} * @param fleetName A descriptive label that is associated with a fleet. This parameter is required. * Fleet names do not need to be unique. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder fleetName(java.lang.String fleetName) { this.fleetName = fleetName; return this; } /** * Sets the value of {@link BuildFleetProps#getInstanceType} * @param instanceType The GameLift-supported Amazon EC2 instance type to use for all fleet instances. This parameter is required. * Instance type determines the computing resources that will be used to host your game servers, including CPU, memory, storage, and networking capacity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder instanceType(software.amazon.awscdk.services.ec2.InstanceType instanceType) { this.instanceType = instanceType; return this; } /** * Sets the value of {@link BuildFleetProps#getRuntimeConfiguration} * @param runtimeConfiguration A collection of server process configurations that describe the set of processes to run on each instance in a fleet. This parameter is required. * Server processes run either an executable in a custom game build or a Realtime Servers script. * GameLift launches the configured processes, manages their life cycle, and replaces them as needed. * Each instance checks regularly for an updated runtime configuration. *

* A GameLift instance is limited to 50 processes running concurrently. * To calculate the total number of processes in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder runtimeConfiguration(software.amazon.awscdk.services.gamelift.alpha.RuntimeConfiguration runtimeConfiguration) { this.runtimeConfiguration = runtimeConfiguration; return this; } /** * Sets the value of {@link BuildFleetProps#getDescription} * @param description A human-readable description of the fleet. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link BuildFleetProps#getDesiredCapacity} * @param desiredCapacity The number of EC2 instances that you want this fleet to host. * When creating a new fleet, GameLift automatically sets this value to "1" and initiates a single instance. * Once the fleet is active, update this value to trigger GameLift to add or remove instances from the fleet. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder desiredCapacity(java.lang.Number desiredCapacity) { this.desiredCapacity = desiredCapacity; return this; } /** * Sets the value of {@link BuildFleetProps#getLocations} * @param locations A set of remote locations to deploy additional instances to and manage as part of the fleet. * This parameter can only be used when creating fleets in AWS Regions that support multiple locations. * You can add any GameLift-supported AWS Region as a remote location, in the form of an AWS Region code such as us-west-2. * To create a fleet with instances in the home region only, omit this parameter. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder locations(java.util.List locations) { this.locations = (java.util.List)locations; return this; } /** * Sets the value of {@link BuildFleetProps#getMaxSize} * @param maxSize The maximum number of instances that are allowed in the specified fleet location. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder maxSize(java.lang.Number maxSize) { this.maxSize = maxSize; return this; } /** * Sets the value of {@link BuildFleetProps#getMetricGroup} * @param metricGroup The name of an AWS CloudWatch metric group to add this fleet to. * A metric group is used to aggregate the metrics for multiple fleets. * You can specify an existing metric group name or set a new name to create a new metric group. * A fleet can be included in only one metric group at a time. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder metricGroup(java.lang.String metricGroup) { this.metricGroup = metricGroup; return this; } /** * Sets the value of {@link BuildFleetProps#getMinSize} * @param minSize The minimum number of instances that are allowed in the specified fleet location. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder minSize(java.lang.Number minSize) { this.minSize = minSize; return this; } /** * Sets the value of {@link BuildFleetProps#getPeerVpc} * @param peerVpc A VPC peering connection between your GameLift-hosted game servers and your other non-GameLift resources. * Use Amazon Virtual Private Cloud (VPC) peering connections to enable your game servers to communicate directly and privately with your other AWS resources, such as a web service or a repository. * You can establish VPC peering with any resources that run on AWS and are managed by an AWS account that you have access to. * The VPC must be in the same Region as your fleet. *

* Warning: * Be sure to create a VPC Peering authorization through Gamelift Service API. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder peerVpc(software.amazon.awscdk.services.ec2.IVpc peerVpc) { this.peerVpc = peerVpc; return this; } /** * Sets the value of {@link BuildFleetProps#getProtectNewGameSession} * @param protectNewGameSession The status of termination protection for active game sessions on the fleet. * By default, new game sessions are protected and cannot be terminated during a scale-down event. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder protectNewGameSession(java.lang.Boolean protectNewGameSession) { this.protectNewGameSession = protectNewGameSession; return this; } /** * Sets the value of {@link BuildFleetProps#getResourceCreationLimitPolicy} * @param resourceCreationLimitPolicy A policy that limits the number of game sessions that an individual player can create on instances in this fleet within a specified span of time. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder resourceCreationLimitPolicy(software.amazon.awscdk.services.gamelift.alpha.ResourceCreationLimitPolicy resourceCreationLimitPolicy) { this.resourceCreationLimitPolicy = resourceCreationLimitPolicy; return this; } /** * Sets the value of {@link BuildFleetProps#getRole} * @param role The IAM role assumed by GameLift fleet instances to access AWS ressources. * With a role set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). * If providing a custom role, it needs to trust the GameLift service principal (gamelift.amazonaws.com). * No permission is required by default. *

* This property cannot be changed after the fleet is created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder role(software.amazon.awscdk.services.iam.IRole role) { this.role = role; return this; } /** * Sets the value of {@link BuildFleetProps#getUseCertificate} * @param useCertificate Prompts GameLift to generate a TLS/SSL certificate for the fleet. * GameLift uses the certificates to encrypt traffic between game clients and the game servers running on GameLift. *

* You can't change this property after you create the fleet. *

* Additionnal info: * AWS Certificate Manager (ACM) certificates expire after 13 months. * Certificate expiration can cause fleets to fail, preventing players from connecting to instances in the fleet. * We recommend you replace fleets before 13 months, consider using fleet aliases for a smooth transition. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder useCertificate(java.lang.Boolean useCertificate) { this.useCertificate = useCertificate; return this; } /** * Sets the value of {@link BuildFleetProps#getUseSpot} * @param useSpot Indicates whether to use On-Demand or Spot instances for this fleet. By default, fleet use on demand capacity. * This property cannot be changed after the fleet is created. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder useSpot(java.lang.Boolean useSpot) { this.useSpot = useSpot; return this; } /** * Builds the configured instance. * @return a new instance of {@link BuildFleetProps} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public BuildFleetProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link BuildFleetProps} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements BuildFleetProps { private final software.amazon.awscdk.services.gamelift.alpha.IBuild content; private final java.util.List ingressRules; private final java.lang.String fleetName; private final software.amazon.awscdk.services.ec2.InstanceType instanceType; private final software.amazon.awscdk.services.gamelift.alpha.RuntimeConfiguration runtimeConfiguration; private final java.lang.String description; private final java.lang.Number desiredCapacity; private final java.util.List locations; private final java.lang.Number maxSize; private final java.lang.String metricGroup; private final java.lang.Number minSize; private final software.amazon.awscdk.services.ec2.IVpc peerVpc; private final java.lang.Boolean protectNewGameSession; private final software.amazon.awscdk.services.gamelift.alpha.ResourceCreationLimitPolicy resourceCreationLimitPolicy; private final software.amazon.awscdk.services.iam.IRole role; private final java.lang.Boolean useCertificate; private final java.lang.Boolean useSpot; /** * 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.content = software.amazon.jsii.Kernel.get(this, "content", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.gamelift.alpha.IBuild.class)); this.ingressRules = software.amazon.jsii.Kernel.get(this, "ingressRules", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.gamelift.alpha.IngressRule.class))); this.fleetName = software.amazon.jsii.Kernel.get(this, "fleetName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.instanceType = software.amazon.jsii.Kernel.get(this, "instanceType", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.InstanceType.class)); this.runtimeConfiguration = software.amazon.jsii.Kernel.get(this, "runtimeConfiguration", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.gamelift.alpha.RuntimeConfiguration.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.desiredCapacity = software.amazon.jsii.Kernel.get(this, "desiredCapacity", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.locations = software.amazon.jsii.Kernel.get(this, "locations", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.gamelift.alpha.Location.class))); this.maxSize = software.amazon.jsii.Kernel.get(this, "maxSize", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.metricGroup = software.amazon.jsii.Kernel.get(this, "metricGroup", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.minSize = software.amazon.jsii.Kernel.get(this, "minSize", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); this.peerVpc = software.amazon.jsii.Kernel.get(this, "peerVpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); this.protectNewGameSession = software.amazon.jsii.Kernel.get(this, "protectNewGameSession", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.resourceCreationLimitPolicy = software.amazon.jsii.Kernel.get(this, "resourceCreationLimitPolicy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.gamelift.alpha.ResourceCreationLimitPolicy.class)); this.role = software.amazon.jsii.Kernel.get(this, "role", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)); this.useCertificate = software.amazon.jsii.Kernel.get(this, "useCertificate", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.useSpot = software.amazon.jsii.Kernel.get(this, "useSpot", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.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.content = java.util.Objects.requireNonNull(builder.content, "content is required"); this.ingressRules = (java.util.List)builder.ingressRules; this.fleetName = java.util.Objects.requireNonNull(builder.fleetName, "fleetName is required"); this.instanceType = java.util.Objects.requireNonNull(builder.instanceType, "instanceType is required"); this.runtimeConfiguration = java.util.Objects.requireNonNull(builder.runtimeConfiguration, "runtimeConfiguration is required"); this.description = builder.description; this.desiredCapacity = builder.desiredCapacity; this.locations = (java.util.List)builder.locations; this.maxSize = builder.maxSize; this.metricGroup = builder.metricGroup; this.minSize = builder.minSize; this.peerVpc = builder.peerVpc; this.protectNewGameSession = builder.protectNewGameSession; this.resourceCreationLimitPolicy = builder.resourceCreationLimitPolicy; this.role = builder.role; this.useCertificate = builder.useCertificate; this.useSpot = builder.useSpot; } @Override public final software.amazon.awscdk.services.gamelift.alpha.IBuild getContent() { return this.content; } @Override public final java.util.List getIngressRules() { return this.ingressRules; } @Override public final java.lang.String getFleetName() { return this.fleetName; } @Override public final software.amazon.awscdk.services.ec2.InstanceType getInstanceType() { return this.instanceType; } @Override public final software.amazon.awscdk.services.gamelift.alpha.RuntimeConfiguration getRuntimeConfiguration() { return this.runtimeConfiguration; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final java.lang.Number getDesiredCapacity() { return this.desiredCapacity; } @Override public final java.util.List getLocations() { return this.locations; } @Override public final java.lang.Number getMaxSize() { return this.maxSize; } @Override public final java.lang.String getMetricGroup() { return this.metricGroup; } @Override public final java.lang.Number getMinSize() { return this.minSize; } @Override public final software.amazon.awscdk.services.ec2.IVpc getPeerVpc() { return this.peerVpc; } @Override public final java.lang.Boolean getProtectNewGameSession() { return this.protectNewGameSession; } @Override public final software.amazon.awscdk.services.gamelift.alpha.ResourceCreationLimitPolicy getResourceCreationLimitPolicy() { return this.resourceCreationLimitPolicy; } @Override public final software.amazon.awscdk.services.iam.IRole getRole() { return this.role; } @Override public final java.lang.Boolean getUseCertificate() { return this.useCertificate; } @Override public final java.lang.Boolean getUseSpot() { return this.useSpot; } @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("content", om.valueToTree(this.getContent())); if (this.getIngressRules() != null) { data.set("ingressRules", om.valueToTree(this.getIngressRules())); } data.set("fleetName", om.valueToTree(this.getFleetName())); data.set("instanceType", om.valueToTree(this.getInstanceType())); data.set("runtimeConfiguration", om.valueToTree(this.getRuntimeConfiguration())); if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getDesiredCapacity() != null) { data.set("desiredCapacity", om.valueToTree(this.getDesiredCapacity())); } if (this.getLocations() != null) { data.set("locations", om.valueToTree(this.getLocations())); } if (this.getMaxSize() != null) { data.set("maxSize", om.valueToTree(this.getMaxSize())); } if (this.getMetricGroup() != null) { data.set("metricGroup", om.valueToTree(this.getMetricGroup())); } if (this.getMinSize() != null) { data.set("minSize", om.valueToTree(this.getMinSize())); } if (this.getPeerVpc() != null) { data.set("peerVpc", om.valueToTree(this.getPeerVpc())); } if (this.getProtectNewGameSession() != null) { data.set("protectNewGameSession", om.valueToTree(this.getProtectNewGameSession())); } if (this.getResourceCreationLimitPolicy() != null) { data.set("resourceCreationLimitPolicy", om.valueToTree(this.getResourceCreationLimitPolicy())); } if (this.getRole() != null) { data.set("role", om.valueToTree(this.getRole())); } if (this.getUseCertificate() != null) { data.set("useCertificate", om.valueToTree(this.getUseCertificate())); } if (this.getUseSpot() != null) { data.set("useSpot", om.valueToTree(this.getUseSpot())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@aws-cdk/aws-gamelift-alpha.BuildFleetProps")); 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; BuildFleetProps.Jsii$Proxy that = (BuildFleetProps.Jsii$Proxy) o; if (!content.equals(that.content)) return false; if (this.ingressRules != null ? !this.ingressRules.equals(that.ingressRules) : that.ingressRules != null) return false; if (!fleetName.equals(that.fleetName)) return false; if (!instanceType.equals(that.instanceType)) return false; if (!runtimeConfiguration.equals(that.runtimeConfiguration)) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.desiredCapacity != null ? !this.desiredCapacity.equals(that.desiredCapacity) : that.desiredCapacity != null) return false; if (this.locations != null ? !this.locations.equals(that.locations) : that.locations != null) return false; if (this.maxSize != null ? !this.maxSize.equals(that.maxSize) : that.maxSize != null) return false; if (this.metricGroup != null ? !this.metricGroup.equals(that.metricGroup) : that.metricGroup != null) return false; if (this.minSize != null ? !this.minSize.equals(that.minSize) : that.minSize != null) return false; if (this.peerVpc != null ? !this.peerVpc.equals(that.peerVpc) : that.peerVpc != null) return false; if (this.protectNewGameSession != null ? !this.protectNewGameSession.equals(that.protectNewGameSession) : that.protectNewGameSession != null) return false; if (this.resourceCreationLimitPolicy != null ? !this.resourceCreationLimitPolicy.equals(that.resourceCreationLimitPolicy) : that.resourceCreationLimitPolicy != null) return false; if (this.role != null ? !this.role.equals(that.role) : that.role != null) return false; if (this.useCertificate != null ? !this.useCertificate.equals(that.useCertificate) : that.useCertificate != null) return false; return this.useSpot != null ? this.useSpot.equals(that.useSpot) : that.useSpot == null; } @Override public final int hashCode() { int result = this.content.hashCode(); result = 31 * result + (this.ingressRules != null ? this.ingressRules.hashCode() : 0); result = 31 * result + (this.fleetName.hashCode()); result = 31 * result + (this.instanceType.hashCode()); result = 31 * result + (this.runtimeConfiguration.hashCode()); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.desiredCapacity != null ? this.desiredCapacity.hashCode() : 0); result = 31 * result + (this.locations != null ? this.locations.hashCode() : 0); result = 31 * result + (this.maxSize != null ? this.maxSize.hashCode() : 0); result = 31 * result + (this.metricGroup != null ? this.metricGroup.hashCode() : 0); result = 31 * result + (this.minSize != null ? this.minSize.hashCode() : 0); result = 31 * result + (this.peerVpc != null ? this.peerVpc.hashCode() : 0); result = 31 * result + (this.protectNewGameSession != null ? this.protectNewGameSession.hashCode() : 0); result = 31 * result + (this.resourceCreationLimitPolicy != null ? this.resourceCreationLimitPolicy.hashCode() : 0); result = 31 * result + (this.role != null ? this.role.hashCode() : 0); result = 31 * result + (this.useCertificate != null ? this.useCertificate.hashCode() : 0); result = 31 * result + (this.useSpot != null ? this.useSpot.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy