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

com.aliyun.ros.cdk.cloudphone.InstanceGroup Maven / Gradle / Ivy

package com.aliyun.ros.cdk.cloudphone;

/**
 * This class encapsulates and extends the ROS resource type ALIYUN::CloudPhone::InstanceGroup, which is used to create and start cloud phones.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-12-13T06:45:05.503Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.cloudphone.$Module.class, fqn = "@alicloud/ros-cdk-cloudphone.InstanceGroup")
public class InstanceGroup extends com.aliyun.ros.cdk.core.Resource {

    protected InstanceGroup(final software.amazon.jsii.JsiiObjectRef objRef) {
        super(objRef);
    }

    protected InstanceGroup(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
        super(initializationMode);
    }

    /**
     * Param scope - scope in which this resource is defined Param id    - scoped id of the resource Param props - resource properties.
     * 

* @param scope This parameter is required. * @param id This parameter is required. * @param props This parameter is required. * @param enableResourcePropertyConstraint */ public InstanceGroup(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cloudphone.InstanceGroupProps props, final @org.jetbrains.annotations.Nullable java.lang.Boolean enableResourcePropertyConstraint) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required"), enableResourcePropertyConstraint }); } /** * Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties. *

* @param scope This parameter is required. * @param id This parameter is required. * @param props This parameter is required. */ public InstanceGroup(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cloudphone.InstanceGroupProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") }); } /** * Attribute InstanceIds: instance ids. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrInstanceIds() { return software.amazon.jsii.Kernel.get(this, "attrInstanceIds", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } /** * Attribute OrderId: oder id. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrOrderId() { return software.amazon.jsii.Kernel.get(this, "attrOrderId", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } /** * Attribute PrivateIps: Private IP address list of created cloud phone instances. *

* Only for VPC instance. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrPrivateIps() { return software.amazon.jsii.Kernel.get(this, "attrPrivateIps", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } /** * Attribute TradePrice: price. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrTradePrice() { return software.amazon.jsii.Kernel.get(this, "attrTradePrice", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } protected @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableResourcePropertyConstraint() { return software.amazon.jsii.Kernel.get(this, "enableResourcePropertyConstraint", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } protected void setEnableResourcePropertyConstraint(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { software.amazon.jsii.Kernel.set(this, "enableResourcePropertyConstraint", java.util.Objects.requireNonNull(value, "enableResourcePropertyConstraint is required")); } protected @org.jetbrains.annotations.NotNull java.lang.String getId() { return software.amazon.jsii.Kernel.get(this, "id", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } protected void setId(final @org.jetbrains.annotations.NotNull java.lang.String value) { software.amazon.jsii.Kernel.set(this, "id", java.util.Objects.requireNonNull(value, "id is required")); } protected @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cloudphone.InstanceGroupProps getProps() { return software.amazon.jsii.Kernel.get(this, "props", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.cloudphone.InstanceGroupProps.class)); } protected void setProps(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.cloudphone.InstanceGroupProps value) { software.amazon.jsii.Kernel.set(this, "props", java.util.Objects.requireNonNull(value, "props is required")); } protected @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct getScope() { return software.amazon.jsii.Kernel.get(this, "scope", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.Construct.class)); } protected void setScope(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct value) { software.amazon.jsii.Kernel.set(this, "scope", java.util.Objects.requireNonNull(value, "scope is required")); } /** * A fluent builder for {@link com.aliyun.ros.cdk.cloudphone.InstanceGroup}. */ public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope This parameter is required. * @param id This parameter is required. * @param enableResourcePropertyConstraint */ public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) { return new Builder(scope, id, enableResourcePropertyConstraint); } /** * @return a new instance of {@link Builder}. * @param scope This parameter is required. * @param id This parameter is required. */ public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id) { return new Builder(scope, id, null); } private final com.aliyun.ros.cdk.core.Construct scope; private final java.lang.String id; private final java.lang.Boolean enableResourcePropertyConstraint; private final com.aliyun.ros.cdk.cloudphone.InstanceGroupProps.Builder props; private Builder(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) { this.scope = scope; this.id = id; this.enableResourcePropertyConstraint = enableResourcePropertyConstraint; this.props = new com.aliyun.ros.cdk.cloudphone.InstanceGroupProps.Builder(); } /** * Property imageId: The image id. *

* @return {@code this} * @param imageId Property imageId: The image id. This parameter is required. */ public Builder imageId(final java.lang.String imageId) { this.props.imageId(imageId); return this; } /** * Property imageId: The image id. *

* @return {@code this} * @param imageId Property imageId: The image id. This parameter is required. */ public Builder imageId(final com.aliyun.ros.cdk.core.IResolvable imageId) { this.props.imageId(imageId); return this; } /** * Property instanceType: instance type. *

* @return {@code this} * @param instanceType Property instanceType: instance type. This parameter is required. */ public Builder instanceType(final java.lang.String instanceType) { this.props.instanceType(instanceType); return this; } /** * Property instanceType: instance type. *

* @return {@code this} * @param instanceType Property instanceType: instance type. This parameter is required. */ public Builder instanceType(final com.aliyun.ros.cdk.core.IResolvable instanceType) { this.props.instanceType(instanceType); return this; } /** * 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} * @param securityGroupId Property securityGroupId: Security group to create ecs instance. This parameter is required. */ public Builder securityGroupId(final java.lang.String securityGroupId) { this.props.securityGroupId(securityGroupId); return this; } /** * 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} * @param securityGroupId Property securityGroupId: Security group to create ecs instance. This parameter is required. */ public Builder securityGroupId(final com.aliyun.ros.cdk.core.IResolvable securityGroupId) { this.props.securityGroupId(securityGroupId); return this; } /** * Property vSwitchId: vswitch id. *

* @return {@code this} * @param vSwitchId Property vSwitchId: vswitch id. This parameter is required. */ public Builder vSwitchId(final java.lang.String vSwitchId) { this.props.vSwitchId(vSwitchId); return this; } /** * Property vSwitchId: vswitch id. *

* @return {@code this} * @param vSwitchId Property vSwitchId: vswitch id. This parameter is required. */ public Builder vSwitchId(final com.aliyun.ros.cdk.core.IResolvable vSwitchId) { this.props.vSwitchId(vSwitchId); return this; } /** * Property amount: Specifies the number of ECS instances to create.Value range: 1~100 Default:1. *

* @return {@code this} * @param amount Property amount: Specifies the number of ECS instances to create.Value range: 1~100 Default:1. This parameter is required. */ public Builder amount(final java.lang.Number amount) { this.props.amount(amount); return this; } /** * Property amount: Specifies the number of ECS instances to create.Value range: 1~100 Default:1. *

* @return {@code this} * @param amount Property amount: Specifies the number of ECS instances to create.Value range: 1~100 Default:1. This parameter is required. */ public Builder amount(final com.aliyun.ros.cdk.core.IResolvable amount) { this.props.amount(amount); return this; } /** * Property autoPay: Whether to pay automatically, the default is true. *

* @return {@code this} * @param autoPay Property autoPay: Whether to pay automatically, the default is true. This parameter is required. */ public Builder autoPay(final java.lang.Boolean autoPay) { this.props.autoPay(autoPay); return this; } /** * Property autoPay: Whether to pay automatically, the default is true. *

* @return {@code this} * @param autoPay Property autoPay: Whether to pay automatically, the default is true. This parameter is required. */ public Builder autoPay(final com.aliyun.ros.cdk.core.IResolvable autoPay) { this.props.autoPay(autoPay); return this; } /** * Property autoRenew: Whether renew the fee automatically. *

* When the parameter InstanceChargeType is PrePaid, it will take effect. * Range of value:True: automatic renewal. * False: no automatic renewal. Default value is False. *

* @return {@code this} * @param autoRenew Property autoRenew: Whether renew the fee automatically. This parameter is required. */ public Builder autoRenew(final java.lang.Boolean autoRenew) { this.props.autoRenew(autoRenew); return this; } /** * Property autoRenew: Whether renew the fee automatically. *

* When the parameter InstanceChargeType is PrePaid, it will take effect. * Range of value:True: automatic renewal. * False: no automatic renewal. Default value is False. *

* @return {@code this} * @param autoRenew Property autoRenew: Whether renew the fee automatically. This parameter is required. */ public Builder autoRenew(final com.aliyun.ros.cdk.core.IResolvable autoRenew) { this.props.autoRenew(autoRenew); return this; } /** * Property chargeType: Instance internet access charge type. *

* @return {@code this} * @param chargeType Property chargeType: Instance internet access charge type. This parameter is required. */ public Builder chargeType(final java.lang.String chargeType) { this.props.chargeType(chargeType); return this; } /** * Property chargeType: Instance internet access charge type. *

* @return {@code this} * @param chargeType Property chargeType: Instance internet access charge type. This parameter is required. */ public Builder chargeType(final com.aliyun.ros.cdk.core.IResolvable chargeType) { this.props.chargeType(chargeType); return this; } /** * Property description: Description of instance. *

* The length is 2~256 English or Chinese characters and cannot start with http:// and https://. *

* @return {@code this} * @param description Property description: Description of instance. This parameter is required. */ public Builder description(final java.lang.String description) { this.props.description(description); return this; } /** * Property description: Description of instance. *

* The length is 2~256 English or Chinese characters and cannot start with http:// and https://. *

* @return {@code this} * @param description Property description: Description of instance. This parameter is required. */ public Builder description(final com.aliyun.ros.cdk.core.IResolvable description) { this.props.description(description); return this; } /** * Property eipBandwidth: EIP bandwidth value, the value range is 1-200. *

* Setting this parameter will automatically create an EIP instance * corresponding to the bandwidth and bind the EIP instance to the * cloud phone instance. When the instance is released, this EIP * instance will be released and recycled together. *

* @return {@code this} * @param eipBandwidth Property eipBandwidth: EIP bandwidth value, the value range is 1-200. This parameter is required. */ public Builder eipBandwidth(final java.lang.Number eipBandwidth) { this.props.eipBandwidth(eipBandwidth); return this; } /** * Property eipBandwidth: EIP bandwidth value, the value range is 1-200. *

* Setting this parameter will automatically create an EIP instance * corresponding to the bandwidth and bind the EIP instance to the * cloud phone instance. When the instance is released, this EIP * instance will be released and recycled together. *

* @return {@code this} * @param eipBandwidth Property eipBandwidth: EIP bandwidth value, the value range is 1-200. This parameter is required. */ public Builder eipBandwidth(final com.aliyun.ros.cdk.core.IResolvable eipBandwidth) { this.props.eipBandwidth(eipBandwidth); return this; } /** * 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} * @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 ".", "-". This parameter is required. */ public Builder instanceName(final java.lang.String instanceName) { this.props.instanceName(instanceName); return this; } /** * 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} * @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 ".", "-". This parameter is required. */ public Builder instanceName(final com.aliyun.ros.cdk.core.IResolvable instanceName) { this.props.instanceName(instanceName); return this; } /** * Property keyPairName: Cloud phone instance key pair name. *

* The cloud phone key can be imported through the ImportKeyPair interface. *

* @return {@code this} * @param keyPairName Property keyPairName: Cloud phone instance key pair name. This parameter is required. */ public Builder keyPairName(final java.lang.String keyPairName) { this.props.keyPairName(keyPairName); return this; } /** * Property keyPairName: Cloud phone instance key pair name. *

* The cloud phone key can be imported through the ImportKeyPair interface. *

* @return {@code this} * @param keyPairName Property keyPairName: Cloud phone instance key pair name. This parameter is required. */ public Builder keyPairName(final com.aliyun.ros.cdk.core.IResolvable keyPairName) { this.props.keyPairName(keyPairName); return this; } /** * Property period: Prepaid time period. *

* While PeriodUnit is month, it could be 1, 2, 3, 6. * While PeriodUnit is year, it could be from 1 to 5Default value is 1. *

* @return {@code this} * @param period Property period: Prepaid time period. This parameter is required. */ public Builder period(final java.lang.Number period) { this.props.period(period); return this; } /** * Property period: Prepaid time period. *

* While PeriodUnit is month, it could be 1, 2, 3, 6. * While PeriodUnit is year, it could be from 1 to 5Default value is 1. *

* @return {@code this} * @param period Property period: Prepaid time period. This parameter is required. */ public Builder period(final com.aliyun.ros.cdk.core.IResolvable period) { this.props.period(period); return this; } /** * Property periodUnit: Unit of prepaid time period, it could be Month/Year. *

* Default value is Month. *

* @return {@code this} * @param periodUnit Property periodUnit: Unit of prepaid time period, it could be Month/Year. This parameter is required. */ public Builder periodUnit(final java.lang.String periodUnit) { this.props.periodUnit(periodUnit); return this; } /** * Property periodUnit: Unit of prepaid time period, it could be Month/Year. *

* Default value is Month. *

* @return {@code this} * @param periodUnit Property periodUnit: Unit of prepaid time period, it could be Month/Year. This parameter is required. */ public Builder periodUnit(final com.aliyun.ros.cdk.core.IResolvable periodUnit) { this.props.periodUnit(periodUnit); return this; } /** * Property resolution: You can use the DescribeInstanceTypes interface to query the list of resolutions supported by the current specification and select an appropriate resolution. *

* @return {@code this} * @param resolution Property resolution: You can use the DescribeInstanceTypes interface to query the list of resolutions supported by the current specification and select an appropriate resolution. This parameter is required. */ public Builder resolution(final java.lang.String resolution) { this.props.resolution(resolution); return this; } /** * Property resolution: You can use the DescribeInstanceTypes interface to query the list of resolutions supported by the current specification and select an appropriate resolution. *

* @return {@code this} * @param resolution Property resolution: You can use the DescribeInstanceTypes interface to query the list of resolutions supported by the current specification and select an appropriate resolution. This parameter is required. */ public Builder resolution(final com.aliyun.ros.cdk.core.IResolvable resolution) { this.props.resolution(resolution); return this; } /** * Property tag: Tags to attach to instance. *

* Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required. *

* @return {@code this} * @param tag Property tag: Tags to attach to instance. This parameter is required. */ public Builder tag(final com.aliyun.ros.cdk.core.IResolvable tag) { this.props.tag(tag); return this; } /** * Property tag: Tags to attach to instance. *

* Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required. *

* @return {@code this} * @param tag Property tag: Tags to attach to instance. This parameter is required. */ public Builder tag(final java.util.List tag) { this.props.tag(tag); return this; } /** * Property vncPassword: Cloud phone VNC password. *

* The password must be six characters long, and must contain only uppercase, * lowercase English letters and Arabic numerals. *

* @return {@code this} * @param vncPassword Property vncPassword: Cloud phone VNC password. This parameter is required. */ public Builder vncPassword(final java.lang.String vncPassword) { this.props.vncPassword(vncPassword); return this; } /** * Property vncPassword: Cloud phone VNC password. *

* The password must be six characters long, and must contain only uppercase, * lowercase English letters and Arabic numerals. *

* @return {@code this} * @param vncPassword Property vncPassword: Cloud phone VNC password. This parameter is required. */ public Builder vncPassword(final com.aliyun.ros.cdk.core.IResolvable vncPassword) { this.props.vncPassword(vncPassword); return this; } /** * @return a newly built instance of {@link com.aliyun.ros.cdk.cloudphone.InstanceGroup}. */ @Override public com.aliyun.ros.cdk.cloudphone.InstanceGroup build() { return new com.aliyun.ros.cdk.cloudphone.InstanceGroup( this.scope, this.id, this.props.build(), this.enableResourcePropertyConstraint ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy