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

software.amazon.awscdk.services.iot.CfnThing Maven / Gradle / Ivy

There is a newer version: 1.204.0
Show newest version
package software.amazon.awscdk.services.iot;

/**
 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.7.15 (build e429c41)", date = "2019-03-05T00:07:04.262Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.iot.$Module.class, fqn = "@aws-cdk/aws-iot.CfnThing")
public class CfnThing extends software.amazon.awscdk.Resource {
    protected CfnThing(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
        super(mode);
    }
    static {
        RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.iot.CfnThing.class, "resourceTypeName", java.lang.String.class);
    }
    /**
     * Creates a new ``AWS::IoT::Thing``.
     * @param scope scope in which this resource is defined
     * @param id scoped id of the resource
     * @param props resource properties
     */
    public CfnThing(final software.amazon.awscdk.Construct scope, final java.lang.String id, @javax.annotation.Nullable final software.amazon.awscdk.services.iot.CfnThingProps props) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.Jsii);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.stream.Stream.concat(java.util.stream.Stream.concat(java.util.stream.Stream.of(java.util.Objects.requireNonNull(scope, "scope is required")), java.util.stream.Stream.of(java.util.Objects.requireNonNull(id, "id is required"))), java.util.stream.Stream.of(props)).toArray());
    }
    /**
     * Creates a new ``AWS::IoT::Thing``.
     * @param scope scope in which this resource is defined
     * @param id scoped id of the resource
     */
    public CfnThing(final software.amazon.awscdk.Construct scope, final java.lang.String id) {
        super(software.amazon.jsii.JsiiObject.InitializationMode.Jsii);
        software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.stream.Stream.concat(java.util.stream.Stream.of(java.util.Objects.requireNonNull(scope, "scope is required")), java.util.stream.Stream.of(java.util.Objects.requireNonNull(id, "id is required"))).toArray());
    }

    @Override
    protected java.util.Map renderProperties(final java.lang.Object properties) {
        return this.jsiiCall("renderProperties", java.util.Map.class, java.util.stream.Stream.of(java.util.Objects.requireNonNull(properties, "properties is required")).toArray());
    }
    /**
     * The CloudFormation resource type name for this resource class.
     */
    public final static java.lang.String RESOURCE_TYPE_NAME;

    public software.amazon.awscdk.services.iot.CfnThingProps getPropertyOverrides() {
        return this.jsiiGet("propertyOverrides", software.amazon.awscdk.services.iot.CfnThingProps.class);
    }

    public java.lang.String getThingName() {
        return this.jsiiGet("thingName", java.lang.String.class);
    }
    /**
     * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html
     */
    public static interface AttributePayloadProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * ``CfnThing.AttributePayloadProperty.Attributes``
         * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
         */
        java.lang.Object getAttributes();
        /**
         * ``CfnThing.AttributePayloadProperty.Attributes``
         * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
         */
        void setAttributes(final software.amazon.awscdk.Token value);
        /**
         * ``CfnThing.AttributePayloadProperty.Attributes``
         * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
         */
        void setAttributes(final java.util.Map value);

        /**
         * @return a {@link Builder} of {@link AttributePayloadProperty}
         */
        static Builder builder() {
            return new Builder();
        }

        /**
         * A builder for {@link AttributePayloadProperty}
         */
        final class Builder {
            @javax.annotation.Nullable
            private java.lang.Object _attributes;

            /**
             * Sets the value of Attributes
             * @param value ``CfnThing.AttributePayloadProperty.Attributes``
             * @return {@code this}
             */
            public Builder withAttributes(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                this._attributes = value;
                return this;
            }
            /**
             * Sets the value of Attributes
             * @param value ``CfnThing.AttributePayloadProperty.Attributes``
             * @return {@code this}
             */
            public Builder withAttributes(@javax.annotation.Nullable final java.util.Map value) {
                this._attributes = value;
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link AttributePayloadProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            public AttributePayloadProperty build() {
                return new AttributePayloadProperty() {
                    @javax.annotation.Nullable
                    private java.lang.Object $attributes = _attributes;

                    @Override
                    public java.lang.Object getAttributes() {
                        return this.$attributes;
                    }

                    @Override
                    public void setAttributes(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                        this.$attributes = value;
                    }

                    @Override
                    public void setAttributes(@javax.annotation.Nullable final java.util.Map value) {
                        this.$attributes = value;
                    }

                };
            }
        }

        /**
         * A proxy class which represents a concrete javascript instance of this type.
         */
        final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.iot.CfnThing.AttributePayloadProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * ``CfnThing.AttributePayloadProperty.Attributes``
             * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
             */
            @Override
            @javax.annotation.Nullable
            public java.lang.Object getAttributes() {
                return this.jsiiGet("attributes", java.lang.Object.class);
            }

            /**
             * ``CfnThing.AttributePayloadProperty.Attributes``
             * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
             */
            @Override
            public void setAttributes(@javax.annotation.Nullable final software.amazon.awscdk.Token value) {
                this.jsiiSet("attributes", value);
            }

            /**
             * ``CfnThing.AttributePayloadProperty.Attributes``
             * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes
             */
            @Override
            public void setAttributes(@javax.annotation.Nullable final java.util.Map value) {
                this.jsiiSet("attributes", value);
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy