com.aliyun.ros.cdk.ecs.RosInstanceProps Maven / Gradle / Ivy
package com.aliyun.ros.cdk.ecs;
/**
* Properties for defining a RosInstance
.
*
* See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-instance
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-08-22T08:56:20.215Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.ecs.$Module.class, fqn = "@alicloud/ros-cdk-ecs.RosInstanceProps")
@software.amazon.jsii.Jsii.Proxy(RosInstanceProps.Jsii$Proxy.class)
public interface RosInstanceProps extends software.amazon.jsii.JsiiSerializable {
/**
*/
@org.jetbrains.annotations.NotNull java.lang.Object getInstanceType();
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getAffinity() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getAllocatePublicIp() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getAutoRenew() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getAutoRenewPeriod() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getCreditSpecification() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDedicatedHostId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDeletionProtection() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDeploymentSetGroupNo() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDeploymentSetId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDescription() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getDiskMappings() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getHostName() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getHpcClusterId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getHttpEndpoint() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getHttpTokens() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getImageFamily() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getImageId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceChargeType() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceName() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getInternetChargeType() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getInternetMaxBandwidthOut() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getIoOptimized() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getKeyPairName() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPassword() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPasswordInherit() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPeriod() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPeriodUnit() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPrivateIpAddress() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getPrivatePoolOptions() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getRamRoleName() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getResourceGroupId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityEnhancementStrategy() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityGroupId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityGroupIds() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSpotDuration() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSpotInterruptionBehavior() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSpotPriceLimit() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSpotStrategy() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getStorageSetId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getStorageSetPartitionNumber() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskCategory() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskDescription() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskDiskName() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskPerformanceLevel() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskSize() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.util.List getTags() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getTenancy() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getUseAdditionalService() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getUserData() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getVpcId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getVSwitchId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getZoneId() {
return null;
}
/**
*/
default @org.jetbrains.annotations.Nullable java.lang.Object getZoneIds() {
return null;
}
/**
* @return a {@link Builder} of {@link RosInstanceProps}
*/
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link RosInstanceProps}
*/
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object instanceType;
java.lang.Object affinity;
java.lang.Object allocatePublicIp;
java.lang.Object autoRenew;
java.lang.Object autoRenewPeriod;
java.lang.Object creditSpecification;
java.lang.Object dedicatedHostId;
java.lang.Object deletionProtection;
java.lang.Object deploymentSetGroupNo;
java.lang.Object deploymentSetId;
java.lang.Object description;
java.lang.Object diskMappings;
java.lang.Object hostName;
java.lang.Object hpcClusterId;
java.lang.Object httpEndpoint;
java.lang.Object httpTokens;
java.lang.Object imageFamily;
java.lang.Object imageId;
java.lang.Object instanceChargeType;
java.lang.Object instanceName;
java.lang.Object internetChargeType;
java.lang.Object internetMaxBandwidthOut;
java.lang.Object ioOptimized;
java.lang.Object keyPairName;
java.lang.Object password;
java.lang.Object passwordInherit;
java.lang.Object period;
java.lang.Object periodUnit;
java.lang.Object privateIpAddress;
java.lang.Object privatePoolOptions;
java.lang.Object ramRoleName;
java.lang.Object resourceGroupId;
java.lang.Object securityEnhancementStrategy;
java.lang.Object securityGroupId;
java.lang.Object securityGroupIds;
java.lang.Object spotDuration;
java.lang.Object spotInterruptionBehavior;
java.lang.Object spotPriceLimit;
java.lang.Object spotStrategy;
java.lang.Object storageSetId;
java.lang.Object storageSetPartitionNumber;
java.lang.Object systemDiskCategory;
java.lang.Object systemDiskDescription;
java.lang.Object systemDiskDiskName;
java.lang.Object systemDiskPerformanceLevel;
java.lang.Object systemDiskSize;
java.util.List tags;
java.lang.Object tenancy;
java.lang.Object useAdditionalService;
java.lang.Object userData;
java.lang.Object vpcId;
java.lang.Object vSwitchId;
java.lang.Object zoneId;
java.lang.Object zoneIds;
/**
* Sets the value of {@link RosInstanceProps#getInstanceType}
* @param instanceType the value to be set. This parameter is required.
* @return {@code this}
*/
public Builder instanceType(java.lang.String instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInstanceType}
* @param instanceType the value to be set. This parameter is required.
* @return {@code this}
*/
public Builder instanceType(com.aliyun.ros.cdk.core.IResolvable instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAffinity}
* @param affinity the value to be set.
* @return {@code this}
*/
public Builder affinity(java.lang.String affinity) {
this.affinity = affinity;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAffinity}
* @param affinity the value to be set.
* @return {@code this}
*/
public Builder affinity(com.aliyun.ros.cdk.core.IResolvable affinity) {
this.affinity = affinity;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAllocatePublicIp}
* @param allocatePublicIp the value to be set.
* @return {@code this}
*/
public Builder allocatePublicIp(java.lang.Boolean allocatePublicIp) {
this.allocatePublicIp = allocatePublicIp;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAllocatePublicIp}
* @param allocatePublicIp the value to be set.
* @return {@code this}
*/
public Builder allocatePublicIp(com.aliyun.ros.cdk.core.IResolvable allocatePublicIp) {
this.allocatePublicIp = allocatePublicIp;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAutoRenew}
* @param autoRenew the value to be set.
* @return {@code this}
*/
public Builder autoRenew(java.lang.String autoRenew) {
this.autoRenew = autoRenew;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAutoRenew}
* @param autoRenew the value to be set.
* @return {@code this}
*/
public Builder autoRenew(com.aliyun.ros.cdk.core.IResolvable autoRenew) {
this.autoRenew = autoRenew;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAutoRenewPeriod}
* @param autoRenewPeriod the value to be set.
* @return {@code this}
*/
public Builder autoRenewPeriod(java.lang.Number autoRenewPeriod) {
this.autoRenewPeriod = autoRenewPeriod;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getAutoRenewPeriod}
* @param autoRenewPeriod the value to be set.
* @return {@code this}
*/
public Builder autoRenewPeriod(com.aliyun.ros.cdk.core.IResolvable autoRenewPeriod) {
this.autoRenewPeriod = autoRenewPeriod;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getCreditSpecification}
* @param creditSpecification the value to be set.
* @return {@code this}
*/
public Builder creditSpecification(java.lang.String creditSpecification) {
this.creditSpecification = creditSpecification;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getCreditSpecification}
* @param creditSpecification the value to be set.
* @return {@code this}
*/
public Builder creditSpecification(com.aliyun.ros.cdk.core.IResolvable creditSpecification) {
this.creditSpecification = creditSpecification;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDedicatedHostId}
* @param dedicatedHostId the value to be set.
* @return {@code this}
*/
public Builder dedicatedHostId(java.lang.String dedicatedHostId) {
this.dedicatedHostId = dedicatedHostId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDedicatedHostId}
* @param dedicatedHostId the value to be set.
* @return {@code this}
*/
public Builder dedicatedHostId(com.aliyun.ros.cdk.core.IResolvable dedicatedHostId) {
this.dedicatedHostId = dedicatedHostId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeletionProtection}
* @param deletionProtection the value to be set.
* @return {@code this}
*/
public Builder deletionProtection(java.lang.Boolean deletionProtection) {
this.deletionProtection = deletionProtection;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeletionProtection}
* @param deletionProtection the value to be set.
* @return {@code this}
*/
public Builder deletionProtection(com.aliyun.ros.cdk.core.IResolvable deletionProtection) {
this.deletionProtection = deletionProtection;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeploymentSetGroupNo}
* @param deploymentSetGroupNo the value to be set.
* @return {@code this}
*/
public Builder deploymentSetGroupNo(java.lang.Number deploymentSetGroupNo) {
this.deploymentSetGroupNo = deploymentSetGroupNo;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeploymentSetGroupNo}
* @param deploymentSetGroupNo the value to be set.
* @return {@code this}
*/
public Builder deploymentSetGroupNo(com.aliyun.ros.cdk.core.IResolvable deploymentSetGroupNo) {
this.deploymentSetGroupNo = deploymentSetGroupNo;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeploymentSetId}
* @param deploymentSetId the value to be set.
* @return {@code this}
*/
public Builder deploymentSetId(java.lang.String deploymentSetId) {
this.deploymentSetId = deploymentSetId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDeploymentSetId}
* @param deploymentSetId the value to be set.
* @return {@code this}
*/
public Builder deploymentSetId(com.aliyun.ros.cdk.core.IResolvable deploymentSetId) {
this.deploymentSetId = deploymentSetId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDescription}
* @param description the value to be set.
* @return {@code this}
*/
public Builder description(java.lang.String description) {
this.description = description;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDescription}
* @param description the value to be set.
* @return {@code this}
*/
public Builder description(com.aliyun.ros.cdk.core.IResolvable description) {
this.description = description;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDiskMappings}
* @param diskMappings the value to be set.
* @return {@code this}
*/
public Builder diskMappings(com.aliyun.ros.cdk.core.IResolvable diskMappings) {
this.diskMappings = diskMappings;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getDiskMappings}
* @param diskMappings the value to be set.
* @return {@code this}
*/
public Builder diskMappings(java.util.List extends java.lang.Object> diskMappings) {
this.diskMappings = diskMappings;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHostName}
* @param hostName the value to be set.
* @return {@code this}
*/
public Builder hostName(java.lang.String hostName) {
this.hostName = hostName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHostName}
* @param hostName the value to be set.
* @return {@code this}
*/
public Builder hostName(com.aliyun.ros.cdk.core.IResolvable hostName) {
this.hostName = hostName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHpcClusterId}
* @param hpcClusterId the value to be set.
* @return {@code this}
*/
public Builder hpcClusterId(java.lang.String hpcClusterId) {
this.hpcClusterId = hpcClusterId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHpcClusterId}
* @param hpcClusterId the value to be set.
* @return {@code this}
*/
public Builder hpcClusterId(com.aliyun.ros.cdk.core.IResolvable hpcClusterId) {
this.hpcClusterId = hpcClusterId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHttpEndpoint}
* @param httpEndpoint the value to be set.
* @return {@code this}
*/
public Builder httpEndpoint(java.lang.String httpEndpoint) {
this.httpEndpoint = httpEndpoint;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHttpEndpoint}
* @param httpEndpoint the value to be set.
* @return {@code this}
*/
public Builder httpEndpoint(com.aliyun.ros.cdk.core.IResolvable httpEndpoint) {
this.httpEndpoint = httpEndpoint;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHttpTokens}
* @param httpTokens the value to be set.
* @return {@code this}
*/
public Builder httpTokens(java.lang.String httpTokens) {
this.httpTokens = httpTokens;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getHttpTokens}
* @param httpTokens the value to be set.
* @return {@code this}
*/
public Builder httpTokens(com.aliyun.ros.cdk.core.IResolvable httpTokens) {
this.httpTokens = httpTokens;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getImageFamily}
* @param imageFamily the value to be set.
* @return {@code this}
*/
public Builder imageFamily(java.lang.String imageFamily) {
this.imageFamily = imageFamily;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getImageFamily}
* @param imageFamily the value to be set.
* @return {@code this}
*/
public Builder imageFamily(com.aliyun.ros.cdk.core.IResolvable imageFamily) {
this.imageFamily = imageFamily;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getImageId}
* @param imageId the value to be set.
* @return {@code this}
*/
public Builder imageId(java.lang.String imageId) {
this.imageId = imageId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getImageId}
* @param imageId the value to be set.
* @return {@code this}
*/
public Builder imageId(com.aliyun.ros.cdk.core.IResolvable imageId) {
this.imageId = imageId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInstanceChargeType}
* @param instanceChargeType the value to be set.
* @return {@code this}
*/
public Builder instanceChargeType(java.lang.String instanceChargeType) {
this.instanceChargeType = instanceChargeType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInstanceChargeType}
* @param instanceChargeType the value to be set.
* @return {@code this}
*/
public Builder instanceChargeType(com.aliyun.ros.cdk.core.IResolvable instanceChargeType) {
this.instanceChargeType = instanceChargeType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInstanceName}
* @param instanceName the value to be set.
* @return {@code this}
*/
public Builder instanceName(java.lang.String instanceName) {
this.instanceName = instanceName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInstanceName}
* @param instanceName the value to be set.
* @return {@code this}
*/
public Builder instanceName(com.aliyun.ros.cdk.core.IResolvable instanceName) {
this.instanceName = instanceName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInternetChargeType}
* @param internetChargeType the value to be set.
* @return {@code this}
*/
public Builder internetChargeType(java.lang.String internetChargeType) {
this.internetChargeType = internetChargeType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInternetChargeType}
* @param internetChargeType the value to be set.
* @return {@code this}
*/
public Builder internetChargeType(com.aliyun.ros.cdk.core.IResolvable internetChargeType) {
this.internetChargeType = internetChargeType;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInternetMaxBandwidthOut}
* @param internetMaxBandwidthOut the value to be set.
* @return {@code this}
*/
public Builder internetMaxBandwidthOut(java.lang.Number internetMaxBandwidthOut) {
this.internetMaxBandwidthOut = internetMaxBandwidthOut;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getInternetMaxBandwidthOut}
* @param internetMaxBandwidthOut the value to be set.
* @return {@code this}
*/
public Builder internetMaxBandwidthOut(com.aliyun.ros.cdk.core.IResolvable internetMaxBandwidthOut) {
this.internetMaxBandwidthOut = internetMaxBandwidthOut;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getIoOptimized}
* @param ioOptimized the value to be set.
* @return {@code this}
*/
public Builder ioOptimized(java.lang.String ioOptimized) {
this.ioOptimized = ioOptimized;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getIoOptimized}
* @param ioOptimized the value to be set.
* @return {@code this}
*/
public Builder ioOptimized(com.aliyun.ros.cdk.core.IResolvable ioOptimized) {
this.ioOptimized = ioOptimized;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getKeyPairName}
* @param keyPairName the value to be set.
* @return {@code this}
*/
public Builder keyPairName(java.lang.String keyPairName) {
this.keyPairName = keyPairName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getKeyPairName}
* @param keyPairName the value to be set.
* @return {@code this}
*/
public Builder keyPairName(com.aliyun.ros.cdk.core.IResolvable keyPairName) {
this.keyPairName = keyPairName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPassword}
* @param password the value to be set.
* @return {@code this}
*/
public Builder password(java.lang.String password) {
this.password = password;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPassword}
* @param password the value to be set.
* @return {@code this}
*/
public Builder password(com.aliyun.ros.cdk.core.IResolvable password) {
this.password = password;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPasswordInherit}
* @param passwordInherit the value to be set.
* @return {@code this}
*/
public Builder passwordInherit(java.lang.Boolean passwordInherit) {
this.passwordInherit = passwordInherit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPasswordInherit}
* @param passwordInherit the value to be set.
* @return {@code this}
*/
public Builder passwordInherit(com.aliyun.ros.cdk.core.IResolvable passwordInherit) {
this.passwordInherit = passwordInherit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPeriod}
* @param period the value to be set.
* @return {@code this}
*/
public Builder period(java.lang.Number period) {
this.period = period;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPeriod}
* @param period the value to be set.
* @return {@code this}
*/
public Builder period(com.aliyun.ros.cdk.core.IResolvable period) {
this.period = period;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPeriodUnit}
* @param periodUnit the value to be set.
* @return {@code this}
*/
public Builder periodUnit(java.lang.String periodUnit) {
this.periodUnit = periodUnit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPeriodUnit}
* @param periodUnit the value to be set.
* @return {@code this}
*/
public Builder periodUnit(com.aliyun.ros.cdk.core.IResolvable periodUnit) {
this.periodUnit = periodUnit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPrivateIpAddress}
* @param privateIpAddress the value to be set.
* @return {@code this}
*/
public Builder privateIpAddress(java.lang.String privateIpAddress) {
this.privateIpAddress = privateIpAddress;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPrivateIpAddress}
* @param privateIpAddress the value to be set.
* @return {@code this}
*/
public Builder privateIpAddress(com.aliyun.ros.cdk.core.IResolvable privateIpAddress) {
this.privateIpAddress = privateIpAddress;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPrivatePoolOptions}
* @param privatePoolOptions the value to be set.
* @return {@code this}
*/
public Builder privatePoolOptions(com.aliyun.ros.cdk.core.IResolvable privatePoolOptions) {
this.privatePoolOptions = privatePoolOptions;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getPrivatePoolOptions}
* @param privatePoolOptions the value to be set.
* @return {@code this}
*/
public Builder privatePoolOptions(com.aliyun.ros.cdk.ecs.RosInstance.PrivatePoolOptionsProperty privatePoolOptions) {
this.privatePoolOptions = privatePoolOptions;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getRamRoleName}
* @param ramRoleName the value to be set.
* @return {@code this}
*/
public Builder ramRoleName(java.lang.String ramRoleName) {
this.ramRoleName = ramRoleName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getRamRoleName}
* @param ramRoleName the value to be set.
* @return {@code this}
*/
public Builder ramRoleName(com.aliyun.ros.cdk.core.IResolvable ramRoleName) {
this.ramRoleName = ramRoleName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getResourceGroupId}
* @param resourceGroupId the value to be set.
* @return {@code this}
*/
public Builder resourceGroupId(java.lang.String resourceGroupId) {
this.resourceGroupId = resourceGroupId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getResourceGroupId}
* @param resourceGroupId the value to be set.
* @return {@code this}
*/
public Builder resourceGroupId(com.aliyun.ros.cdk.core.IResolvable resourceGroupId) {
this.resourceGroupId = resourceGroupId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityEnhancementStrategy}
* @param securityEnhancementStrategy the value to be set.
* @return {@code this}
*/
public Builder securityEnhancementStrategy(java.lang.String securityEnhancementStrategy) {
this.securityEnhancementStrategy = securityEnhancementStrategy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityEnhancementStrategy}
* @param securityEnhancementStrategy the value to be set.
* @return {@code this}
*/
public Builder securityEnhancementStrategy(com.aliyun.ros.cdk.core.IResolvable securityEnhancementStrategy) {
this.securityEnhancementStrategy = securityEnhancementStrategy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityGroupId}
* @param securityGroupId the value to be set.
* @return {@code this}
*/
public Builder securityGroupId(java.lang.String securityGroupId) {
this.securityGroupId = securityGroupId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityGroupId}
* @param securityGroupId the value to be set.
* @return {@code this}
*/
public Builder securityGroupId(com.aliyun.ros.cdk.core.IResolvable securityGroupId) {
this.securityGroupId = securityGroupId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityGroupIds}
* @param securityGroupIds the value to be set.
* @return {@code this}
*/
public Builder securityGroupIds(com.aliyun.ros.cdk.core.IResolvable securityGroupIds) {
this.securityGroupIds = securityGroupIds;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSecurityGroupIds}
* @param securityGroupIds the value to be set.
* @return {@code this}
*/
public Builder securityGroupIds(java.util.List extends java.lang.Object> securityGroupIds) {
this.securityGroupIds = securityGroupIds;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotDuration}
* @param spotDuration the value to be set.
* @return {@code this}
*/
public Builder spotDuration(java.lang.Number spotDuration) {
this.spotDuration = spotDuration;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotDuration}
* @param spotDuration the value to be set.
* @return {@code this}
*/
public Builder spotDuration(com.aliyun.ros.cdk.core.IResolvable spotDuration) {
this.spotDuration = spotDuration;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotInterruptionBehavior}
* @param spotInterruptionBehavior the value to be set.
* @return {@code this}
*/
public Builder spotInterruptionBehavior(java.lang.String spotInterruptionBehavior) {
this.spotInterruptionBehavior = spotInterruptionBehavior;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotInterruptionBehavior}
* @param spotInterruptionBehavior the value to be set.
* @return {@code this}
*/
public Builder spotInterruptionBehavior(com.aliyun.ros.cdk.core.IResolvable spotInterruptionBehavior) {
this.spotInterruptionBehavior = spotInterruptionBehavior;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotPriceLimit}
* @param spotPriceLimit the value to be set.
* @return {@code this}
*/
public Builder spotPriceLimit(java.lang.String spotPriceLimit) {
this.spotPriceLimit = spotPriceLimit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotPriceLimit}
* @param spotPriceLimit the value to be set.
* @return {@code this}
*/
public Builder spotPriceLimit(com.aliyun.ros.cdk.core.IResolvable spotPriceLimit) {
this.spotPriceLimit = spotPriceLimit;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotStrategy}
* @param spotStrategy the value to be set.
* @return {@code this}
*/
public Builder spotStrategy(java.lang.String spotStrategy) {
this.spotStrategy = spotStrategy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSpotStrategy}
* @param spotStrategy the value to be set.
* @return {@code this}
*/
public Builder spotStrategy(com.aliyun.ros.cdk.core.IResolvable spotStrategy) {
this.spotStrategy = spotStrategy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getStorageSetId}
* @param storageSetId the value to be set.
* @return {@code this}
*/
public Builder storageSetId(java.lang.String storageSetId) {
this.storageSetId = storageSetId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getStorageSetId}
* @param storageSetId the value to be set.
* @return {@code this}
*/
public Builder storageSetId(com.aliyun.ros.cdk.core.IResolvable storageSetId) {
this.storageSetId = storageSetId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getStorageSetPartitionNumber}
* @param storageSetPartitionNumber the value to be set.
* @return {@code this}
*/
public Builder storageSetPartitionNumber(java.lang.Number storageSetPartitionNumber) {
this.storageSetPartitionNumber = storageSetPartitionNumber;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getStorageSetPartitionNumber}
* @param storageSetPartitionNumber the value to be set.
* @return {@code this}
*/
public Builder storageSetPartitionNumber(com.aliyun.ros.cdk.core.IResolvable storageSetPartitionNumber) {
this.storageSetPartitionNumber = storageSetPartitionNumber;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskCategory}
* @param systemDiskCategory the value to be set.
* @return {@code this}
*/
public Builder systemDiskCategory(java.lang.String systemDiskCategory) {
this.systemDiskCategory = systemDiskCategory;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskCategory}
* @param systemDiskCategory the value to be set.
* @return {@code this}
*/
public Builder systemDiskCategory(com.aliyun.ros.cdk.core.IResolvable systemDiskCategory) {
this.systemDiskCategory = systemDiskCategory;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskDescription}
* @param systemDiskDescription the value to be set.
* @return {@code this}
*/
public Builder systemDiskDescription(java.lang.String systemDiskDescription) {
this.systemDiskDescription = systemDiskDescription;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskDescription}
* @param systemDiskDescription the value to be set.
* @return {@code this}
*/
public Builder systemDiskDescription(com.aliyun.ros.cdk.core.IResolvable systemDiskDescription) {
this.systemDiskDescription = systemDiskDescription;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskDiskName}
* @param systemDiskDiskName the value to be set.
* @return {@code this}
*/
public Builder systemDiskDiskName(java.lang.String systemDiskDiskName) {
this.systemDiskDiskName = systemDiskDiskName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskDiskName}
* @param systemDiskDiskName the value to be set.
* @return {@code this}
*/
public Builder systemDiskDiskName(com.aliyun.ros.cdk.core.IResolvable systemDiskDiskName) {
this.systemDiskDiskName = systemDiskDiskName;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskPerformanceLevel}
* @param systemDiskPerformanceLevel the value to be set.
* @return {@code this}
*/
public Builder systemDiskPerformanceLevel(java.lang.String systemDiskPerformanceLevel) {
this.systemDiskPerformanceLevel = systemDiskPerformanceLevel;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskPerformanceLevel}
* @param systemDiskPerformanceLevel the value to be set.
* @return {@code this}
*/
public Builder systemDiskPerformanceLevel(com.aliyun.ros.cdk.core.IResolvable systemDiskPerformanceLevel) {
this.systemDiskPerformanceLevel = systemDiskPerformanceLevel;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskSize}
* @param systemDiskSize the value to be set.
* @return {@code this}
*/
public Builder systemDiskSize(java.lang.Number systemDiskSize) {
this.systemDiskSize = systemDiskSize;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getSystemDiskSize}
* @param systemDiskSize the value to be set.
* @return {@code this}
*/
public Builder systemDiskSize(com.aliyun.ros.cdk.core.IResolvable systemDiskSize) {
this.systemDiskSize = systemDiskSize;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getTags}
* @param tags the value to be set.
* @return {@code this}
*/
@SuppressWarnings("unchecked")
public Builder tags(java.util.List extends com.aliyun.ros.cdk.ecs.RosInstance.TagsProperty> tags) {
this.tags = (java.util.List)tags;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getTenancy}
* @param tenancy the value to be set.
* @return {@code this}
*/
public Builder tenancy(java.lang.String tenancy) {
this.tenancy = tenancy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getTenancy}
* @param tenancy the value to be set.
* @return {@code this}
*/
public Builder tenancy(com.aliyun.ros.cdk.core.IResolvable tenancy) {
this.tenancy = tenancy;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getUseAdditionalService}
* @param useAdditionalService the value to be set.
* @return {@code this}
*/
public Builder useAdditionalService(java.lang.Boolean useAdditionalService) {
this.useAdditionalService = useAdditionalService;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getUseAdditionalService}
* @param useAdditionalService the value to be set.
* @return {@code this}
*/
public Builder useAdditionalService(com.aliyun.ros.cdk.core.IResolvable useAdditionalService) {
this.useAdditionalService = useAdditionalService;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getUserData}
* @param userData the value to be set.
* @return {@code this}
*/
public Builder userData(java.lang.String userData) {
this.userData = userData;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getUserData}
* @param userData the value to be set.
* @return {@code this}
*/
public Builder userData(com.aliyun.ros.cdk.core.IResolvable userData) {
this.userData = userData;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getVpcId}
* @param vpcId the value to be set.
* @return {@code this}
*/
public Builder vpcId(java.lang.String vpcId) {
this.vpcId = vpcId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getVpcId}
* @param vpcId the value to be set.
* @return {@code this}
*/
public Builder vpcId(com.aliyun.ros.cdk.core.IResolvable vpcId) {
this.vpcId = vpcId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getVSwitchId}
* @param vSwitchId the value to be set.
* @return {@code this}
*/
public Builder vSwitchId(java.lang.String vSwitchId) {
this.vSwitchId = vSwitchId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getVSwitchId}
* @param vSwitchId the value to be set.
* @return {@code this}
*/
public Builder vSwitchId(com.aliyun.ros.cdk.core.IResolvable vSwitchId) {
this.vSwitchId = vSwitchId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getZoneId}
* @param zoneId the value to be set.
* @return {@code this}
*/
public Builder zoneId(java.lang.String zoneId) {
this.zoneId = zoneId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getZoneId}
* @param zoneId the value to be set.
* @return {@code this}
*/
public Builder zoneId(com.aliyun.ros.cdk.core.IResolvable zoneId) {
this.zoneId = zoneId;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getZoneIds}
* @param zoneIds the value to be set.
* @return {@code this}
*/
public Builder zoneIds(com.aliyun.ros.cdk.core.IResolvable zoneIds) {
this.zoneIds = zoneIds;
return this;
}
/**
* Sets the value of {@link RosInstanceProps#getZoneIds}
* @param zoneIds the value to be set.
* @return {@code this}
*/
public Builder zoneIds(java.util.List extends java.lang.Object> zoneIds) {
this.zoneIds = zoneIds;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link RosInstanceProps}
* @throws NullPointerException if any required attribute was not provided
*/
@Override
public RosInstanceProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link RosInstanceProps}
*/
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RosInstanceProps {
private final java.lang.Object instanceType;
private final java.lang.Object affinity;
private final java.lang.Object allocatePublicIp;
private final java.lang.Object autoRenew;
private final java.lang.Object autoRenewPeriod;
private final java.lang.Object creditSpecification;
private final java.lang.Object dedicatedHostId;
private final java.lang.Object deletionProtection;
private final java.lang.Object deploymentSetGroupNo;
private final java.lang.Object deploymentSetId;
private final java.lang.Object description;
private final java.lang.Object diskMappings;
private final java.lang.Object hostName;
private final java.lang.Object hpcClusterId;
private final java.lang.Object httpEndpoint;
private final java.lang.Object httpTokens;
private final java.lang.Object imageFamily;
private final java.lang.Object imageId;
private final java.lang.Object instanceChargeType;
private final java.lang.Object instanceName;
private final java.lang.Object internetChargeType;
private final java.lang.Object internetMaxBandwidthOut;
private final java.lang.Object ioOptimized;
private final java.lang.Object keyPairName;
private final java.lang.Object password;
private final java.lang.Object passwordInherit;
private final java.lang.Object period;
private final java.lang.Object periodUnit;
private final java.lang.Object privateIpAddress;
private final java.lang.Object privatePoolOptions;
private final java.lang.Object ramRoleName;
private final java.lang.Object resourceGroupId;
private final java.lang.Object securityEnhancementStrategy;
private final java.lang.Object securityGroupId;
private final java.lang.Object securityGroupIds;
private final java.lang.Object spotDuration;
private final java.lang.Object spotInterruptionBehavior;
private final java.lang.Object spotPriceLimit;
private final java.lang.Object spotStrategy;
private final java.lang.Object storageSetId;
private final java.lang.Object storageSetPartitionNumber;
private final java.lang.Object systemDiskCategory;
private final java.lang.Object systemDiskDescription;
private final java.lang.Object systemDiskDiskName;
private final java.lang.Object systemDiskPerformanceLevel;
private final java.lang.Object systemDiskSize;
private final java.util.List tags;
private final java.lang.Object tenancy;
private final java.lang.Object useAdditionalService;
private final java.lang.Object userData;
private final java.lang.Object vpcId;
private final java.lang.Object vSwitchId;
private final java.lang.Object zoneId;
private final java.lang.Object zoneIds;
/**
* 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.instanceType = software.amazon.jsii.Kernel.get(this, "instanceType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.affinity = software.amazon.jsii.Kernel.get(this, "affinity", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.allocatePublicIp = software.amazon.jsii.Kernel.get(this, "allocatePublicIp", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.autoRenew = software.amazon.jsii.Kernel.get(this, "autoRenew", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.autoRenewPeriod = software.amazon.jsii.Kernel.get(this, "autoRenewPeriod", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.creditSpecification = software.amazon.jsii.Kernel.get(this, "creditSpecification", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.dedicatedHostId = software.amazon.jsii.Kernel.get(this, "dedicatedHostId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.deletionProtection = software.amazon.jsii.Kernel.get(this, "deletionProtection", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.deploymentSetGroupNo = software.amazon.jsii.Kernel.get(this, "deploymentSetGroupNo", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.deploymentSetId = software.amazon.jsii.Kernel.get(this, "deploymentSetId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.diskMappings = software.amazon.jsii.Kernel.get(this, "diskMappings", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.hostName = software.amazon.jsii.Kernel.get(this, "hostName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.hpcClusterId = software.amazon.jsii.Kernel.get(this, "hpcClusterId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.httpEndpoint = software.amazon.jsii.Kernel.get(this, "httpEndpoint", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.httpTokens = software.amazon.jsii.Kernel.get(this, "httpTokens", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.imageFamily = software.amazon.jsii.Kernel.get(this, "imageFamily", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.imageId = software.amazon.jsii.Kernel.get(this, "imageId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.instanceChargeType = software.amazon.jsii.Kernel.get(this, "instanceChargeType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.instanceName = software.amazon.jsii.Kernel.get(this, "instanceName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.internetChargeType = software.amazon.jsii.Kernel.get(this, "internetChargeType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.internetMaxBandwidthOut = software.amazon.jsii.Kernel.get(this, "internetMaxBandwidthOut", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.ioOptimized = software.amazon.jsii.Kernel.get(this, "ioOptimized", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.keyPairName = software.amazon.jsii.Kernel.get(this, "keyPairName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.password = software.amazon.jsii.Kernel.get(this, "password", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.passwordInherit = software.amazon.jsii.Kernel.get(this, "passwordInherit", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.period = software.amazon.jsii.Kernel.get(this, "period", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.periodUnit = software.amazon.jsii.Kernel.get(this, "periodUnit", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.privateIpAddress = software.amazon.jsii.Kernel.get(this, "privateIpAddress", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.privatePoolOptions = software.amazon.jsii.Kernel.get(this, "privatePoolOptions", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.ramRoleName = software.amazon.jsii.Kernel.get(this, "ramRoleName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.resourceGroupId = software.amazon.jsii.Kernel.get(this, "resourceGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.securityEnhancementStrategy = software.amazon.jsii.Kernel.get(this, "securityEnhancementStrategy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.securityGroupId = software.amazon.jsii.Kernel.get(this, "securityGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.securityGroupIds = software.amazon.jsii.Kernel.get(this, "securityGroupIds", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.spotDuration = software.amazon.jsii.Kernel.get(this, "spotDuration", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.spotInterruptionBehavior = software.amazon.jsii.Kernel.get(this, "spotInterruptionBehavior", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.spotPriceLimit = software.amazon.jsii.Kernel.get(this, "spotPriceLimit", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.spotStrategy = software.amazon.jsii.Kernel.get(this, "spotStrategy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.storageSetId = software.amazon.jsii.Kernel.get(this, "storageSetId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.storageSetPartitionNumber = software.amazon.jsii.Kernel.get(this, "storageSetPartitionNumber", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.systemDiskCategory = software.amazon.jsii.Kernel.get(this, "systemDiskCategory", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.systemDiskDescription = software.amazon.jsii.Kernel.get(this, "systemDiskDescription", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.systemDiskDiskName = software.amazon.jsii.Kernel.get(this, "systemDiskDiskName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.systemDiskPerformanceLevel = software.amazon.jsii.Kernel.get(this, "systemDiskPerformanceLevel", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.systemDiskSize = software.amazon.jsii.Kernel.get(this, "systemDiskSize", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.ecs.RosInstance.TagsProperty.class)));
this.tenancy = software.amazon.jsii.Kernel.get(this, "tenancy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.useAdditionalService = software.amazon.jsii.Kernel.get(this, "useAdditionalService", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.userData = software.amazon.jsii.Kernel.get(this, "userData", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.vpcId = software.amazon.jsii.Kernel.get(this, "vpcId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.vSwitchId = software.amazon.jsii.Kernel.get(this, "vSwitchId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.zoneId = software.amazon.jsii.Kernel.get(this, "zoneId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.zoneIds = software.amazon.jsii.Kernel.get(this, "zoneIds", software.amazon.jsii.NativeType.forClass(java.lang.Object.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.instanceType = java.util.Objects.requireNonNull(builder.instanceType, "instanceType is required");
this.affinity = builder.affinity;
this.allocatePublicIp = builder.allocatePublicIp;
this.autoRenew = builder.autoRenew;
this.autoRenewPeriod = builder.autoRenewPeriod;
this.creditSpecification = builder.creditSpecification;
this.dedicatedHostId = builder.dedicatedHostId;
this.deletionProtection = builder.deletionProtection;
this.deploymentSetGroupNo = builder.deploymentSetGroupNo;
this.deploymentSetId = builder.deploymentSetId;
this.description = builder.description;
this.diskMappings = builder.diskMappings;
this.hostName = builder.hostName;
this.hpcClusterId = builder.hpcClusterId;
this.httpEndpoint = builder.httpEndpoint;
this.httpTokens = builder.httpTokens;
this.imageFamily = builder.imageFamily;
this.imageId = builder.imageId;
this.instanceChargeType = builder.instanceChargeType;
this.instanceName = builder.instanceName;
this.internetChargeType = builder.internetChargeType;
this.internetMaxBandwidthOut = builder.internetMaxBandwidthOut;
this.ioOptimized = builder.ioOptimized;
this.keyPairName = builder.keyPairName;
this.password = builder.password;
this.passwordInherit = builder.passwordInherit;
this.period = builder.period;
this.periodUnit = builder.periodUnit;
this.privateIpAddress = builder.privateIpAddress;
this.privatePoolOptions = builder.privatePoolOptions;
this.ramRoleName = builder.ramRoleName;
this.resourceGroupId = builder.resourceGroupId;
this.securityEnhancementStrategy = builder.securityEnhancementStrategy;
this.securityGroupId = builder.securityGroupId;
this.securityGroupIds = builder.securityGroupIds;
this.spotDuration = builder.spotDuration;
this.spotInterruptionBehavior = builder.spotInterruptionBehavior;
this.spotPriceLimit = builder.spotPriceLimit;
this.spotStrategy = builder.spotStrategy;
this.storageSetId = builder.storageSetId;
this.storageSetPartitionNumber = builder.storageSetPartitionNumber;
this.systemDiskCategory = builder.systemDiskCategory;
this.systemDiskDescription = builder.systemDiskDescription;
this.systemDiskDiskName = builder.systemDiskDiskName;
this.systemDiskPerformanceLevel = builder.systemDiskPerformanceLevel;
this.systemDiskSize = builder.systemDiskSize;
this.tags = (java.util.List)builder.tags;
this.tenancy = builder.tenancy;
this.useAdditionalService = builder.useAdditionalService;
this.userData = builder.userData;
this.vpcId = builder.vpcId;
this.vSwitchId = builder.vSwitchId;
this.zoneId = builder.zoneId;
this.zoneIds = builder.zoneIds;
}
@Override
public final java.lang.Object getInstanceType() {
return this.instanceType;
}
@Override
public final java.lang.Object getAffinity() {
return this.affinity;
}
@Override
public final java.lang.Object getAllocatePublicIp() {
return this.allocatePublicIp;
}
@Override
public final java.lang.Object getAutoRenew() {
return this.autoRenew;
}
@Override
public final java.lang.Object getAutoRenewPeriod() {
return this.autoRenewPeriod;
}
@Override
public final java.lang.Object getCreditSpecification() {
return this.creditSpecification;
}
@Override
public final java.lang.Object getDedicatedHostId() {
return this.dedicatedHostId;
}
@Override
public final java.lang.Object getDeletionProtection() {
return this.deletionProtection;
}
@Override
public final java.lang.Object getDeploymentSetGroupNo() {
return this.deploymentSetGroupNo;
}
@Override
public final java.lang.Object getDeploymentSetId() {
return this.deploymentSetId;
}
@Override
public final java.lang.Object getDescription() {
return this.description;
}
@Override
public final java.lang.Object getDiskMappings() {
return this.diskMappings;
}
@Override
public final java.lang.Object getHostName() {
return this.hostName;
}
@Override
public final java.lang.Object getHpcClusterId() {
return this.hpcClusterId;
}
@Override
public final java.lang.Object getHttpEndpoint() {
return this.httpEndpoint;
}
@Override
public final java.lang.Object getHttpTokens() {
return this.httpTokens;
}
@Override
public final java.lang.Object getImageFamily() {
return this.imageFamily;
}
@Override
public final java.lang.Object getImageId() {
return this.imageId;
}
@Override
public final java.lang.Object getInstanceChargeType() {
return this.instanceChargeType;
}
@Override
public final java.lang.Object getInstanceName() {
return this.instanceName;
}
@Override
public final java.lang.Object getInternetChargeType() {
return this.internetChargeType;
}
@Override
public final java.lang.Object getInternetMaxBandwidthOut() {
return this.internetMaxBandwidthOut;
}
@Override
public final java.lang.Object getIoOptimized() {
return this.ioOptimized;
}
@Override
public final java.lang.Object getKeyPairName() {
return this.keyPairName;
}
@Override
public final java.lang.Object getPassword() {
return this.password;
}
@Override
public final java.lang.Object getPasswordInherit() {
return this.passwordInherit;
}
@Override
public final java.lang.Object getPeriod() {
return this.period;
}
@Override
public final java.lang.Object getPeriodUnit() {
return this.periodUnit;
}
@Override
public final java.lang.Object getPrivateIpAddress() {
return this.privateIpAddress;
}
@Override
public final java.lang.Object getPrivatePoolOptions() {
return this.privatePoolOptions;
}
@Override
public final java.lang.Object getRamRoleName() {
return this.ramRoleName;
}
@Override
public final java.lang.Object getResourceGroupId() {
return this.resourceGroupId;
}
@Override
public final java.lang.Object getSecurityEnhancementStrategy() {
return this.securityEnhancementStrategy;
}
@Override
public final java.lang.Object getSecurityGroupId() {
return this.securityGroupId;
}
@Override
public final java.lang.Object getSecurityGroupIds() {
return this.securityGroupIds;
}
@Override
public final java.lang.Object getSpotDuration() {
return this.spotDuration;
}
@Override
public final java.lang.Object getSpotInterruptionBehavior() {
return this.spotInterruptionBehavior;
}
@Override
public final java.lang.Object getSpotPriceLimit() {
return this.spotPriceLimit;
}
@Override
public final java.lang.Object getSpotStrategy() {
return this.spotStrategy;
}
@Override
public final java.lang.Object getStorageSetId() {
return this.storageSetId;
}
@Override
public final java.lang.Object getStorageSetPartitionNumber() {
return this.storageSetPartitionNumber;
}
@Override
public final java.lang.Object getSystemDiskCategory() {
return this.systemDiskCategory;
}
@Override
public final java.lang.Object getSystemDiskDescription() {
return this.systemDiskDescription;
}
@Override
public final java.lang.Object getSystemDiskDiskName() {
return this.systemDiskDiskName;
}
@Override
public final java.lang.Object getSystemDiskPerformanceLevel() {
return this.systemDiskPerformanceLevel;
}
@Override
public final java.lang.Object getSystemDiskSize() {
return this.systemDiskSize;
}
@Override
public final java.util.List getTags() {
return this.tags;
}
@Override
public final java.lang.Object getTenancy() {
return this.tenancy;
}
@Override
public final java.lang.Object getUseAdditionalService() {
return this.useAdditionalService;
}
@Override
public final java.lang.Object getUserData() {
return this.userData;
}
@Override
public final java.lang.Object getVpcId() {
return this.vpcId;
}
@Override
public final java.lang.Object getVSwitchId() {
return this.vSwitchId;
}
@Override
public final java.lang.Object getZoneId() {
return this.zoneId;
}
@Override
public final java.lang.Object getZoneIds() {
return this.zoneIds;
}
@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("instanceType", om.valueToTree(this.getInstanceType()));
if (this.getAffinity() != null) {
data.set("affinity", om.valueToTree(this.getAffinity()));
}
if (this.getAllocatePublicIp() != null) {
data.set("allocatePublicIp", om.valueToTree(this.getAllocatePublicIp()));
}
if (this.getAutoRenew() != null) {
data.set("autoRenew", om.valueToTree(this.getAutoRenew()));
}
if (this.getAutoRenewPeriod() != null) {
data.set("autoRenewPeriod", om.valueToTree(this.getAutoRenewPeriod()));
}
if (this.getCreditSpecification() != null) {
data.set("creditSpecification", om.valueToTree(this.getCreditSpecification()));
}
if (this.getDedicatedHostId() != null) {
data.set("dedicatedHostId", om.valueToTree(this.getDedicatedHostId()));
}
if (this.getDeletionProtection() != null) {
data.set("deletionProtection", om.valueToTree(this.getDeletionProtection()));
}
if (this.getDeploymentSetGroupNo() != null) {
data.set("deploymentSetGroupNo", om.valueToTree(this.getDeploymentSetGroupNo()));
}
if (this.getDeploymentSetId() != null) {
data.set("deploymentSetId", om.valueToTree(this.getDeploymentSetId()));
}
if (this.getDescription() != null) {
data.set("description", om.valueToTree(this.getDescription()));
}
if (this.getDiskMappings() != null) {
data.set("diskMappings", om.valueToTree(this.getDiskMappings()));
}
if (this.getHostName() != null) {
data.set("hostName", om.valueToTree(this.getHostName()));
}
if (this.getHpcClusterId() != null) {
data.set("hpcClusterId", om.valueToTree(this.getHpcClusterId()));
}
if (this.getHttpEndpoint() != null) {
data.set("httpEndpoint", om.valueToTree(this.getHttpEndpoint()));
}
if (this.getHttpTokens() != null) {
data.set("httpTokens", om.valueToTree(this.getHttpTokens()));
}
if (this.getImageFamily() != null) {
data.set("imageFamily", om.valueToTree(this.getImageFamily()));
}
if (this.getImageId() != null) {
data.set("imageId", om.valueToTree(this.getImageId()));
}
if (this.getInstanceChargeType() != null) {
data.set("instanceChargeType", om.valueToTree(this.getInstanceChargeType()));
}
if (this.getInstanceName() != null) {
data.set("instanceName", om.valueToTree(this.getInstanceName()));
}
if (this.getInternetChargeType() != null) {
data.set("internetChargeType", om.valueToTree(this.getInternetChargeType()));
}
if (this.getInternetMaxBandwidthOut() != null) {
data.set("internetMaxBandwidthOut", om.valueToTree(this.getInternetMaxBandwidthOut()));
}
if (this.getIoOptimized() != null) {
data.set("ioOptimized", om.valueToTree(this.getIoOptimized()));
}
if (this.getKeyPairName() != null) {
data.set("keyPairName", om.valueToTree(this.getKeyPairName()));
}
if (this.getPassword() != null) {
data.set("password", om.valueToTree(this.getPassword()));
}
if (this.getPasswordInherit() != null) {
data.set("passwordInherit", om.valueToTree(this.getPasswordInherit()));
}
if (this.getPeriod() != null) {
data.set("period", om.valueToTree(this.getPeriod()));
}
if (this.getPeriodUnit() != null) {
data.set("periodUnit", om.valueToTree(this.getPeriodUnit()));
}
if (this.getPrivateIpAddress() != null) {
data.set("privateIpAddress", om.valueToTree(this.getPrivateIpAddress()));
}
if (this.getPrivatePoolOptions() != null) {
data.set("privatePoolOptions", om.valueToTree(this.getPrivatePoolOptions()));
}
if (this.getRamRoleName() != null) {
data.set("ramRoleName", om.valueToTree(this.getRamRoleName()));
}
if (this.getResourceGroupId() != null) {
data.set("resourceGroupId", om.valueToTree(this.getResourceGroupId()));
}
if (this.getSecurityEnhancementStrategy() != null) {
data.set("securityEnhancementStrategy", om.valueToTree(this.getSecurityEnhancementStrategy()));
}
if (this.getSecurityGroupId() != null) {
data.set("securityGroupId", om.valueToTree(this.getSecurityGroupId()));
}
if (this.getSecurityGroupIds() != null) {
data.set("securityGroupIds", om.valueToTree(this.getSecurityGroupIds()));
}
if (this.getSpotDuration() != null) {
data.set("spotDuration", om.valueToTree(this.getSpotDuration()));
}
if (this.getSpotInterruptionBehavior() != null) {
data.set("spotInterruptionBehavior", om.valueToTree(this.getSpotInterruptionBehavior()));
}
if (this.getSpotPriceLimit() != null) {
data.set("spotPriceLimit", om.valueToTree(this.getSpotPriceLimit()));
}
if (this.getSpotStrategy() != null) {
data.set("spotStrategy", om.valueToTree(this.getSpotStrategy()));
}
if (this.getStorageSetId() != null) {
data.set("storageSetId", om.valueToTree(this.getStorageSetId()));
}
if (this.getStorageSetPartitionNumber() != null) {
data.set("storageSetPartitionNumber", om.valueToTree(this.getStorageSetPartitionNumber()));
}
if (this.getSystemDiskCategory() != null) {
data.set("systemDiskCategory", om.valueToTree(this.getSystemDiskCategory()));
}
if (this.getSystemDiskDescription() != null) {
data.set("systemDiskDescription", om.valueToTree(this.getSystemDiskDescription()));
}
if (this.getSystemDiskDiskName() != null) {
data.set("systemDiskDiskName", om.valueToTree(this.getSystemDiskDiskName()));
}
if (this.getSystemDiskPerformanceLevel() != null) {
data.set("systemDiskPerformanceLevel", om.valueToTree(this.getSystemDiskPerformanceLevel()));
}
if (this.getSystemDiskSize() != null) {
data.set("systemDiskSize", om.valueToTree(this.getSystemDiskSize()));
}
if (this.getTags() != null) {
data.set("tags", om.valueToTree(this.getTags()));
}
if (this.getTenancy() != null) {
data.set("tenancy", om.valueToTree(this.getTenancy()));
}
if (this.getUseAdditionalService() != null) {
data.set("useAdditionalService", om.valueToTree(this.getUseAdditionalService()));
}
if (this.getUserData() != null) {
data.set("userData", om.valueToTree(this.getUserData()));
}
if (this.getVpcId() != null) {
data.set("vpcId", om.valueToTree(this.getVpcId()));
}
if (this.getVSwitchId() != null) {
data.set("vSwitchId", om.valueToTree(this.getVSwitchId()));
}
if (this.getZoneId() != null) {
data.set("zoneId", om.valueToTree(this.getZoneId()));
}
if (this.getZoneIds() != null) {
data.set("zoneIds", om.valueToTree(this.getZoneIds()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-ecs.RosInstanceProps"));
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;
RosInstanceProps.Jsii$Proxy that = (RosInstanceProps.Jsii$Proxy) o;
if (!instanceType.equals(that.instanceType)) return false;
if (this.affinity != null ? !this.affinity.equals(that.affinity) : that.affinity != null) return false;
if (this.allocatePublicIp != null ? !this.allocatePublicIp.equals(that.allocatePublicIp) : that.allocatePublicIp != null) return false;
if (this.autoRenew != null ? !this.autoRenew.equals(that.autoRenew) : that.autoRenew != null) return false;
if (this.autoRenewPeriod != null ? !this.autoRenewPeriod.equals(that.autoRenewPeriod) : that.autoRenewPeriod != null) return false;
if (this.creditSpecification != null ? !this.creditSpecification.equals(that.creditSpecification) : that.creditSpecification != null) return false;
if (this.dedicatedHostId != null ? !this.dedicatedHostId.equals(that.dedicatedHostId) : that.dedicatedHostId != null) return false;
if (this.deletionProtection != null ? !this.deletionProtection.equals(that.deletionProtection) : that.deletionProtection != null) return false;
if (this.deploymentSetGroupNo != null ? !this.deploymentSetGroupNo.equals(that.deploymentSetGroupNo) : that.deploymentSetGroupNo != null) return false;
if (this.deploymentSetId != null ? !this.deploymentSetId.equals(that.deploymentSetId) : that.deploymentSetId != null) return false;
if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false;
if (this.diskMappings != null ? !this.diskMappings.equals(that.diskMappings) : that.diskMappings != null) return false;
if (this.hostName != null ? !this.hostName.equals(that.hostName) : that.hostName != null) return false;
if (this.hpcClusterId != null ? !this.hpcClusterId.equals(that.hpcClusterId) : that.hpcClusterId != null) return false;
if (this.httpEndpoint != null ? !this.httpEndpoint.equals(that.httpEndpoint) : that.httpEndpoint != null) return false;
if (this.httpTokens != null ? !this.httpTokens.equals(that.httpTokens) : that.httpTokens != null) return false;
if (this.imageFamily != null ? !this.imageFamily.equals(that.imageFamily) : that.imageFamily != null) return false;
if (this.imageId != null ? !this.imageId.equals(that.imageId) : that.imageId != null) return false;
if (this.instanceChargeType != null ? !this.instanceChargeType.equals(that.instanceChargeType) : that.instanceChargeType != null) return false;
if (this.instanceName != null ? !this.instanceName.equals(that.instanceName) : that.instanceName != null) return false;
if (this.internetChargeType != null ? !this.internetChargeType.equals(that.internetChargeType) : that.internetChargeType != null) return false;
if (this.internetMaxBandwidthOut != null ? !this.internetMaxBandwidthOut.equals(that.internetMaxBandwidthOut) : that.internetMaxBandwidthOut != null) return false;
if (this.ioOptimized != null ? !this.ioOptimized.equals(that.ioOptimized) : that.ioOptimized != null) return false;
if (this.keyPairName != null ? !this.keyPairName.equals(that.keyPairName) : that.keyPairName != null) return false;
if (this.password != null ? !this.password.equals(that.password) : that.password != null) return false;
if (this.passwordInherit != null ? !this.passwordInherit.equals(that.passwordInherit) : that.passwordInherit != null) return false;
if (this.period != null ? !this.period.equals(that.period) : that.period != null) return false;
if (this.periodUnit != null ? !this.periodUnit.equals(that.periodUnit) : that.periodUnit != null) return false;
if (this.privateIpAddress != null ? !this.privateIpAddress.equals(that.privateIpAddress) : that.privateIpAddress != null) return false;
if (this.privatePoolOptions != null ? !this.privatePoolOptions.equals(that.privatePoolOptions) : that.privatePoolOptions != null) return false;
if (this.ramRoleName != null ? !this.ramRoleName.equals(that.ramRoleName) : that.ramRoleName != null) return false;
if (this.resourceGroupId != null ? !this.resourceGroupId.equals(that.resourceGroupId) : that.resourceGroupId != null) return false;
if (this.securityEnhancementStrategy != null ? !this.securityEnhancementStrategy.equals(that.securityEnhancementStrategy) : that.securityEnhancementStrategy != null) return false;
if (this.securityGroupId != null ? !this.securityGroupId.equals(that.securityGroupId) : that.securityGroupId != null) return false;
if (this.securityGroupIds != null ? !this.securityGroupIds.equals(that.securityGroupIds) : that.securityGroupIds != null) return false;
if (this.spotDuration != null ? !this.spotDuration.equals(that.spotDuration) : that.spotDuration != null) return false;
if (this.spotInterruptionBehavior != null ? !this.spotInterruptionBehavior.equals(that.spotInterruptionBehavior) : that.spotInterruptionBehavior != null) return false;
if (this.spotPriceLimit != null ? !this.spotPriceLimit.equals(that.spotPriceLimit) : that.spotPriceLimit != null) return false;
if (this.spotStrategy != null ? !this.spotStrategy.equals(that.spotStrategy) : that.spotStrategy != null) return false;
if (this.storageSetId != null ? !this.storageSetId.equals(that.storageSetId) : that.storageSetId != null) return false;
if (this.storageSetPartitionNumber != null ? !this.storageSetPartitionNumber.equals(that.storageSetPartitionNumber) : that.storageSetPartitionNumber != null) return false;
if (this.systemDiskCategory != null ? !this.systemDiskCategory.equals(that.systemDiskCategory) : that.systemDiskCategory != null) return false;
if (this.systemDiskDescription != null ? !this.systemDiskDescription.equals(that.systemDiskDescription) : that.systemDiskDescription != null) return false;
if (this.systemDiskDiskName != null ? !this.systemDiskDiskName.equals(that.systemDiskDiskName) : that.systemDiskDiskName != null) return false;
if (this.systemDiskPerformanceLevel != null ? !this.systemDiskPerformanceLevel.equals(that.systemDiskPerformanceLevel) : that.systemDiskPerformanceLevel != null) return false;
if (this.systemDiskSize != null ? !this.systemDiskSize.equals(that.systemDiskSize) : that.systemDiskSize != null) return false;
if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false;
if (this.tenancy != null ? !this.tenancy.equals(that.tenancy) : that.tenancy != null) return false;
if (this.useAdditionalService != null ? !this.useAdditionalService.equals(that.useAdditionalService) : that.useAdditionalService != null) return false;
if (this.userData != null ? !this.userData.equals(that.userData) : that.userData != null) return false;
if (this.vpcId != null ? !this.vpcId.equals(that.vpcId) : that.vpcId != null) return false;
if (this.vSwitchId != null ? !this.vSwitchId.equals(that.vSwitchId) : that.vSwitchId != null) return false;
if (this.zoneId != null ? !this.zoneId.equals(that.zoneId) : that.zoneId != null) return false;
return this.zoneIds != null ? this.zoneIds.equals(that.zoneIds) : that.zoneIds == null;
}
@Override
public final int hashCode() {
int result = this.instanceType.hashCode();
result = 31 * result + (this.affinity != null ? this.affinity.hashCode() : 0);
result = 31 * result + (this.allocatePublicIp != null ? this.allocatePublicIp.hashCode() : 0);
result = 31 * result + (this.autoRenew != null ? this.autoRenew.hashCode() : 0);
result = 31 * result + (this.autoRenewPeriod != null ? this.autoRenewPeriod.hashCode() : 0);
result = 31 * result + (this.creditSpecification != null ? this.creditSpecification.hashCode() : 0);
result = 31 * result + (this.dedicatedHostId != null ? this.dedicatedHostId.hashCode() : 0);
result = 31 * result + (this.deletionProtection != null ? this.deletionProtection.hashCode() : 0);
result = 31 * result + (this.deploymentSetGroupNo != null ? this.deploymentSetGroupNo.hashCode() : 0);
result = 31 * result + (this.deploymentSetId != null ? this.deploymentSetId.hashCode() : 0);
result = 31 * result + (this.description != null ? this.description.hashCode() : 0);
result = 31 * result + (this.diskMappings != null ? this.diskMappings.hashCode() : 0);
result = 31 * result + (this.hostName != null ? this.hostName.hashCode() : 0);
result = 31 * result + (this.hpcClusterId != null ? this.hpcClusterId.hashCode() : 0);
result = 31 * result + (this.httpEndpoint != null ? this.httpEndpoint.hashCode() : 0);
result = 31 * result + (this.httpTokens != null ? this.httpTokens.hashCode() : 0);
result = 31 * result + (this.imageFamily != null ? this.imageFamily.hashCode() : 0);
result = 31 * result + (this.imageId != null ? this.imageId.hashCode() : 0);
result = 31 * result + (this.instanceChargeType != null ? this.instanceChargeType.hashCode() : 0);
result = 31 * result + (this.instanceName != null ? this.instanceName.hashCode() : 0);
result = 31 * result + (this.internetChargeType != null ? this.internetChargeType.hashCode() : 0);
result = 31 * result + (this.internetMaxBandwidthOut != null ? this.internetMaxBandwidthOut.hashCode() : 0);
result = 31 * result + (this.ioOptimized != null ? this.ioOptimized.hashCode() : 0);
result = 31 * result + (this.keyPairName != null ? this.keyPairName.hashCode() : 0);
result = 31 * result + (this.password != null ? this.password.hashCode() : 0);
result = 31 * result + (this.passwordInherit != null ? this.passwordInherit.hashCode() : 0);
result = 31 * result + (this.period != null ? this.period.hashCode() : 0);
result = 31 * result + (this.periodUnit != null ? this.periodUnit.hashCode() : 0);
result = 31 * result + (this.privateIpAddress != null ? this.privateIpAddress.hashCode() : 0);
result = 31 * result + (this.privatePoolOptions != null ? this.privatePoolOptions.hashCode() : 0);
result = 31 * result + (this.ramRoleName != null ? this.ramRoleName.hashCode() : 0);
result = 31 * result + (this.resourceGroupId != null ? this.resourceGroupId.hashCode() : 0);
result = 31 * result + (this.securityEnhancementStrategy != null ? this.securityEnhancementStrategy.hashCode() : 0);
result = 31 * result + (this.securityGroupId != null ? this.securityGroupId.hashCode() : 0);
result = 31 * result + (this.securityGroupIds != null ? this.securityGroupIds.hashCode() : 0);
result = 31 * result + (this.spotDuration != null ? this.spotDuration.hashCode() : 0);
result = 31 * result + (this.spotInterruptionBehavior != null ? this.spotInterruptionBehavior.hashCode() : 0);
result = 31 * result + (this.spotPriceLimit != null ? this.spotPriceLimit.hashCode() : 0);
result = 31 * result + (this.spotStrategy != null ? this.spotStrategy.hashCode() : 0);
result = 31 * result + (this.storageSetId != null ? this.storageSetId.hashCode() : 0);
result = 31 * result + (this.storageSetPartitionNumber != null ? this.storageSetPartitionNumber.hashCode() : 0);
result = 31 * result + (this.systemDiskCategory != null ? this.systemDiskCategory.hashCode() : 0);
result = 31 * result + (this.systemDiskDescription != null ? this.systemDiskDescription.hashCode() : 0);
result = 31 * result + (this.systemDiskDiskName != null ? this.systemDiskDiskName.hashCode() : 0);
result = 31 * result + (this.systemDiskPerformanceLevel != null ? this.systemDiskPerformanceLevel.hashCode() : 0);
result = 31 * result + (this.systemDiskSize != null ? this.systemDiskSize.hashCode() : 0);
result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
result = 31 * result + (this.tenancy != null ? this.tenancy.hashCode() : 0);
result = 31 * result + (this.useAdditionalService != null ? this.useAdditionalService.hashCode() : 0);
result = 31 * result + (this.userData != null ? this.userData.hashCode() : 0);
result = 31 * result + (this.vpcId != null ? this.vpcId.hashCode() : 0);
result = 31 * result + (this.vSwitchId != null ? this.vSwitchId.hashCode() : 0);
result = 31 * result + (this.zoneId != null ? this.zoneId.hashCode() : 0);
result = 31 * result + (this.zoneIds != null ? this.zoneIds.hashCode() : 0);
return result;
}
}
}