
software.amazon.awscdk.services.iotsitewise.CfnAssetProps Maven / Gradle / Ivy
package software.amazon.awscdk.services.iotsitewise;
/**
* Properties for defining a `AWS::IoTSiteWise::Asset`.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.40.0 (build 9713b9d)", date = "2021-10-21T20:06:37.520Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.iotsitewise.$Module.class, fqn = "@aws-cdk/aws-iotsitewise.CfnAssetProps")
@software.amazon.jsii.Jsii.Proxy(CfnAssetProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnAssetProps extends software.amazon.jsii.JsiiSerializable {
/**
* `AWS::IoTSiteWise::Asset.AssetModelId`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getAssetModelId();
/**
* `AWS::IoTSiteWise::Asset.AssetName`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getAssetName();
/**
* `AWS::IoTSiteWise::Asset.AssetHierarchies`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getAssetHierarchies() {
return null;
}
/**
* `AWS::IoTSiteWise::Asset.AssetProperties`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getAssetProperties() {
return null;
}
/**
* `AWS::IoTSiteWise::Asset.Tags`.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getTags() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnAssetProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnAssetProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.String assetModelId;
private java.lang.String assetName;
private java.lang.Object assetHierarchies;
private java.lang.Object assetProperties;
private java.util.List tags;
/**
* Sets the value of {@link CfnAssetProps#getAssetModelId}
* @param assetModelId `AWS::IoTSiteWise::Asset.AssetModelId`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetModelId(java.lang.String assetModelId) {
this.assetModelId = assetModelId;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getAssetName}
* @param assetName `AWS::IoTSiteWise::Asset.AssetName`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetName(java.lang.String assetName) {
this.assetName = assetName;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getAssetHierarchies}
* @param assetHierarchies `AWS::IoTSiteWise::Asset.AssetHierarchies`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetHierarchies(software.amazon.awscdk.core.IResolvable assetHierarchies) {
this.assetHierarchies = assetHierarchies;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getAssetHierarchies}
* @param assetHierarchies `AWS::IoTSiteWise::Asset.AssetHierarchies`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetHierarchies(java.util.List extends java.lang.Object> assetHierarchies) {
this.assetHierarchies = assetHierarchies;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getAssetProperties}
* @param assetProperties `AWS::IoTSiteWise::Asset.AssetProperties`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetProperties(software.amazon.awscdk.core.IResolvable assetProperties) {
this.assetProperties = assetProperties;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getAssetProperties}
* @param assetProperties `AWS::IoTSiteWise::Asset.AssetProperties`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder assetProperties(java.util.List extends java.lang.Object> assetProperties) {
this.assetProperties = assetProperties;
return this;
}
/**
* Sets the value of {@link CfnAssetProps#getTags}
* @param tags `AWS::IoTSiteWise::Asset.Tags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder tags(java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
this.tags = (java.util.List)tags;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnAssetProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnAssetProps build() {
return new Jsii$Proxy(assetModelId, assetName, assetHierarchies, assetProperties, tags);
}
}
/**
* An implementation for {@link CfnAssetProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnAssetProps {
private final java.lang.String assetModelId;
private final java.lang.String assetName;
private final java.lang.Object assetHierarchies;
private final java.lang.Object assetProperties;
private final java.util.List tags;
/**
* 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.assetModelId = software.amazon.jsii.Kernel.get(this, "assetModelId", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.assetName = software.amazon.jsii.Kernel.get(this, "assetName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.assetHierarchies = software.amazon.jsii.Kernel.get(this, "assetHierarchies", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.assetProperties = software.amazon.jsii.Kernel.get(this, "assetProperties", 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(software.amazon.awscdk.core.CfnTag.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final java.lang.String assetModelId, final java.lang.String assetName, final java.lang.Object assetHierarchies, final java.lang.Object assetProperties, final java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.assetModelId = java.util.Objects.requireNonNull(assetModelId, "assetModelId is required");
this.assetName = java.util.Objects.requireNonNull(assetName, "assetName is required");
this.assetHierarchies = assetHierarchies;
this.assetProperties = assetProperties;
this.tags = (java.util.List)tags;
}
@Override
public final java.lang.String getAssetModelId() {
return this.assetModelId;
}
@Override
public final java.lang.String getAssetName() {
return this.assetName;
}
@Override
public final java.lang.Object getAssetHierarchies() {
return this.assetHierarchies;
}
@Override
public final java.lang.Object getAssetProperties() {
return this.assetProperties;
}
@Override
public final java.util.List getTags() {
return this.tags;
}
@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("assetModelId", om.valueToTree(this.getAssetModelId()));
data.set("assetName", om.valueToTree(this.getAssetName()));
if (this.getAssetHierarchies() != null) {
data.set("assetHierarchies", om.valueToTree(this.getAssetHierarchies()));
}
if (this.getAssetProperties() != null) {
data.set("assetProperties", om.valueToTree(this.getAssetProperties()));
}
if (this.getTags() != null) {
data.set("tags", om.valueToTree(this.getTags()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-iotsitewise.CfnAssetProps"));
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;
CfnAssetProps.Jsii$Proxy that = (CfnAssetProps.Jsii$Proxy) o;
if (!assetModelId.equals(that.assetModelId)) return false;
if (!assetName.equals(that.assetName)) return false;
if (this.assetHierarchies != null ? !this.assetHierarchies.equals(that.assetHierarchies) : that.assetHierarchies != null) return false;
if (this.assetProperties != null ? !this.assetProperties.equals(that.assetProperties) : that.assetProperties != null) return false;
return this.tags != null ? this.tags.equals(that.tags) : that.tags == null;
}
@Override
public final int hashCode() {
int result = this.assetModelId.hashCode();
result = 31 * result + (this.assetName.hashCode());
result = 31 * result + (this.assetHierarchies != null ? this.assetHierarchies.hashCode() : 0);
result = 31 * result + (this.assetProperties != null ? this.assetProperties.hashCode() : 0);
result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
return result;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy