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

com.aliyun.ros.cdk.ecs.LaunchTemplateProps Maven / Gradle / Ivy

package com.aliyun.ros.cdk.ecs;

/**
 * Properties for defining a LaunchTemplate.
 * 

* See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-ecs-launchtemplate */ @javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-08-22T08:56:20.045Z") @software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.ecs.$Module.class, fqn = "@alicloud/ros-cdk-ecs.LaunchTemplateProps") @software.amazon.jsii.Jsii.Proxy(LaunchTemplateProps.Jsii$Proxy.class) public interface LaunchTemplateProps extends software.amazon.jsii.JsiiSerializable { /** * Property launchTemplateName: The name of launch template. */ @org.jetbrains.annotations.NotNull java.lang.Object getLaunchTemplateName(); /** * Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time. *

* format is 'yyyy-MM-ddTHH:mm:ssZ'. Not bigger than 3 years from this day onwards */ default @org.jetbrains.annotations.Nullable java.lang.Object getAutoReleaseTime() { return null; } /** * Property deploymentSetId: The ID of the deployment set. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDeploymentSetId() { return null; } /** * Property description: Description of the instance, [2, 256] characters. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDescription() { return null; } /** * Property diskMappings: Disk mappings to attach to instance. *

* Max support 16 disks. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDiskMappings() { return null; } /** * Property hostName: Host name of created ecs instance. *

* at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 30 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHostName() { return null; } /** * Property imageId: Image ID to create ecs instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getImageId() { return null; } /** * Property imageOwnerAlias: The source of the image. *

* Valid values: * system: public images provided by Alibaba Cloud. * self: your custom images. * others: shared images from other Alibaba Cloud accounts. * marketplace: Alibaba Cloud Marketplace images. If Alibaba Cloud Marketplace images are found, you can use these images without prior subscription. You must pay attention to the billing details of Alibaba Cloud Marketplace images. */ default @org.jetbrains.annotations.Nullable java.lang.Object getImageOwnerAlias() { return null; } /** * Property instanceChargeType: The billing method of the instance. *

* Valid values: * PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account supports payment by credit. Otherwise, an InvalidPayMethod error is returned. * PostPaid: pay-as-you-go. */ default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceChargeType() { return null; } /** * Property instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. */ default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceName() { return null; } /** * Property instanceType: Ecs instance supported instance type, make sure it should be correct. */ default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceType() { return null; } /** * Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. */ default @org.jetbrains.annotations.Nullable java.lang.Object getInternetChargeType() { return null; } /** * Property internetMaxBandwidthOut: Max internet out bandwidth in Mbps(Mega bit per second). *

* Range is [0,200].While the property is not 0, public ip will be assigned for instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getInternetMaxBandwidthOut() { return null; } /** * Property ioOptimized: The 'optimized' instance can provide better IO performance. *

* Support 'none' and 'optimized' only. */ default @org.jetbrains.annotations.Nullable java.lang.Object getIoOptimized() { return null; } /** * Property ipv6AddressCount: The number of IPv6 addresses to be randomly generated for the primary ENI. *

* Valid values: 1 to 10. */ default @org.jetbrains.annotations.Nullable java.lang.Object getIpv6AddressCount() { return null; } /** * Property keyPairName: SSH key pair name. */ default @org.jetbrains.annotations.Nullable java.lang.Object getKeyPairName() { return null; } /** * Property networkInterfaces: Elastic network interfaces to be attached to instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getNetworkInterfaces() { return null; } /** * Property networkType: Instance network type. *

* Support 'vpc' and 'classic' */ default @org.jetbrains.annotations.Nullable java.lang.Object getNetworkType() { return null; } /** * Property passwordInherit: Specifies whether to use the password preset in the image. *

* Note When you use this parameter, leave Password empty and make sure that the selected image has a password preset. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPasswordInherit() { return null; } /** * Property period: The subscription period of the instance. *

* Unit: months. * This parameter is valid and required only when InstanceChargeType is set to PrePaid. * Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPeriod() { return null; } /** * Property privateIpAddress: The private IP address of the instance. *

* To assign a private IP address to an instance of the VPC type, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the VSwitchId parameter. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPrivateIpAddress() { return null; } /** * Property ramRoleName: Instance RAM role name. *

* The name is provided and maintained by Resource Access Management (RAM) and can be queried using ListRoles. For more information, see RAM API CreateRole and ListRoles. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRamRoleName() { return null; } /** * Property resourceGroupId: The ID of the resource group to which to assign the instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI). */ default @org.jetbrains.annotations.Nullable java.lang.Object getResourceGroupId() { return null; } /** * Property securityEnhancementStrategy: Activate or deactivate security enhancement,Value range: "Active" and "Deactive". */ default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityEnhancementStrategy() { return null; } /** * Property securityGroupId: Security group to create ecs instance. *

* For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityGroupId() { return null; } /** * Property securityGroupIds: The ID of security group list to which to assign the instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityGroupIds() { return null; } /** * Property spotDuration: The protection period of the preemptible instance. *

* Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6. * Protection periods of 2, 3, 4, 5, and 6 hours are in invitational preview. If you want to set this parameter to one of these values, submit a ticket. * If this parameter is set to 0, no protection period is configured for the preemptible instance. * Default value: 1. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSpotDuration() { return null; } /** * Property spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid. *

* Three decimals is allowed at most. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSpotPriceLimit() { return null; } /** * Property spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid. *

* Value range: "NoSpot: A regular Pay-As-You-Go instance", "SpotWithPriceLimit: A price threshold for a spot instance, ""SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance. " */ default @org.jetbrains.annotations.Nullable java.lang.Object getSpotStrategy() { return null; } /** * Property systemDiskCategory: Category of system disk. *

* support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskCategory() { return null; } /** * Property systemDiskDeleteWithInstance: Specifies whether to release the system disk when the instance is released. *

* Valid values: * true: releases the system disk when the instance is released. * false: does not release the system disk when the instance is released. * Default value: true. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskDeleteWithInstance() { return null; } /** * Property systemDiskDescription: Description of created system disk. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskDescription() { return null; } /** * Property systemDiskDiskName: Name of created system disk. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskDiskName() { return null; } /** * Property systemDiskPerformanceLevel: The performance level of the ESSD that is used as the system disk. *

* Valid values: * PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. * PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. * PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. * PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskPerformanceLevel() { return null; } /** * Property systemDiskSize: Disk size of the system disk, range from 20 to 500 GB. *

* If you specify with your own image, make sure the system disk size bigger than image size. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSystemDiskSize() { return null; } /** * Property tags: Tags to attach to instance, security group, disk and network interface. */ default @org.jetbrains.annotations.Nullable java.util.List getTags() { return null; } /** * Property templateResourceGroupId: The ID of the resource group to which to assign the launch template. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTemplateResourceGroupId() { return null; } /** * Property templateTags: Template tags to attach to launch template. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTemplateTags() { return null; } /** * Property userData: User data to pass to instance. *

* [1, 16KB] characters. */ default @org.jetbrains.annotations.Nullable java.lang.Object getUserData() { return null; } /** * Property versionDescription: Description for version 1 of launch template. */ default @org.jetbrains.annotations.Nullable java.lang.Object getVersionDescription() { return null; } /** * Property vSwitchId: The vSwitch Id to create ecs instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getVSwitchId() { return null; } /** * Property zoneId: Current zone to create the instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getZoneId() { return null; } /** * @return a {@link Builder} of {@link LaunchTemplateProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link LaunchTemplateProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object launchTemplateName; java.lang.Object autoReleaseTime; java.lang.Object deploymentSetId; java.lang.Object description; java.lang.Object diskMappings; java.lang.Object hostName; java.lang.Object imageId; java.lang.Object imageOwnerAlias; java.lang.Object instanceChargeType; java.lang.Object instanceName; java.lang.Object instanceType; java.lang.Object internetChargeType; java.lang.Object internetMaxBandwidthOut; java.lang.Object ioOptimized; java.lang.Object ipv6AddressCount; java.lang.Object keyPairName; java.lang.Object networkInterfaces; java.lang.Object networkType; java.lang.Object passwordInherit; java.lang.Object period; java.lang.Object privateIpAddress; 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 spotPriceLimit; java.lang.Object spotStrategy; java.lang.Object systemDiskCategory; java.lang.Object systemDiskDeleteWithInstance; java.lang.Object systemDiskDescription; java.lang.Object systemDiskDiskName; java.lang.Object systemDiskPerformanceLevel; java.lang.Object systemDiskSize; java.util.List tags; java.lang.Object templateResourceGroupId; java.lang.Object templateTags; java.lang.Object userData; java.lang.Object versionDescription; java.lang.Object vSwitchId; java.lang.Object zoneId; /** * Sets the value of {@link LaunchTemplateProps#getLaunchTemplateName} * @param launchTemplateName Property launchTemplateName: The name of launch template. This parameter is required. * @return {@code this} */ public Builder launchTemplateName(java.lang.String launchTemplateName) { this.launchTemplateName = launchTemplateName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getLaunchTemplateName} * @param launchTemplateName Property launchTemplateName: The name of launch template. This parameter is required. * @return {@code this} */ public Builder launchTemplateName(com.aliyun.ros.cdk.core.IResolvable launchTemplateName) { this.launchTemplateName = launchTemplateName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getAutoReleaseTime} * @param autoReleaseTime Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time. * format is 'yyyy-MM-ddTHH:mm:ssZ'. Not bigger than 3 years from this day onwards * @return {@code this} */ public Builder autoReleaseTime(java.lang.String autoReleaseTime) { this.autoReleaseTime = autoReleaseTime; return this; } /** * Sets the value of {@link LaunchTemplateProps#getAutoReleaseTime} * @param autoReleaseTime Property autoReleaseTime: Auto release time for created instance, Follow ISO8601 standard using UTC time. * format is 'yyyy-MM-ddTHH:mm:ssZ'. Not bigger than 3 years from this day onwards * @return {@code this} */ public Builder autoReleaseTime(com.aliyun.ros.cdk.core.IResolvable autoReleaseTime) { this.autoReleaseTime = autoReleaseTime; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDeploymentSetId} * @param deploymentSetId Property deploymentSetId: The ID of the deployment set. * @return {@code this} */ public Builder deploymentSetId(java.lang.String deploymentSetId) { this.deploymentSetId = deploymentSetId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDeploymentSetId} * @param deploymentSetId Property deploymentSetId: The ID of the deployment set. * @return {@code this} */ public Builder deploymentSetId(com.aliyun.ros.cdk.core.IResolvable deploymentSetId) { this.deploymentSetId = deploymentSetId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDescription} * @param description Property description: Description of the instance, [2, 256] characters. * @return {@code this} */ public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDescription} * @param description Property description: Description of the instance, [2, 256] characters. * @return {@code this} */ public Builder description(com.aliyun.ros.cdk.core.IResolvable description) { this.description = description; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDiskMappings} * @param diskMappings Property diskMappings: Disk mappings to attach to instance. * Max support 16 disks. * @return {@code this} */ public Builder diskMappings(com.aliyun.ros.cdk.core.IResolvable diskMappings) { this.diskMappings = diskMappings; return this; } /** * Sets the value of {@link LaunchTemplateProps#getDiskMappings} * @param diskMappings Property diskMappings: Disk mappings to attach to instance. * Max support 16 disks. * @return {@code this} */ public Builder diskMappings(java.util.List diskMappings) { this.diskMappings = diskMappings; return this; } /** * Sets the value of {@link LaunchTemplateProps#getHostName} * @param hostName Property hostName: Host name of created ecs instance. * at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 30 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components. * @return {@code this} */ public Builder hostName(java.lang.String hostName) { this.hostName = hostName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getHostName} * @param hostName Property hostName: Host name of created ecs instance. * at least 2 characters, and '.' '-' Is not the first and last characters as hostname, not continuous use. Windows platform can be up to 15 characters, allowing letters (without limiting case), numbers and '-', and does not support the number of points, not all is digital ('.').Other (Linux, etc.) platform up to 30 characters, allowing support number multiple points for the period between the points, each permit letters (without limiting case), numbers and '-' components. * @return {@code this} */ public Builder hostName(com.aliyun.ros.cdk.core.IResolvable hostName) { this.hostName = hostName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getImageId} * @param imageId Property imageId: Image ID to create ecs instance. * @return {@code this} */ public Builder imageId(java.lang.String imageId) { this.imageId = imageId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getImageId} * @param imageId Property imageId: Image ID to create ecs instance. * @return {@code this} */ public Builder imageId(com.aliyun.ros.cdk.core.IResolvable imageId) { this.imageId = imageId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getImageOwnerAlias} * @param imageOwnerAlias Property imageOwnerAlias: The source of the image. * Valid values: * system: public images provided by Alibaba Cloud. * self: your custom images. * others: shared images from other Alibaba Cloud accounts. * marketplace: Alibaba Cloud Marketplace images. If Alibaba Cloud Marketplace images are found, you can use these images without prior subscription. You must pay attention to the billing details of Alibaba Cloud Marketplace images. * @return {@code this} */ public Builder imageOwnerAlias(java.lang.String imageOwnerAlias) { this.imageOwnerAlias = imageOwnerAlias; return this; } /** * Sets the value of {@link LaunchTemplateProps#getImageOwnerAlias} * @param imageOwnerAlias Property imageOwnerAlias: The source of the image. * Valid values: * system: public images provided by Alibaba Cloud. * self: your custom images. * others: shared images from other Alibaba Cloud accounts. * marketplace: Alibaba Cloud Marketplace images. If Alibaba Cloud Marketplace images are found, you can use these images without prior subscription. You must pay attention to the billing details of Alibaba Cloud Marketplace images. * @return {@code this} */ public Builder imageOwnerAlias(com.aliyun.ros.cdk.core.IResolvable imageOwnerAlias) { this.imageOwnerAlias = imageOwnerAlias; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceChargeType} * @param instanceChargeType Property instanceChargeType: The billing method of the instance. * Valid values: * PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account supports payment by credit. Otherwise, an InvalidPayMethod error is returned. * PostPaid: pay-as-you-go. * @return {@code this} */ public Builder instanceChargeType(java.lang.String instanceChargeType) { this.instanceChargeType = instanceChargeType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceChargeType} * @param instanceChargeType Property instanceChargeType: The billing method of the instance. * Valid values: * PrePaid: subscription. If you set this parameter to PrePaid, make sure that your account supports payment by credit. Otherwise, an InvalidPayMethod error is returned. * PostPaid: pay-as-you-go. * @return {@code this} */ public Builder instanceChargeType(com.aliyun.ros.cdk.core.IResolvable instanceChargeType) { this.instanceChargeType = instanceChargeType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceName} * @param instanceName Property instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. * @return {@code this} */ public Builder instanceName(java.lang.String instanceName) { this.instanceName = instanceName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceName} * @param instanceName Property instanceName: Display name of the instance, [2, 128] English or Chinese characters, must start with a letter or Chinese in size, can contain numbers, '_' or '.', '-'. * @return {@code this} */ public Builder instanceName(com.aliyun.ros.cdk.core.IResolvable instanceName) { this.instanceName = instanceName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceType} * @param instanceType Property instanceType: Ecs instance supported instance type, make sure it should be correct. * @return {@code this} */ public Builder instanceType(java.lang.String instanceType) { this.instanceType = instanceType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInstanceType} * @param instanceType Property instanceType: Ecs instance supported instance type, make sure it should be correct. * @return {@code this} */ public Builder instanceType(com.aliyun.ros.cdk.core.IResolvable instanceType) { this.instanceType = instanceType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInternetChargeType} * @param internetChargeType Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. * @return {@code this} */ public Builder internetChargeType(java.lang.String internetChargeType) { this.internetChargeType = internetChargeType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInternetChargeType} * @param internetChargeType Property internetChargeType: Instance internet access charge type.Support 'PayByBandwidth' and 'PayByTraffic' only. * @return {@code this} */ public Builder internetChargeType(com.aliyun.ros.cdk.core.IResolvable internetChargeType) { this.internetChargeType = internetChargeType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInternetMaxBandwidthOut} * @param internetMaxBandwidthOut Property internetMaxBandwidthOut: Max internet out bandwidth in Mbps(Mega bit per second). * Range is [0,200].While the property is not 0, public ip will be assigned for instance. * @return {@code this} */ public Builder internetMaxBandwidthOut(java.lang.Number internetMaxBandwidthOut) { this.internetMaxBandwidthOut = internetMaxBandwidthOut; return this; } /** * Sets the value of {@link LaunchTemplateProps#getInternetMaxBandwidthOut} * @param internetMaxBandwidthOut Property internetMaxBandwidthOut: Max internet out bandwidth in Mbps(Mega bit per second). * Range is [0,200].While the property is not 0, public ip will be assigned for instance. * @return {@code this} */ public Builder internetMaxBandwidthOut(com.aliyun.ros.cdk.core.IResolvable internetMaxBandwidthOut) { this.internetMaxBandwidthOut = internetMaxBandwidthOut; return this; } /** * Sets the value of {@link LaunchTemplateProps#getIoOptimized} * @param ioOptimized Property ioOptimized: The 'optimized' instance can provide better IO performance. * Support 'none' and 'optimized' only. * @return {@code this} */ public Builder ioOptimized(java.lang.String ioOptimized) { this.ioOptimized = ioOptimized; return this; } /** * Sets the value of {@link LaunchTemplateProps#getIoOptimized} * @param ioOptimized Property ioOptimized: The 'optimized' instance can provide better IO performance. * Support 'none' and 'optimized' only. * @return {@code this} */ public Builder ioOptimized(com.aliyun.ros.cdk.core.IResolvable ioOptimized) { this.ioOptimized = ioOptimized; return this; } /** * Sets the value of {@link LaunchTemplateProps#getIpv6AddressCount} * @param ipv6AddressCount Property ipv6AddressCount: The number of IPv6 addresses to be randomly generated for the primary ENI. * Valid values: 1 to 10. * @return {@code this} */ public Builder ipv6AddressCount(java.lang.Number ipv6AddressCount) { this.ipv6AddressCount = ipv6AddressCount; return this; } /** * Sets the value of {@link LaunchTemplateProps#getIpv6AddressCount} * @param ipv6AddressCount Property ipv6AddressCount: The number of IPv6 addresses to be randomly generated for the primary ENI. * Valid values: 1 to 10. * @return {@code this} */ public Builder ipv6AddressCount(com.aliyun.ros.cdk.core.IResolvable ipv6AddressCount) { this.ipv6AddressCount = ipv6AddressCount; return this; } /** * Sets the value of {@link LaunchTemplateProps#getKeyPairName} * @param keyPairName Property keyPairName: SSH key pair name. * @return {@code this} */ public Builder keyPairName(java.lang.String keyPairName) { this.keyPairName = keyPairName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getKeyPairName} * @param keyPairName Property keyPairName: SSH key pair name. * @return {@code this} */ public Builder keyPairName(com.aliyun.ros.cdk.core.IResolvable keyPairName) { this.keyPairName = keyPairName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getNetworkInterfaces} * @param networkInterfaces Property networkInterfaces: Elastic network interfaces to be attached to instance. * @return {@code this} */ public Builder networkInterfaces(com.aliyun.ros.cdk.core.IResolvable networkInterfaces) { this.networkInterfaces = networkInterfaces; return this; } /** * Sets the value of {@link LaunchTemplateProps#getNetworkInterfaces} * @param networkInterfaces Property networkInterfaces: Elastic network interfaces to be attached to instance. * @return {@code this} */ public Builder networkInterfaces(java.util.List networkInterfaces) { this.networkInterfaces = networkInterfaces; return this; } /** * Sets the value of {@link LaunchTemplateProps#getNetworkType} * @param networkType Property networkType: Instance network type. * Support 'vpc' and 'classic' * @return {@code this} */ public Builder networkType(java.lang.String networkType) { this.networkType = networkType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getNetworkType} * @param networkType Property networkType: Instance network type. * Support 'vpc' and 'classic' * @return {@code this} */ public Builder networkType(com.aliyun.ros.cdk.core.IResolvable networkType) { this.networkType = networkType; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPasswordInherit} * @param passwordInherit Property passwordInherit: Specifies whether to use the password preset in the image. * Note When you use this parameter, leave Password empty and make sure that the selected image has a password preset. * @return {@code this} */ public Builder passwordInherit(java.lang.Boolean passwordInherit) { this.passwordInherit = passwordInherit; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPasswordInherit} * @param passwordInherit Property passwordInherit: Specifies whether to use the password preset in the image. * Note When you use this parameter, leave Password empty and make sure that the selected image has a password preset. * @return {@code this} */ public Builder passwordInherit(com.aliyun.ros.cdk.core.IResolvable passwordInherit) { this.passwordInherit = passwordInherit; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPeriod} * @param period Property period: The subscription period of the instance. * Unit: months. * This parameter is valid and required only when InstanceChargeType is set to PrePaid. * Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * @return {@code this} */ public Builder period(java.lang.Number period) { this.period = period; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPeriod} * @param period Property period: The subscription period of the instance. * Unit: months. * This parameter is valid and required only when InstanceChargeType is set to PrePaid. * Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, and 60. * @return {@code this} */ public Builder period(com.aliyun.ros.cdk.core.IResolvable period) { this.period = period; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPrivateIpAddress} * @param privateIpAddress Property privateIpAddress: The private IP address of the instance. * To assign a private IP address to an instance of the VPC type, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the VSwitchId parameter. * @return {@code this} */ public Builder privateIpAddress(java.lang.String privateIpAddress) { this.privateIpAddress = privateIpAddress; return this; } /** * Sets the value of {@link LaunchTemplateProps#getPrivateIpAddress} * @param privateIpAddress Property privateIpAddress: The private IP address of the instance. * To assign a private IP address to an instance of the VPC type, make sure that the IP address is an idle IP address within the CIDR block of the vSwitch specified by the VSwitchId parameter. * @return {@code this} */ public Builder privateIpAddress(com.aliyun.ros.cdk.core.IResolvable privateIpAddress) { this.privateIpAddress = privateIpAddress; return this; } /** * Sets the value of {@link LaunchTemplateProps#getRamRoleName} * @param ramRoleName Property ramRoleName: Instance RAM role name. * The name is provided and maintained by Resource Access Management (RAM) and can be queried using ListRoles. For more information, see RAM API CreateRole and ListRoles. * @return {@code this} */ public Builder ramRoleName(java.lang.String ramRoleName) { this.ramRoleName = ramRoleName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getRamRoleName} * @param ramRoleName Property ramRoleName: Instance RAM role name. * The name is provided and maintained by Resource Access Management (RAM) and can be queried using ListRoles. For more information, see RAM API CreateRole and ListRoles. * @return {@code this} */ public Builder ramRoleName(com.aliyun.ros.cdk.core.IResolvable ramRoleName) { this.ramRoleName = ramRoleName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: The ID of the resource group to which to assign the instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI). * @return {@code this} */ public Builder resourceGroupId(java.lang.String resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: The ID of the resource group to which to assign the instance, Elastic Block Storage (EBS) device, and elastic network interface (ENI). * @return {@code this} */ public Builder resourceGroupId(com.aliyun.ros.cdk.core.IResolvable resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityEnhancementStrategy} * @param securityEnhancementStrategy Property securityEnhancementStrategy: Activate or deactivate security enhancement,Value range: "Active" and "Deactive". * @return {@code this} */ public Builder securityEnhancementStrategy(java.lang.String securityEnhancementStrategy) { this.securityEnhancementStrategy = securityEnhancementStrategy; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityEnhancementStrategy} * @param securityEnhancementStrategy Property securityEnhancementStrategy: Activate or deactivate security enhancement,Value range: "Active" and "Deactive". * @return {@code this} */ public Builder securityEnhancementStrategy(com.aliyun.ros.cdk.core.IResolvable securityEnhancementStrategy) { this.securityEnhancementStrategy = securityEnhancementStrategy; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityGroupId} * @param securityGroupId Property securityGroupId: Security group to create ecs instance. * For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC. * @return {@code this} */ public Builder securityGroupId(java.lang.String securityGroupId) { this.securityGroupId = securityGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityGroupId} * @param securityGroupId Property securityGroupId: Security group to create ecs instance. * For classic instance need the security group not belong to VPC, for VPC instance, please make sure the security group belong to specified VPC. * @return {@code this} */ public Builder securityGroupId(com.aliyun.ros.cdk.core.IResolvable securityGroupId) { this.securityGroupId = securityGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityGroupIds} * @param securityGroupIds Property securityGroupIds: The ID of security group list to which to assign the instance. * @return {@code this} */ public Builder securityGroupIds(com.aliyun.ros.cdk.core.IResolvable securityGroupIds) { this.securityGroupIds = securityGroupIds; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSecurityGroupIds} * @param securityGroupIds Property securityGroupIds: The ID of security group list to which to assign the instance. * @return {@code this} */ public Builder securityGroupIds(java.util.List securityGroupIds) { this.securityGroupIds = securityGroupIds; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotDuration} * @param spotDuration Property spotDuration: The protection period of the preemptible instance. * Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6. * Protection periods of 2, 3, 4, 5, and 6 hours are in invitational preview. If you want to set this parameter to one of these values, submit a ticket. * If this parameter is set to 0, no protection period is configured for the preemptible instance. * Default value: 1. * @return {@code this} */ public Builder spotDuration(java.lang.Number spotDuration) { this.spotDuration = spotDuration; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotDuration} * @param spotDuration Property spotDuration: The protection period of the preemptible instance. * Unit: hours. Valid values: 0, 1, 2, 3, 4, 5, and 6. * Protection periods of 2, 3, 4, 5, and 6 hours are in invitational preview. If you want to set this parameter to one of these values, submit a ticket. * If this parameter is set to 0, no protection period is configured for the preemptible instance. * Default value: 1. * @return {@code this} */ public Builder spotDuration(com.aliyun.ros.cdk.core.IResolvable spotDuration) { this.spotDuration = spotDuration; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotPriceLimit} * @param spotPriceLimit Property spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid. * Three decimals is allowed at most. * @return {@code this} */ public Builder spotPriceLimit(java.lang.String spotPriceLimit) { this.spotPriceLimit = spotPriceLimit; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotPriceLimit} * @param spotPriceLimit Property spotPriceLimit: The hourly price threshold of a instance, and it takes effect only when parameter InstanceChargeType is PostPaid. * Three decimals is allowed at most. * @return {@code this} */ public Builder spotPriceLimit(com.aliyun.ros.cdk.core.IResolvable spotPriceLimit) { this.spotPriceLimit = spotPriceLimit; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotStrategy} * @param spotStrategy Property spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid. * Value range: "NoSpot: A regular Pay-As-You-Go instance", "SpotWithPriceLimit: A price threshold for a spot instance, ""SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance. " * @return {@code this} */ public Builder spotStrategy(java.lang.String spotStrategy) { this.spotStrategy = spotStrategy; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSpotStrategy} * @param spotStrategy Property spotStrategy: The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter InstanceChargeType is PostPaid. * Value range: "NoSpot: A regular Pay-As-You-Go instance", "SpotWithPriceLimit: A price threshold for a spot instance, ""SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance. " * @return {@code this} */ public Builder spotStrategy(com.aliyun.ros.cdk.core.IResolvable spotStrategy) { this.spotStrategy = spotStrategy; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskCategory} * @param systemDiskCategory Property systemDiskCategory: Category of system disk. * support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd * @return {@code this} */ public Builder systemDiskCategory(java.lang.String systemDiskCategory) { this.systemDiskCategory = systemDiskCategory; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskCategory} * @param systemDiskCategory Property systemDiskCategory: Category of system disk. * support cloud|cloud_efficiency|cloud_ssd|cloud_essd|ephemeral_ssd * @return {@code this} */ public Builder systemDiskCategory(com.aliyun.ros.cdk.core.IResolvable systemDiskCategory) { this.systemDiskCategory = systemDiskCategory; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDeleteWithInstance} * @param systemDiskDeleteWithInstance Property systemDiskDeleteWithInstance: Specifies whether to release the system disk when the instance is released. * Valid values: * true: releases the system disk when the instance is released. * false: does not release the system disk when the instance is released. * Default value: true. * @return {@code this} */ public Builder systemDiskDeleteWithInstance(java.lang.Boolean systemDiskDeleteWithInstance) { this.systemDiskDeleteWithInstance = systemDiskDeleteWithInstance; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDeleteWithInstance} * @param systemDiskDeleteWithInstance Property systemDiskDeleteWithInstance: Specifies whether to release the system disk when the instance is released. * Valid values: * true: releases the system disk when the instance is released. * false: does not release the system disk when the instance is released. * Default value: true. * @return {@code this} */ public Builder systemDiskDeleteWithInstance(com.aliyun.ros.cdk.core.IResolvable systemDiskDeleteWithInstance) { this.systemDiskDeleteWithInstance = systemDiskDeleteWithInstance; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDescription} * @param systemDiskDescription Property systemDiskDescription: Description of created system disk. * @return {@code this} */ public Builder systemDiskDescription(java.lang.String systemDiskDescription) { this.systemDiskDescription = systemDiskDescription; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDescription} * @param systemDiskDescription Property systemDiskDescription: Description of created system disk. * @return {@code this} */ public Builder systemDiskDescription(com.aliyun.ros.cdk.core.IResolvable systemDiskDescription) { this.systemDiskDescription = systemDiskDescription; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDiskName} * @param systemDiskDiskName Property systemDiskDiskName: Name of created system disk. * @return {@code this} */ public Builder systemDiskDiskName(java.lang.String systemDiskDiskName) { this.systemDiskDiskName = systemDiskDiskName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskDiskName} * @param systemDiskDiskName Property systemDiskDiskName: Name of created system disk. * @return {@code this} */ public Builder systemDiskDiskName(com.aliyun.ros.cdk.core.IResolvable systemDiskDiskName) { this.systemDiskDiskName = systemDiskDiskName; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskPerformanceLevel} * @param systemDiskPerformanceLevel Property systemDiskPerformanceLevel: The performance level of the ESSD that is used as the system disk. * Valid values: * PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. * PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. * PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. * PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. * @return {@code this} */ public Builder systemDiskPerformanceLevel(java.lang.String systemDiskPerformanceLevel) { this.systemDiskPerformanceLevel = systemDiskPerformanceLevel; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskPerformanceLevel} * @param systemDiskPerformanceLevel Property systemDiskPerformanceLevel: The performance level of the ESSD that is used as the system disk. * Valid values: * PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. * PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. * PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. * PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. * @return {@code this} */ public Builder systemDiskPerformanceLevel(com.aliyun.ros.cdk.core.IResolvable systemDiskPerformanceLevel) { this.systemDiskPerformanceLevel = systemDiskPerformanceLevel; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskSize} * @param systemDiskSize Property systemDiskSize: Disk size of the system disk, range from 20 to 500 GB. * If you specify with your own image, make sure the system disk size bigger than image size. * @return {@code this} */ public Builder systemDiskSize(java.lang.Number systemDiskSize) { this.systemDiskSize = systemDiskSize; return this; } /** * Sets the value of {@link LaunchTemplateProps#getSystemDiskSize} * @param systemDiskSize Property systemDiskSize: Disk size of the system disk, range from 20 to 500 GB. * If you specify with your own image, make sure the system disk size bigger than image size. * @return {@code this} */ public Builder systemDiskSize(com.aliyun.ros.cdk.core.IResolvable systemDiskSize) { this.systemDiskSize = systemDiskSize; return this; } /** * Sets the value of {@link LaunchTemplateProps#getTags} * @param tags Property tags: Tags to attach to instance, security group, disk and network interface. * @return {@code this} */ @SuppressWarnings("unchecked") public Builder tags(java.util.List tags) { this.tags = (java.util.List)tags; return this; } /** * Sets the value of {@link LaunchTemplateProps#getTemplateResourceGroupId} * @param templateResourceGroupId Property templateResourceGroupId: The ID of the resource group to which to assign the launch template. * @return {@code this} */ public Builder templateResourceGroupId(java.lang.String templateResourceGroupId) { this.templateResourceGroupId = templateResourceGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getTemplateResourceGroupId} * @param templateResourceGroupId Property templateResourceGroupId: The ID of the resource group to which to assign the launch template. * @return {@code this} */ public Builder templateResourceGroupId(com.aliyun.ros.cdk.core.IResolvable templateResourceGroupId) { this.templateResourceGroupId = templateResourceGroupId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getTemplateTags} * @param templateTags Property templateTags: Template tags to attach to launch template. * @return {@code this} */ public Builder templateTags(com.aliyun.ros.cdk.core.IResolvable templateTags) { this.templateTags = templateTags; return this; } /** * Sets the value of {@link LaunchTemplateProps#getTemplateTags} * @param templateTags Property templateTags: Template tags to attach to launch template. * @return {@code this} */ public Builder templateTags(java.util.List templateTags) { this.templateTags = templateTags; return this; } /** * Sets the value of {@link LaunchTemplateProps#getUserData} * @param userData Property userData: User data to pass to instance. * [1, 16KB] characters. * @return {@code this} */ public Builder userData(java.lang.String userData) { this.userData = userData; return this; } /** * Sets the value of {@link LaunchTemplateProps#getUserData} * @param userData Property userData: User data to pass to instance. * [1, 16KB] characters. * @return {@code this} */ public Builder userData(com.aliyun.ros.cdk.core.IResolvable userData) { this.userData = userData; return this; } /** * Sets the value of {@link LaunchTemplateProps#getVersionDescription} * @param versionDescription Property versionDescription: Description for version 1 of launch template. * @return {@code this} */ public Builder versionDescription(java.lang.String versionDescription) { this.versionDescription = versionDescription; return this; } /** * Sets the value of {@link LaunchTemplateProps#getVersionDescription} * @param versionDescription Property versionDescription: Description for version 1 of launch template. * @return {@code this} */ public Builder versionDescription(com.aliyun.ros.cdk.core.IResolvable versionDescription) { this.versionDescription = versionDescription; return this; } /** * Sets the value of {@link LaunchTemplateProps#getVSwitchId} * @param vSwitchId Property vSwitchId: The vSwitch Id to create ecs instance. * @return {@code this} */ public Builder vSwitchId(java.lang.String vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getVSwitchId} * @param vSwitchId Property vSwitchId: The vSwitch Id to create ecs instance. * @return {@code this} */ public Builder vSwitchId(com.aliyun.ros.cdk.core.IResolvable vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getZoneId} * @param zoneId Property zoneId: Current zone to create the instance. * @return {@code this} */ public Builder zoneId(java.lang.String zoneId) { this.zoneId = zoneId; return this; } /** * Sets the value of {@link LaunchTemplateProps#getZoneId} * @param zoneId Property zoneId: Current zone to create the instance. * @return {@code this} */ public Builder zoneId(com.aliyun.ros.cdk.core.IResolvable zoneId) { this.zoneId = zoneId; return this; } /** * Builds the configured instance. * @return a new instance of {@link LaunchTemplateProps} * @throws NullPointerException if any required attribute was not provided */ @Override public LaunchTemplateProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link LaunchTemplateProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements LaunchTemplateProps { private final java.lang.Object launchTemplateName; private final java.lang.Object autoReleaseTime; 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 imageId; private final java.lang.Object imageOwnerAlias; private final java.lang.Object instanceChargeType; private final java.lang.Object instanceName; private final java.lang.Object instanceType; private final java.lang.Object internetChargeType; private final java.lang.Object internetMaxBandwidthOut; private final java.lang.Object ioOptimized; private final java.lang.Object ipv6AddressCount; private final java.lang.Object keyPairName; private final java.lang.Object networkInterfaces; private final java.lang.Object networkType; private final java.lang.Object passwordInherit; private final java.lang.Object period; private final java.lang.Object privateIpAddress; 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 spotPriceLimit; private final java.lang.Object spotStrategy; private final java.lang.Object systemDiskCategory; private final java.lang.Object systemDiskDeleteWithInstance; 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 templateResourceGroupId; private final java.lang.Object templateTags; private final java.lang.Object userData; private final java.lang.Object versionDescription; private final java.lang.Object vSwitchId; private final java.lang.Object zoneId; /** * 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.launchTemplateName = software.amazon.jsii.Kernel.get(this, "launchTemplateName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.autoReleaseTime = software.amazon.jsii.Kernel.get(this, "autoReleaseTime", 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.imageId = software.amazon.jsii.Kernel.get(this, "imageId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.imageOwnerAlias = software.amazon.jsii.Kernel.get(this, "imageOwnerAlias", 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.instanceType = software.amazon.jsii.Kernel.get(this, "instanceType", 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.ipv6AddressCount = software.amazon.jsii.Kernel.get(this, "ipv6AddressCount", 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.networkInterfaces = software.amazon.jsii.Kernel.get(this, "networkInterfaces", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.networkType = software.amazon.jsii.Kernel.get(this, "networkType", 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.privateIpAddress = software.amazon.jsii.Kernel.get(this, "privateIpAddress", 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.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.systemDiskCategory = software.amazon.jsii.Kernel.get(this, "systemDiskCategory", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.systemDiskDeleteWithInstance = software.amazon.jsii.Kernel.get(this, "systemDiskDeleteWithInstance", 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.RosLaunchTemplate.TagsProperty.class))); this.templateResourceGroupId = software.amazon.jsii.Kernel.get(this, "templateResourceGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.templateTags = software.amazon.jsii.Kernel.get(this, "templateTags", 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.versionDescription = software.amazon.jsii.Kernel.get(this, "versionDescription", 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)); } /** * 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.launchTemplateName = java.util.Objects.requireNonNull(builder.launchTemplateName, "launchTemplateName is required"); this.autoReleaseTime = builder.autoReleaseTime; this.deploymentSetId = builder.deploymentSetId; this.description = builder.description; this.diskMappings = builder.diskMappings; this.hostName = builder.hostName; this.imageId = builder.imageId; this.imageOwnerAlias = builder.imageOwnerAlias; this.instanceChargeType = builder.instanceChargeType; this.instanceName = builder.instanceName; this.instanceType = builder.instanceType; this.internetChargeType = builder.internetChargeType; this.internetMaxBandwidthOut = builder.internetMaxBandwidthOut; this.ioOptimized = builder.ioOptimized; this.ipv6AddressCount = builder.ipv6AddressCount; this.keyPairName = builder.keyPairName; this.networkInterfaces = builder.networkInterfaces; this.networkType = builder.networkType; this.passwordInherit = builder.passwordInherit; this.period = builder.period; this.privateIpAddress = builder.privateIpAddress; 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.spotPriceLimit = builder.spotPriceLimit; this.spotStrategy = builder.spotStrategy; this.systemDiskCategory = builder.systemDiskCategory; this.systemDiskDeleteWithInstance = builder.systemDiskDeleteWithInstance; this.systemDiskDescription = builder.systemDiskDescription; this.systemDiskDiskName = builder.systemDiskDiskName; this.systemDiskPerformanceLevel = builder.systemDiskPerformanceLevel; this.systemDiskSize = builder.systemDiskSize; this.tags = (java.util.List)builder.tags; this.templateResourceGroupId = builder.templateResourceGroupId; this.templateTags = builder.templateTags; this.userData = builder.userData; this.versionDescription = builder.versionDescription; this.vSwitchId = builder.vSwitchId; this.zoneId = builder.zoneId; } @Override public final java.lang.Object getLaunchTemplateName() { return this.launchTemplateName; } @Override public final java.lang.Object getAutoReleaseTime() { return this.autoReleaseTime; } @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 getImageId() { return this.imageId; } @Override public final java.lang.Object getImageOwnerAlias() { return this.imageOwnerAlias; } @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 getInstanceType() { return this.instanceType; } @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 getIpv6AddressCount() { return this.ipv6AddressCount; } @Override public final java.lang.Object getKeyPairName() { return this.keyPairName; } @Override public final java.lang.Object getNetworkInterfaces() { return this.networkInterfaces; } @Override public final java.lang.Object getNetworkType() { return this.networkType; } @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 getPrivateIpAddress() { return this.privateIpAddress; } @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 getSpotPriceLimit() { return this.spotPriceLimit; } @Override public final java.lang.Object getSpotStrategy() { return this.spotStrategy; } @Override public final java.lang.Object getSystemDiskCategory() { return this.systemDiskCategory; } @Override public final java.lang.Object getSystemDiskDeleteWithInstance() { return this.systemDiskDeleteWithInstance; } @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 getTemplateResourceGroupId() { return this.templateResourceGroupId; } @Override public final java.lang.Object getTemplateTags() { return this.templateTags; } @Override public final java.lang.Object getUserData() { return this.userData; } @Override public final java.lang.Object getVersionDescription() { return this.versionDescription; } @Override public final java.lang.Object getVSwitchId() { return this.vSwitchId; } @Override public final java.lang.Object getZoneId() { return this.zoneId; } @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("launchTemplateName", om.valueToTree(this.getLaunchTemplateName())); if (this.getAutoReleaseTime() != null) { data.set("autoReleaseTime", om.valueToTree(this.getAutoReleaseTime())); } 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.getImageId() != null) { data.set("imageId", om.valueToTree(this.getImageId())); } if (this.getImageOwnerAlias() != null) { data.set("imageOwnerAlias", om.valueToTree(this.getImageOwnerAlias())); } if (this.getInstanceChargeType() != null) { data.set("instanceChargeType", om.valueToTree(this.getInstanceChargeType())); } if (this.getInstanceName() != null) { data.set("instanceName", om.valueToTree(this.getInstanceName())); } if (this.getInstanceType() != null) { data.set("instanceType", om.valueToTree(this.getInstanceType())); } 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.getIpv6AddressCount() != null) { data.set("ipv6AddressCount", om.valueToTree(this.getIpv6AddressCount())); } if (this.getKeyPairName() != null) { data.set("keyPairName", om.valueToTree(this.getKeyPairName())); } if (this.getNetworkInterfaces() != null) { data.set("networkInterfaces", om.valueToTree(this.getNetworkInterfaces())); } if (this.getNetworkType() != null) { data.set("networkType", om.valueToTree(this.getNetworkType())); } if (this.getPasswordInherit() != null) { data.set("passwordInherit", om.valueToTree(this.getPasswordInherit())); } if (this.getPeriod() != null) { data.set("period", om.valueToTree(this.getPeriod())); } if (this.getPrivateIpAddress() != null) { data.set("privateIpAddress", om.valueToTree(this.getPrivateIpAddress())); } 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.getSpotPriceLimit() != null) { data.set("spotPriceLimit", om.valueToTree(this.getSpotPriceLimit())); } if (this.getSpotStrategy() != null) { data.set("spotStrategy", om.valueToTree(this.getSpotStrategy())); } if (this.getSystemDiskCategory() != null) { data.set("systemDiskCategory", om.valueToTree(this.getSystemDiskCategory())); } if (this.getSystemDiskDeleteWithInstance() != null) { data.set("systemDiskDeleteWithInstance", om.valueToTree(this.getSystemDiskDeleteWithInstance())); } 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.getTemplateResourceGroupId() != null) { data.set("templateResourceGroupId", om.valueToTree(this.getTemplateResourceGroupId())); } if (this.getTemplateTags() != null) { data.set("templateTags", om.valueToTree(this.getTemplateTags())); } if (this.getUserData() != null) { data.set("userData", om.valueToTree(this.getUserData())); } if (this.getVersionDescription() != null) { data.set("versionDescription", om.valueToTree(this.getVersionDescription())); } if (this.getVSwitchId() != null) { data.set("vSwitchId", om.valueToTree(this.getVSwitchId())); } if (this.getZoneId() != null) { data.set("zoneId", om.valueToTree(this.getZoneId())); } 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.LaunchTemplateProps")); 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; LaunchTemplateProps.Jsii$Proxy that = (LaunchTemplateProps.Jsii$Proxy) o; if (!launchTemplateName.equals(that.launchTemplateName)) return false; if (this.autoReleaseTime != null ? !this.autoReleaseTime.equals(that.autoReleaseTime) : that.autoReleaseTime != 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.imageId != null ? !this.imageId.equals(that.imageId) : that.imageId != null) return false; if (this.imageOwnerAlias != null ? !this.imageOwnerAlias.equals(that.imageOwnerAlias) : that.imageOwnerAlias != 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.instanceType != null ? !this.instanceType.equals(that.instanceType) : that.instanceType != 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.ipv6AddressCount != null ? !this.ipv6AddressCount.equals(that.ipv6AddressCount) : that.ipv6AddressCount != null) return false; if (this.keyPairName != null ? !this.keyPairName.equals(that.keyPairName) : that.keyPairName != null) return false; if (this.networkInterfaces != null ? !this.networkInterfaces.equals(that.networkInterfaces) : that.networkInterfaces != null) return false; if (this.networkType != null ? !this.networkType.equals(that.networkType) : that.networkType != 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.privateIpAddress != null ? !this.privateIpAddress.equals(that.privateIpAddress) : that.privateIpAddress != 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.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.systemDiskCategory != null ? !this.systemDiskCategory.equals(that.systemDiskCategory) : that.systemDiskCategory != null) return false; if (this.systemDiskDeleteWithInstance != null ? !this.systemDiskDeleteWithInstance.equals(that.systemDiskDeleteWithInstance) : that.systemDiskDeleteWithInstance != 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.templateResourceGroupId != null ? !this.templateResourceGroupId.equals(that.templateResourceGroupId) : that.templateResourceGroupId != null) return false; if (this.templateTags != null ? !this.templateTags.equals(that.templateTags) : that.templateTags != null) return false; if (this.userData != null ? !this.userData.equals(that.userData) : that.userData != null) return false; if (this.versionDescription != null ? !this.versionDescription.equals(that.versionDescription) : that.versionDescription != null) return false; if (this.vSwitchId != null ? !this.vSwitchId.equals(that.vSwitchId) : that.vSwitchId != null) return false; return this.zoneId != null ? this.zoneId.equals(that.zoneId) : that.zoneId == null; } @Override public final int hashCode() { int result = this.launchTemplateName.hashCode(); result = 31 * result + (this.autoReleaseTime != null ? this.autoReleaseTime.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.imageId != null ? this.imageId.hashCode() : 0); result = 31 * result + (this.imageOwnerAlias != null ? this.imageOwnerAlias.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.instanceType != null ? this.instanceType.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.ipv6AddressCount != null ? this.ipv6AddressCount.hashCode() : 0); result = 31 * result + (this.keyPairName != null ? this.keyPairName.hashCode() : 0); result = 31 * result + (this.networkInterfaces != null ? this.networkInterfaces.hashCode() : 0); result = 31 * result + (this.networkType != null ? this.networkType.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.privateIpAddress != null ? this.privateIpAddress.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.spotPriceLimit != null ? this.spotPriceLimit.hashCode() : 0); result = 31 * result + (this.spotStrategy != null ? this.spotStrategy.hashCode() : 0); result = 31 * result + (this.systemDiskCategory != null ? this.systemDiskCategory.hashCode() : 0); result = 31 * result + (this.systemDiskDeleteWithInstance != null ? this.systemDiskDeleteWithInstance.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.templateResourceGroupId != null ? this.templateResourceGroupId.hashCode() : 0); result = 31 * result + (this.templateTags != null ? this.templateTags.hashCode() : 0); result = 31 * result + (this.userData != null ? this.userData.hashCode() : 0); result = 31 * result + (this.versionDescription != null ? this.versionDescription.hashCode() : 0); result = 31 * result + (this.vSwitchId != null ? this.vSwitchId.hashCode() : 0); result = 31 * result + (this.zoneId != null ? this.zoneId.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy