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

com.aliyun.ros.cdk.iot.Product Maven / Gradle / Ivy

Go to download

Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com

There is a newer version: 1.5.0
Show newest version
package com.aliyun.ros.cdk.iot;

/**
 * A ROS resource type:  ALIYUN::IOT::Product.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2023-09-15T09:57:26.672Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.iot.$Module.class, fqn = "@alicloud/ros-cdk-iot.Product")
public class Product extends com.aliyun.ros.cdk.core.Resource {

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

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

    /**
     * Create a new ALIYUN::IOT::Product.
     * 

* 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 Product(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.iot.ProductProps 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 }); } /** * Create a new ALIYUN::IOT::Product. *

* 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 Product(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.iot.ProductProps 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 IotInstanceId: IOT instance ID. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrIotInstanceId() { return software.amazon.jsii.Kernel.get(this, "attrIotInstanceId", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } /** * Attribute ProductKey: The globally unique identifier of the product issued by IoT Platform. */ public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrProductKey() { return software.amazon.jsii.Kernel.get(this, "attrProductKey", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class)); } /** * A fluent builder for {@link com.aliyun.ros.cdk.iot.Product}. */ 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.iot.ProductProps.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.iot.ProductProps.Builder(); } /** * Property nodeType: The node type of the product. *

* Values: * 0: Device. A device cannot be mounted with sub-devices. It can connect to IoT Platform * either directly or as a sub-device of a gateway. * 1: Gateway. A gateway can be mounted with sub-devices. It can manage sub-devices, maintain * the topological relationships with sub-devices, and synchronize the topological relationships * to IoT Platform. *

* @return {@code this} * @param nodeType Property nodeType: The node type of the product. This parameter is required. */ public Builder nodeType(final java.lang.Number nodeType) { this.props.nodeType(nodeType); return this; } /** * Property nodeType: The node type of the product. *

* Values: * 0: Device. A device cannot be mounted with sub-devices. It can connect to IoT Platform * either directly or as a sub-device of a gateway. * 1: Gateway. A gateway can be mounted with sub-devices. It can manage sub-devices, maintain * the topological relationships with sub-devices, and synchronize the topological relationships * to IoT Platform. *

* @return {@code this} * @param nodeType Property nodeType: The node type of the product. This parameter is required. */ public Builder nodeType(final com.aliyun.ros.cdk.core.IResolvable nodeType) { this.props.nodeType(nodeType); return this; } /** * Property productName: The name of the product. *

* A product name can be 4 to 30 characters in length and can * contain Chinese characters, English letters, digits, and underscores (_). * Note A product name must be unique in an account. *

* @return {@code this} * @param productName Property productName: The name of the product. This parameter is required. */ public Builder productName(final java.lang.String productName) { this.props.productName(productName); return this; } /** * Property productName: The name of the product. *

* A product name can be 4 to 30 characters in length and can * contain Chinese characters, English letters, digits, and underscores (_). * Note A product name must be unique in an account. *

* @return {@code this} * @param productName Property productName: The name of the product. This parameter is required. */ public Builder productName(final com.aliyun.ros.cdk.core.IResolvable productName) { this.props.productName(productName); return this; } /** * Property aliyunCommodityCode: The edition of the product that you want to create. *

* There are two options: * iothub_senior: Pro Edition. * iothub: Basic Edition. * If you do not input this parameter, the default value is used, which is iothub (Basic * Edition). *

* @return {@code this} * @param aliyunCommodityCode Property aliyunCommodityCode: The edition of the product that you want to create. This parameter is required. */ public Builder aliyunCommodityCode(final java.lang.String aliyunCommodityCode) { this.props.aliyunCommodityCode(aliyunCommodityCode); return this; } /** * Property aliyunCommodityCode: The edition of the product that you want to create. *

* There are two options: * iothub_senior: Pro Edition. * iothub: Basic Edition. * If you do not input this parameter, the default value is used, which is iothub (Basic * Edition). *

* @return {@code this} * @param aliyunCommodityCode Property aliyunCommodityCode: The edition of the product that you want to create. This parameter is required. */ public Builder aliyunCommodityCode(final com.aliyun.ros.cdk.core.IResolvable aliyunCommodityCode) { this.props.aliyunCommodityCode(aliyunCommodityCode); return this; } /** * Property authType: Authentication device to access the Internet of Things platform under the product. *

* Optional: * secret: using a device key for device authentication. * Details can be found MQTT-TCP connection communication. * id2: Use things device authentication ID. * x509: X.509 certificates using the device for device authentication. * The use of X.509 certificates device side configuration instructions, see Using X.509 certificate authentication. * If this parameter is passed, the default value is secret. *

* @return {@code this} * @param authType Property authType: Authentication device to access the Internet of Things platform under the product. This parameter is required. */ public Builder authType(final java.lang.String authType) { this.props.authType(authType); return this; } /** * Property authType: Authentication device to access the Internet of Things platform under the product. *

* Optional: * secret: using a device key for device authentication. * Details can be found MQTT-TCP connection communication. * id2: Use things device authentication ID. * x509: X.509 certificates using the device for device authentication. * The use of X.509 certificates device side configuration instructions, see Using X.509 certificate authentication. * If this parameter is passed, the default value is secret. *

* @return {@code this} * @param authType Property authType: Authentication device to access the Internet of Things platform under the product. This parameter is required. */ public Builder authType(final com.aliyun.ros.cdk.core.IResolvable authType) { this.props.authType(authType); return this; } /** * Property categoryKey: Identifier Product category. *

* If you pass this parameter, the product will be created using the object model specified category; not passed, the standard model is not used in any category. * Call ListThingTemplates, view of things platform predefined category information from the returned results, get the value of CategoryKey. *

* @return {@code this} * @param categoryKey Property categoryKey: Identifier Product category. This parameter is required. */ public Builder categoryKey(final java.lang.String categoryKey) { this.props.categoryKey(categoryKey); return this; } /** * Property categoryKey: Identifier Product category. *

* If you pass this parameter, the product will be created using the object model specified category; not passed, the standard model is not used in any category. * Call ListThingTemplates, view of things platform predefined category information from the returned results, get the value of CategoryKey. *

* @return {@code this} * @param categoryKey Property categoryKey: Identifier Product category. This parameter is required. */ public Builder categoryKey(final com.aliyun.ros.cdk.core.IResolvable categoryKey) { this.props.categoryKey(categoryKey); return this; } /** * Property dataFormat: You must specify this parameter if the value of AliyunCommodityCode is iothub_senior. *

* This parameter is only available and required when you create a Pro Edition product. * Options: * 0: Do not parse/Custom. * 1: Alink JSON. *

* @return {@code this} * @param dataFormat Property dataFormat: You must specify this parameter if the value of AliyunCommodityCode is iothub_senior. This parameter is required. */ public Builder dataFormat(final java.lang.Number dataFormat) { this.props.dataFormat(dataFormat); return this; } /** * Property dataFormat: You must specify this parameter if the value of AliyunCommodityCode is iothub_senior. *

* This parameter is only available and required when you create a Pro Edition product. * Options: * 0: Do not parse/Custom. * 1: Alink JSON. *

* @return {@code this} * @param dataFormat Property dataFormat: You must specify this parameter if the value of AliyunCommodityCode is iothub_senior. This parameter is required. */ public Builder dataFormat(final com.aliyun.ros.cdk.core.IResolvable dataFormat) { this.props.dataFormat(dataFormat); return this; } /** * Property description: A description of the product. *

* The description can be a maximum of 100 characters in * length. *

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

* The description can be a maximum of 100 characters in * length. *

* @return {@code this} * @param description Property description: A description of the product. This parameter is required. */ public Builder description(final com.aliyun.ros.cdk.core.IResolvable description) { this.props.description(description); return this; } /** * Property id2: Whether ID2 certification. *

* Optional values: * true: the opening of ID2 certification. * false: do not open ID2 certification. * Do not pass this parameter, the default is not opened. * Explanation * Only 2 East China (Shanghai) regional support ID2 authentication. * If this parameter value is set to true, but passed AuthType parameter value is not id2, the system will AuthType parameter values prevail. *

* @return {@code this} * @param id2 Property id2: Whether ID2 certification. This parameter is required. */ public Builder id2(final java.lang.Boolean id2) { this.props.id2(id2); return this; } /** * Property id2: Whether ID2 certification. *

* Optional values: * true: the opening of ID2 certification. * false: do not open ID2 certification. * Do not pass this parameter, the default is not opened. * Explanation * Only 2 East China (Shanghai) regional support ID2 authentication. * If this parameter value is set to true, but passed AuthType parameter value is not id2, the system will AuthType parameter values prevail. *

* @return {@code this} * @param id2 Property id2: Whether ID2 certification. This parameter is required. */ public Builder id2(final com.aliyun.ros.cdk.core.IResolvable id2) { this.props.id2(id2); return this; } /** * Property iotInstanceId: Public instance does not pass this parameter; *

* instance that you need to buy the incoming instance ID. *

* @return {@code this} * @param iotInstanceId Property iotInstanceId: Public instance does not pass this parameter;. This parameter is required. */ public Builder iotInstanceId(final java.lang.String iotInstanceId) { this.props.iotInstanceId(iotInstanceId); return this; } /** * Property iotInstanceId: Public instance does not pass this parameter; *

* instance that you need to buy the incoming instance ID. *

* @return {@code this} * @param iotInstanceId Property iotInstanceId: Public instance does not pass this parameter;. This parameter is required. */ public Builder iotInstanceId(final com.aliyun.ros.cdk.core.IResolvable iotInstanceId) { this.props.iotInstanceId(iotInstanceId); return this; } /** * Property joinPermissionId: LoRaWAN network credential ID. *

* When networking mode NetType chosen LORA, the necessary parameters. * Please call QueryLoRaJoinPermissions query JoinPermissionId network credentials LoRaWAN under your account. * If you do not LoRaWAN network credentials, visit the network management platform to create things together. *

* @return {@code this} * @param joinPermissionId Property joinPermissionId: LoRaWAN network credential ID. This parameter is required. */ public Builder joinPermissionId(final java.lang.String joinPermissionId) { this.props.joinPermissionId(joinPermissionId); return this; } /** * Property joinPermissionId: LoRaWAN network credential ID. *

* When networking mode NetType chosen LORA, the necessary parameters. * Please call QueryLoRaJoinPermissions query JoinPermissionId network credentials LoRaWAN under your account. * If you do not LoRaWAN network credentials, visit the network management platform to create things together. *

* @return {@code this} * @param joinPermissionId Property joinPermissionId: LoRaWAN network credential ID. This parameter is required. */ public Builder joinPermissionId(final com.aliyun.ros.cdk.core.IResolvable joinPermissionId) { this.props.joinPermissionId(joinPermissionId); return this; } /** * Property netType: Networking mode. *

* Set this parameter only if you are creating a product whose devices directly connect * to IoT Platform. * Options: * WIFI * CELLULAR * ETHERNET * OTHER * The default value is WIFI. *

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

* Set this parameter only if you are creating a product whose devices directly connect * to IoT Platform. * Options: * WIFI * CELLULAR * ETHERNET * OTHER * The default value is WIFI. *

* @return {@code this} * @param netType Property netType: Networking mode. This parameter is required. */ public Builder netType(final com.aliyun.ros.cdk.core.IResolvable netType) { this.props.netType(netType); return this; } /** * Property protocolType: The protocol that devices of this product use to connect to gateways. *

* Set this parameter only if you are creating a product whose devices will be connected * to gateways. * Options: * modbus: Modbus. * opc-ua: OPC UA. * customize: Customized protocol. * ble: BLE. * zigbee: ZigBee. *

* @return {@code this} * @param protocolType Property protocolType: The protocol that devices of this product use to connect to gateways. This parameter is required. */ public Builder protocolType(final java.lang.String protocolType) { this.props.protocolType(protocolType); return this; } /** * Property protocolType: The protocol that devices of this product use to connect to gateways. *

* Set this parameter only if you are creating a product whose devices will be connected * to gateways. * Options: * modbus: Modbus. * opc-ua: OPC UA. * customize: Customized protocol. * ble: BLE. * zigbee: ZigBee. *

* @return {@code this} * @param protocolType Property protocolType: The protocol that devices of this product use to connect to gateways. This parameter is required. */ public Builder protocolType(final com.aliyun.ros.cdk.core.IResolvable protocolType) { this.props.protocolType(protocolType); return this; } /** * Property publishAuto: Whether to automatically model publication after the product is created. *

* true: publishing. * false: not released. * This parameter is not passed, the default value true. *

* @return {@code this} * @param publishAuto Property publishAuto: Whether to automatically model publication after the product is created. This parameter is required. */ public Builder publishAuto(final java.lang.Boolean publishAuto) { this.props.publishAuto(publishAuto); return this; } /** * Property publishAuto: Whether to automatically model publication after the product is created. *

* true: publishing. * false: not released. * This parameter is not passed, the default value true. *

* @return {@code this} * @param publishAuto Property publishAuto: Whether to automatically model publication after the product is created. This parameter is required. */ public Builder publishAuto(final com.aliyun.ros.cdk.core.IResolvable publishAuto) { this.props.publishAuto(publishAuto); return this; } /** * Property resourceGroupId: Resource group ID (group ID to view the resource in the resource management console), specify the product is classified as a resource group. *

* If this parameter is passed, the product will be classified as a default resource group. *

* @return {@code this} * @param resourceGroupId Property resourceGroupId: Resource group ID (group ID to view the resource in the resource management console), specify the product is classified as a resource group. This parameter is required. */ public Builder resourceGroupId(final java.lang.String resourceGroupId) { this.props.resourceGroupId(resourceGroupId); return this; } /** * Property resourceGroupId: Resource group ID (group ID to view the resource in the resource management console), specify the product is classified as a resource group. *

* If this parameter is passed, the product will be classified as a default resource group. *

* @return {@code this} * @param resourceGroupId Property resourceGroupId: Resource group ID (group ID to view the resource in the resource management console), specify the product is classified as a resource group. This parameter is required. */ public Builder resourceGroupId(final com.aliyun.ros.cdk.core.IResolvable resourceGroupId) { this.props.resourceGroupId(resourceGroupId); return this; } /** * @return a newly built instance of {@link com.aliyun.ros.cdk.iot.Product}. */ @Override public com.aliyun.ros.cdk.iot.Product build() { return new com.aliyun.ros.cdk.iot.Product( this.scope, this.id, this.props.build(), this.enableResourcePropertyConstraint ); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy