software.amazon.awscdk.services.appstream.CfnImageBuilderProps Maven / Gradle / Ivy
Show all versions of appstream Show documentation
package software.amazon.awscdk.services.appstream;
/**
* Properties for defining a `AWS::AppStream::ImageBuilder`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/0.21.1 (build 9ff44cb)", date = "2020-01-16T18:33:58.221Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnImageBuilderProps")
@software.amazon.jsii.Jsii.Proxy(CfnImageBuilderProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public interface CfnImageBuilderProps extends software.amazon.jsii.JsiiSerializable {
/**
* `AWS::AppStream::ImageBuilder.InstanceType`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-instancetype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
java.lang.String getInstanceType();
/**
* `AWS::AppStream::ImageBuilder.AccessEndpoints`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.Object getAccessEndpoints() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.AppstreamAgentVersion`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getAppstreamAgentVersion() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.Description`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-description
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getDescription() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.DisplayName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-displayname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getDisplayName() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.DomainJoinInfo`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.Object getDomainJoinInfo() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.Object getEnableDefaultInternetAccess() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.ImageArn`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagearn
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getImageArn() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.ImageName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagename
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getImageName() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.Name`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getName() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.Tags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.util.List getTags() {
return null;
}
/**
* `AWS::AppStream::ImageBuilder.VpcConfig`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.Object getVpcConfig() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnImageBuilderProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnImageBuilderProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
private java.lang.String instanceType;
private java.lang.Object accessEndpoints;
private java.lang.String appstreamAgentVersion;
private java.lang.String description;
private java.lang.String displayName;
private java.lang.Object domainJoinInfo;
private java.lang.Object enableDefaultInternetAccess;
private java.lang.String imageArn;
private java.lang.String imageName;
private java.lang.String name;
private java.util.List tags;
private java.lang.Object vpcConfig;
/**
* Sets the value of {@link CfnImageBuilderProps#getInstanceType}
* @param instanceType `AWS::AppStream::ImageBuilder.InstanceType`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder instanceType(java.lang.String instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getAccessEndpoints}
* @param accessEndpoints `AWS::AppStream::ImageBuilder.AccessEndpoints`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder accessEndpoints(software.amazon.awscdk.core.IResolvable accessEndpoints) {
this.accessEndpoints = accessEndpoints;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getAccessEndpoints}
* @param accessEndpoints `AWS::AppStream::ImageBuilder.AccessEndpoints`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder accessEndpoints(java.util.List accessEndpoints) {
this.accessEndpoints = accessEndpoints;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getAppstreamAgentVersion}
* @param appstreamAgentVersion `AWS::AppStream::ImageBuilder.AppstreamAgentVersion`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder appstreamAgentVersion(java.lang.String appstreamAgentVersion) {
this.appstreamAgentVersion = appstreamAgentVersion;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getDescription}
* @param description `AWS::AppStream::ImageBuilder.Description`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder description(java.lang.String description) {
this.description = description;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getDisplayName}
* @param displayName `AWS::AppStream::ImageBuilder.DisplayName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder displayName(java.lang.String displayName) {
this.displayName = displayName;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getDomainJoinInfo}
* @param domainJoinInfo `AWS::AppStream::ImageBuilder.DomainJoinInfo`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder domainJoinInfo(software.amazon.awscdk.core.IResolvable domainJoinInfo) {
this.domainJoinInfo = domainJoinInfo;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getDomainJoinInfo}
* @param domainJoinInfo `AWS::AppStream::ImageBuilder.DomainJoinInfo`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder domainJoinInfo(software.amazon.awscdk.services.appstream.CfnImageBuilder.DomainJoinInfoProperty domainJoinInfo) {
this.domainJoinInfo = domainJoinInfo;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getEnableDefaultInternetAccess}
* @param enableDefaultInternetAccess `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder enableDefaultInternetAccess(java.lang.Boolean enableDefaultInternetAccess) {
this.enableDefaultInternetAccess = enableDefaultInternetAccess;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getEnableDefaultInternetAccess}
* @param enableDefaultInternetAccess `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder enableDefaultInternetAccess(software.amazon.awscdk.core.IResolvable enableDefaultInternetAccess) {
this.enableDefaultInternetAccess = enableDefaultInternetAccess;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getImageArn}
* @param imageArn `AWS::AppStream::ImageBuilder.ImageArn`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder imageArn(java.lang.String imageArn) {
this.imageArn = imageArn;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getImageName}
* @param imageName `AWS::AppStream::ImageBuilder.ImageName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder imageName(java.lang.String imageName) {
this.imageName = imageName;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getName}
* @param name `AWS::AppStream::ImageBuilder.Name`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder name(java.lang.String name) {
this.name = name;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getTags}
* @param tags `AWS::AppStream::ImageBuilder.Tags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder tags(java.util.List tags) {
this.tags = tags;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getVpcConfig}
* @param vpcConfig `AWS::AppStream::ImageBuilder.VpcConfig`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder vpcConfig(software.amazon.awscdk.core.IResolvable vpcConfig) {
this.vpcConfig = vpcConfig;
return this;
}
/**
* Sets the value of {@link CfnImageBuilderProps#getVpcConfig}
* @param vpcConfig `AWS::AppStream::ImageBuilder.VpcConfig`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder vpcConfig(software.amazon.awscdk.services.appstream.CfnImageBuilder.VpcConfigProperty vpcConfig) {
this.vpcConfig = vpcConfig;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnImageBuilderProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public CfnImageBuilderProps build() {
return new Jsii$Proxy(instanceType, accessEndpoints, appstreamAgentVersion, description, displayName, domainJoinInfo, enableDefaultInternetAccess, imageArn, imageName, name, tags, vpcConfig);
}
}
/**
* An implementation for {@link CfnImageBuilderProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnImageBuilderProps {
private final java.lang.String instanceType;
private final java.lang.Object accessEndpoints;
private final java.lang.String appstreamAgentVersion;
private final java.lang.String description;
private final java.lang.String displayName;
private final java.lang.Object domainJoinInfo;
private final java.lang.Object enableDefaultInternetAccess;
private final java.lang.String imageArn;
private final java.lang.String imageName;
private final java.lang.String name;
private final java.util.List tags;
private final java.lang.Object vpcConfig;
/**
* 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.instanceType = this.jsiiGet("instanceType", java.lang.String.class);
this.accessEndpoints = this.jsiiGet("accessEndpoints", java.lang.Object.class);
this.appstreamAgentVersion = this.jsiiGet("appstreamAgentVersion", java.lang.String.class);
this.description = this.jsiiGet("description", java.lang.String.class);
this.displayName = this.jsiiGet("displayName", java.lang.String.class);
this.domainJoinInfo = this.jsiiGet("domainJoinInfo", java.lang.Object.class);
this.enableDefaultInternetAccess = this.jsiiGet("enableDefaultInternetAccess", java.lang.Object.class);
this.imageArn = this.jsiiGet("imageArn", java.lang.String.class);
this.imageName = this.jsiiGet("imageName", java.lang.String.class);
this.name = this.jsiiGet("name", java.lang.String.class);
this.tags = this.jsiiGet("tags", java.util.List.class);
this.vpcConfig = this.jsiiGet("vpcConfig", java.lang.Object.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String instanceType, final java.lang.Object accessEndpoints, final java.lang.String appstreamAgentVersion, final java.lang.String description, final java.lang.String displayName, final java.lang.Object domainJoinInfo, final java.lang.Object enableDefaultInternetAccess, final java.lang.String imageArn, final java.lang.String imageName, final java.lang.String name, final java.util.List tags, final java.lang.Object vpcConfig) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.instanceType = java.util.Objects.requireNonNull(instanceType, "instanceType is required");
this.accessEndpoints = accessEndpoints;
this.appstreamAgentVersion = appstreamAgentVersion;
this.description = description;
this.displayName = displayName;
this.domainJoinInfo = domainJoinInfo;
this.enableDefaultInternetAccess = enableDefaultInternetAccess;
this.imageArn = imageArn;
this.imageName = imageName;
this.name = name;
this.tags = tags;
this.vpcConfig = vpcConfig;
}
@Override
public java.lang.String getInstanceType() {
return this.instanceType;
}
@Override
public java.lang.Object getAccessEndpoints() {
return this.accessEndpoints;
}
@Override
public java.lang.String getAppstreamAgentVersion() {
return this.appstreamAgentVersion;
}
@Override
public java.lang.String getDescription() {
return this.description;
}
@Override
public java.lang.String getDisplayName() {
return this.displayName;
}
@Override
public java.lang.Object getDomainJoinInfo() {
return this.domainJoinInfo;
}
@Override
public java.lang.Object getEnableDefaultInternetAccess() {
return this.enableDefaultInternetAccess;
}
@Override
public java.lang.String getImageArn() {
return this.imageArn;
}
@Override
public java.lang.String getImageName() {
return this.imageName;
}
@Override
public java.lang.String getName() {
return this.name;
}
@Override
public java.util.List getTags() {
return this.tags;
}
@Override
public java.lang.Object getVpcConfig() {
return this.vpcConfig;
}
@Override
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("instanceType", om.valueToTree(this.getInstanceType()));
if (this.getAccessEndpoints() != null) {
data.set("accessEndpoints", om.valueToTree(this.getAccessEndpoints()));
}
if (this.getAppstreamAgentVersion() != null) {
data.set("appstreamAgentVersion", om.valueToTree(this.getAppstreamAgentVersion()));
}
if (this.getDescription() != null) {
data.set("description", om.valueToTree(this.getDescription()));
}
if (this.getDisplayName() != null) {
data.set("displayName", om.valueToTree(this.getDisplayName()));
}
if (this.getDomainJoinInfo() != null) {
data.set("domainJoinInfo", om.valueToTree(this.getDomainJoinInfo()));
}
if (this.getEnableDefaultInternetAccess() != null) {
data.set("enableDefaultInternetAccess", om.valueToTree(this.getEnableDefaultInternetAccess()));
}
if (this.getImageArn() != null) {
data.set("imageArn", om.valueToTree(this.getImageArn()));
}
if (this.getImageName() != null) {
data.set("imageName", om.valueToTree(this.getImageName()));
}
if (this.getName() != null) {
data.set("name", om.valueToTree(this.getName()));
}
if (this.getTags() != null) {
data.set("tags", om.valueToTree(this.getTags()));
}
if (this.getVpcConfig() != null) {
data.set("vpcConfig", om.valueToTree(this.getVpcConfig()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-appstream.CfnImageBuilderProps"));
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 boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CfnImageBuilderProps.Jsii$Proxy that = (CfnImageBuilderProps.Jsii$Proxy) o;
if (!instanceType.equals(that.instanceType)) return false;
if (this.accessEndpoints != null ? !this.accessEndpoints.equals(that.accessEndpoints) : that.accessEndpoints != null) return false;
if (this.appstreamAgentVersion != null ? !this.appstreamAgentVersion.equals(that.appstreamAgentVersion) : that.appstreamAgentVersion != null) return false;
if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false;
if (this.displayName != null ? !this.displayName.equals(that.displayName) : that.displayName != null) return false;
if (this.domainJoinInfo != null ? !this.domainJoinInfo.equals(that.domainJoinInfo) : that.domainJoinInfo != null) return false;
if (this.enableDefaultInternetAccess != null ? !this.enableDefaultInternetAccess.equals(that.enableDefaultInternetAccess) : that.enableDefaultInternetAccess != null) return false;
if (this.imageArn != null ? !this.imageArn.equals(that.imageArn) : that.imageArn != null) return false;
if (this.imageName != null ? !this.imageName.equals(that.imageName) : that.imageName != null) return false;
if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false;
if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false;
return this.vpcConfig != null ? this.vpcConfig.equals(that.vpcConfig) : that.vpcConfig == null;
}
@Override
public int hashCode() {
int result = this.instanceType.hashCode();
result = 31 * result + (this.accessEndpoints != null ? this.accessEndpoints.hashCode() : 0);
result = 31 * result + (this.appstreamAgentVersion != null ? this.appstreamAgentVersion.hashCode() : 0);
result = 31 * result + (this.description != null ? this.description.hashCode() : 0);
result = 31 * result + (this.displayName != null ? this.displayName.hashCode() : 0);
result = 31 * result + (this.domainJoinInfo != null ? this.domainJoinInfo.hashCode() : 0);
result = 31 * result + (this.enableDefaultInternetAccess != null ? this.enableDefaultInternetAccess.hashCode() : 0);
result = 31 * result + (this.imageArn != null ? this.imageArn.hashCode() : 0);
result = 31 * result + (this.imageName != null ? this.imageName.hashCode() : 0);
result = 31 * result + (this.name != null ? this.name.hashCode() : 0);
result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
result = 31 * result + (this.vpcConfig != null ? this.vpcConfig.hashCode() : 0);
return result;
}
}
}