software.amazon.awscdk.services.appstream.CfnImageBuilder Maven / Gradle / Ivy
Show all versions of appstream Show documentation
package software.amazon.awscdk.services.appstream;
/**
* A CloudFormation `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.219Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnImageBuilder")
public class CfnImageBuilder extends software.amazon.awscdk.core.CfnResource implements software.amazon.awscdk.core.IInspectable {
protected CfnImageBuilder(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected CfnImageBuilder(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.appstream.CfnImageBuilder.class, "CFN_RESOURCE_TYPE_NAME", java.lang.String.class);
}
/**
* Create a new `AWS::AppStream::ImageBuilder`.
*
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
* @param props - resource properties. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public CfnImageBuilder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id, final software.amazon.awscdk.services.appstream.CfnImageBuilderProps 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") });
}
/**
* Examines the CloudFormation resource and discloses attributes.
*
* EXPERIMENTAL
*
* @param inspector - tree inspector to collect and process attributes. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public void inspect(final software.amazon.awscdk.core.TreeInspector inspector) {
this.jsiiCall("inspect", Void.class, new Object[] { java.util.Objects.requireNonNull(inspector, "inspector is required") });
}
/**
* @param props This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
@Override
protected java.util.Map renderProperties(final java.util.Map props) {
return java.util.Collections.unmodifiableMap(this.jsiiCall("renderProperties", java.util.Map.class, new Object[] { java.util.Objects.requireNonNull(props, "props is required") }));
}
/**
* The CloudFormation resource type name for this resource class.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public final static java.lang.String CFN_RESOURCE_TYPE_NAME;
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public java.lang.String getAttrStreamingUrl() {
return this.jsiiGet("attrStreamingUrl", java.lang.String.class);
}
/**
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
protected java.util.Map getCfnProperties() {
return java.util.Collections.unmodifiableMap(this.jsiiGet("cfnProperties", java.util.Map.class));
}
/**
* `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)
public software.amazon.awscdk.core.TagManager getTags() {
return this.jsiiGet("tags", software.amazon.awscdk.core.TagManager.class);
}
/**
* `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)
public java.lang.String getInstanceType() {
return this.jsiiGet("instanceType", java.lang.String.class);
}
/**
* `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)
public void setInstanceType(final java.lang.String value) {
this.jsiiSet("instanceType", java.util.Objects.requireNonNull(value, "instanceType is required"));
}
/**
* `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)
public java.lang.Object getAccessEndpoints() {
return this.jsiiGet("accessEndpoints", java.lang.Object.class);
}
/**
* `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)
public void setAccessEndpoints(final software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("accessEndpoints", value);
}
/**
* `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)
public void setAccessEndpoints(final java.util.List value) {
this.jsiiSet("accessEndpoints", value);
}
/**
* `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)
public java.lang.String getAppstreamAgentVersion() {
return this.jsiiGet("appstreamAgentVersion", java.lang.String.class);
}
/**
* `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)
public void setAppstreamAgentVersion(final java.lang.String value) {
this.jsiiSet("appstreamAgentVersion", value);
}
/**
* `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)
public java.lang.String getDescription() {
return this.jsiiGet("description", java.lang.String.class);
}
/**
* `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)
public void setDescription(final java.lang.String value) {
this.jsiiSet("description", value);
}
/**
* `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)
public java.lang.String getDisplayName() {
return this.jsiiGet("displayName", java.lang.String.class);
}
/**
* `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)
public void setDisplayName(final java.lang.String value) {
this.jsiiSet("displayName", value);
}
/**
* `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)
public java.lang.Object getDomainJoinInfo() {
return this.jsiiGet("domainJoinInfo", java.lang.Object.class);
}
/**
* `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)
public void setDomainJoinInfo(final software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("domainJoinInfo", value);
}
/**
* `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)
public void setDomainJoinInfo(final software.amazon.awscdk.services.appstream.CfnImageBuilder.DomainJoinInfoProperty value) {
this.jsiiSet("domainJoinInfo", value);
}
/**
* `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)
public java.lang.Object getEnableDefaultInternetAccess() {
return this.jsiiGet("enableDefaultInternetAccess", java.lang.Object.class);
}
/**
* `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)
public void setEnableDefaultInternetAccess(final java.lang.Boolean value) {
this.jsiiSet("enableDefaultInternetAccess", value);
}
/**
* `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)
public void setEnableDefaultInternetAccess(final software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("enableDefaultInternetAccess", value);
}
/**
* `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)
public java.lang.String getImageArn() {
return this.jsiiGet("imageArn", java.lang.String.class);
}
/**
* `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)
public void setImageArn(final java.lang.String value) {
this.jsiiSet("imageArn", value);
}
/**
* `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)
public java.lang.String getImageName() {
return this.jsiiGet("imageName", java.lang.String.class);
}
/**
* `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)
public void setImageName(final java.lang.String value) {
this.jsiiSet("imageName", value);
}
/**
* `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)
public java.lang.String getName() {
return this.jsiiGet("name", java.lang.String.class);
}
/**
* `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)
public void setName(final java.lang.String value) {
this.jsiiSet("name", value);
}
/**
* `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)
public java.lang.Object getVpcConfig() {
return this.jsiiGet("vpcConfig", java.lang.Object.class);
}
/**
* `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)
public void setVpcConfig(final software.amazon.awscdk.core.IResolvable value) {
this.jsiiSet("vpcConfig", value);
}
/**
* `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)
public void setVpcConfig(final software.amazon.awscdk.services.appstream.CfnImageBuilder.VpcConfigProperty value) {
this.jsiiSet("vpcConfig", value);
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnImageBuilder.AccessEndpointProperty")
@software.amazon.jsii.Jsii.Proxy(AccessEndpointProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static interface AccessEndpointProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnImageBuilder.AccessEndpointProperty.EndpointType`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-endpointtype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
java.lang.String getEndpointType();
/**
* `CfnImageBuilder.AccessEndpointProperty.VpceId`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-vpceid
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
java.lang.String getVpceId();
/**
* @return a {@link Builder} of {@link AccessEndpointProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link AccessEndpointProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
private java.lang.String endpointType;
private java.lang.String vpceId;
/**
* Sets the value of {@link AccessEndpointProperty#getEndpointType}
* @param endpointType `CfnImageBuilder.AccessEndpointProperty.EndpointType`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder endpointType(java.lang.String endpointType) {
this.endpointType = endpointType;
return this;
}
/**
* Sets the value of {@link AccessEndpointProperty#getVpceId}
* @param vpceId `CfnImageBuilder.AccessEndpointProperty.VpceId`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder vpceId(java.lang.String vpceId) {
this.vpceId = vpceId;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link AccessEndpointProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public AccessEndpointProperty build() {
return new Jsii$Proxy(endpointType, vpceId);
}
}
/**
* An implementation for {@link AccessEndpointProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements AccessEndpointProperty {
private final java.lang.String endpointType;
private final java.lang.String vpceId;
/**
* 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.endpointType = this.jsiiGet("endpointType", java.lang.String.class);
this.vpceId = this.jsiiGet("vpceId", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String endpointType, final java.lang.String vpceId) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.endpointType = java.util.Objects.requireNonNull(endpointType, "endpointType is required");
this.vpceId = java.util.Objects.requireNonNull(vpceId, "vpceId is required");
}
@Override
public java.lang.String getEndpointType() {
return this.endpointType;
}
@Override
public java.lang.String getVpceId() {
return this.vpceId;
}
@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("endpointType", om.valueToTree(this.getEndpointType()));
data.set("vpceId", om.valueToTree(this.getVpceId()));
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.CfnImageBuilder.AccessEndpointProperty"));
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;
AccessEndpointProperty.Jsii$Proxy that = (AccessEndpointProperty.Jsii$Proxy) o;
if (!endpointType.equals(that.endpointType)) return false;
return this.vpceId.equals(that.vpceId);
}
@Override
public int hashCode() {
int result = this.endpointType.hashCode();
result = 31 * result + (this.vpceId.hashCode());
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnImageBuilder.DomainJoinInfoProperty")
@software.amazon.jsii.Jsii.Proxy(DomainJoinInfoProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static interface DomainJoinInfoProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnImageBuilder.DomainJoinInfoProperty.DirectoryName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-directoryname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getDirectoryName() {
return null;
}
/**
* `CfnImageBuilder.DomainJoinInfoProperty.OrganizationalUnitDistinguishedName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-organizationalunitdistinguishedname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.lang.String getOrganizationalUnitDistinguishedName() {
return null;
}
/**
* @return a {@link Builder} of {@link DomainJoinInfoProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link DomainJoinInfoProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
private java.lang.String directoryName;
private java.lang.String organizationalUnitDistinguishedName;
/**
* Sets the value of {@link DomainJoinInfoProperty#getDirectoryName}
* @param directoryName `CfnImageBuilder.DomainJoinInfoProperty.DirectoryName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder directoryName(java.lang.String directoryName) {
this.directoryName = directoryName;
return this;
}
/**
* Sets the value of {@link DomainJoinInfoProperty#getOrganizationalUnitDistinguishedName}
* @param organizationalUnitDistinguishedName `CfnImageBuilder.DomainJoinInfoProperty.OrganizationalUnitDistinguishedName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder organizationalUnitDistinguishedName(java.lang.String organizationalUnitDistinguishedName) {
this.organizationalUnitDistinguishedName = organizationalUnitDistinguishedName;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link DomainJoinInfoProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public DomainJoinInfoProperty build() {
return new Jsii$Proxy(directoryName, organizationalUnitDistinguishedName);
}
}
/**
* An implementation for {@link DomainJoinInfoProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DomainJoinInfoProperty {
private final java.lang.String directoryName;
private final java.lang.String organizationalUnitDistinguishedName;
/**
* 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.directoryName = this.jsiiGet("directoryName", java.lang.String.class);
this.organizationalUnitDistinguishedName = this.jsiiGet("organizationalUnitDistinguishedName", java.lang.String.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.lang.String directoryName, final java.lang.String organizationalUnitDistinguishedName) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.directoryName = directoryName;
this.organizationalUnitDistinguishedName = organizationalUnitDistinguishedName;
}
@Override
public java.lang.String getDirectoryName() {
return this.directoryName;
}
@Override
public java.lang.String getOrganizationalUnitDistinguishedName() {
return this.organizationalUnitDistinguishedName;
}
@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();
if (this.getDirectoryName() != null) {
data.set("directoryName", om.valueToTree(this.getDirectoryName()));
}
if (this.getOrganizationalUnitDistinguishedName() != null) {
data.set("organizationalUnitDistinguishedName", om.valueToTree(this.getOrganizationalUnitDistinguishedName()));
}
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.CfnImageBuilder.DomainJoinInfoProperty"));
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;
DomainJoinInfoProperty.Jsii$Proxy that = (DomainJoinInfoProperty.Jsii$Proxy) o;
if (this.directoryName != null ? !this.directoryName.equals(that.directoryName) : that.directoryName != null) return false;
return this.organizationalUnitDistinguishedName != null ? this.organizationalUnitDistinguishedName.equals(that.organizationalUnitDistinguishedName) : that.organizationalUnitDistinguishedName == null;
}
@Override
public int hashCode() {
int result = this.directoryName != null ? this.directoryName.hashCode() : 0;
result = 31 * result + (this.organizationalUnitDistinguishedName != null ? this.organizationalUnitDistinguishedName.hashCode() : 0);
return result;
}
}
}
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html
*/
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnImageBuilder.VpcConfigProperty")
@software.amazon.jsii.Jsii.Proxy(VpcConfigProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static interface VpcConfigProperty extends software.amazon.jsii.JsiiSerializable {
/**
* `CfnImageBuilder.VpcConfigProperty.SecurityGroupIds`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-securitygroupids
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.util.List getSecurityGroupIds() {
return null;
}
/**
* `CfnImageBuilder.VpcConfigProperty.SubnetIds`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-subnetids
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
default java.util.List getSubnetIds() {
return null;
}
/**
* @return a {@link Builder} of {@link VpcConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link VpcConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
private java.util.List securityGroupIds;
private java.util.List subnetIds;
/**
* Sets the value of {@link VpcConfigProperty#getSecurityGroupIds}
* @param securityGroupIds `CfnImageBuilder.VpcConfigProperty.SecurityGroupIds`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder securityGroupIds(java.util.List securityGroupIds) {
this.securityGroupIds = securityGroupIds;
return this;
}
/**
* Sets the value of {@link VpcConfigProperty#getSubnetIds}
* @param subnetIds `CfnImageBuilder.VpcConfigProperty.SubnetIds`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder subnetIds(java.util.List subnetIds) {
this.subnetIds = subnetIds;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link VpcConfigProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public VpcConfigProperty build() {
return new Jsii$Proxy(securityGroupIds, subnetIds);
}
}
/**
* An implementation for {@link VpcConfigProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VpcConfigProperty {
private final java.util.List securityGroupIds;
private final java.util.List subnetIds;
/**
* 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.securityGroupIds = this.jsiiGet("securityGroupIds", java.util.List.class);
this.subnetIds = this.jsiiGet("subnetIds", java.util.List.class);
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
private Jsii$Proxy(final java.util.List securityGroupIds, final java.util.List subnetIds) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.securityGroupIds = securityGroupIds;
this.subnetIds = subnetIds;
}
@Override
public java.util.List getSecurityGroupIds() {
return this.securityGroupIds;
}
@Override
public java.util.List getSubnetIds() {
return this.subnetIds;
}
@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();
if (this.getSecurityGroupIds() != null) {
data.set("securityGroupIds", om.valueToTree(this.getSecurityGroupIds()));
}
if (this.getSubnetIds() != null) {
data.set("subnetIds", om.valueToTree(this.getSubnetIds()));
}
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.CfnImageBuilder.VpcConfigProperty"));
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;
VpcConfigProperty.Jsii$Proxy that = (VpcConfigProperty.Jsii$Proxy) o;
if (this.securityGroupIds != null ? !this.securityGroupIds.equals(that.securityGroupIds) : that.securityGroupIds != null) return false;
return this.subnetIds != null ? this.subnetIds.equals(that.subnetIds) : that.subnetIds == null;
}
@Override
public int hashCode() {
int result = this.securityGroupIds != null ? this.securityGroupIds.hashCode() : 0;
result = 31 * result + (this.subnetIds != null ? this.subnetIds.hashCode() : 0);
return result;
}
}
}
/**
* A fluent builder for {@link software.amazon.awscdk.services.appstream.CfnImageBuilder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static final class Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope - scope in which this resource is defined. This parameter is required.
* @param id - scoped id of the resource. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public static Builder create(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id);
}
private final software.amazon.awscdk.core.Construct scope;
private final java.lang.String id;
private final software.amazon.awscdk.services.appstream.CfnImageBuilderProps.Builder props;
private Builder(final software.amazon.awscdk.core.Construct scope, final java.lang.String id) {
this.scope = scope;
this.id = id;
this.props = new software.amazon.awscdk.services.appstream.CfnImageBuilderProps.Builder();
}
/**
* `AWS::AppStream::ImageBuilder.InstanceType`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-instancetype
* @param instanceType `AWS::AppStream::ImageBuilder.InstanceType`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder instanceType(final java.lang.String instanceType) {
this.props.instanceType(instanceType);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.AccessEndpoints`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints
* @param accessEndpoints `AWS::AppStream::ImageBuilder.AccessEndpoints`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder accessEndpoints(final software.amazon.awscdk.core.IResolvable accessEndpoints) {
this.props.accessEndpoints(accessEndpoints);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.AccessEndpoints`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints
* @param accessEndpoints `AWS::AppStream::ImageBuilder.AccessEndpoints`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder accessEndpoints(final java.util.List accessEndpoints) {
this.props.accessEndpoints(accessEndpoints);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.AppstreamAgentVersion`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion
* @param appstreamAgentVersion `AWS::AppStream::ImageBuilder.AppstreamAgentVersion`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder appstreamAgentVersion(final java.lang.String appstreamAgentVersion) {
this.props.appstreamAgentVersion(appstreamAgentVersion);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.Description`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-description
* @param description `AWS::AppStream::ImageBuilder.Description`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder description(final java.lang.String description) {
this.props.description(description);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.DisplayName`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-displayname
* @param displayName `AWS::AppStream::ImageBuilder.DisplayName`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder displayName(final java.lang.String displayName) {
this.props.displayName(displayName);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.DomainJoinInfo`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo
* @param domainJoinInfo `AWS::AppStream::ImageBuilder.DomainJoinInfo`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder domainJoinInfo(final software.amazon.awscdk.core.IResolvable domainJoinInfo) {
this.props.domainJoinInfo(domainJoinInfo);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.DomainJoinInfo`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo
* @param domainJoinInfo `AWS::AppStream::ImageBuilder.DomainJoinInfo`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder domainJoinInfo(final software.amazon.awscdk.services.appstream.CfnImageBuilder.DomainJoinInfoProperty domainJoinInfo) {
this.props.domainJoinInfo(domainJoinInfo);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess
* @param enableDefaultInternetAccess `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder enableDefaultInternetAccess(final java.lang.Boolean enableDefaultInternetAccess) {
this.props.enableDefaultInternetAccess(enableDefaultInternetAccess);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess
* @param enableDefaultInternetAccess `AWS::AppStream::ImageBuilder.EnableDefaultInternetAccess`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder enableDefaultInternetAccess(final software.amazon.awscdk.core.IResolvable enableDefaultInternetAccess) {
this.props.enableDefaultInternetAccess(enableDefaultInternetAccess);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.ImageArn`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagearn
* @param imageArn `AWS::AppStream::ImageBuilder.ImageArn`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder imageArn(final java.lang.String imageArn) {
this.props.imageArn(imageArn);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.ImageName`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagename
* @param imageName `AWS::AppStream::ImageBuilder.ImageName`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder imageName(final java.lang.String imageName) {
this.props.imageName(imageName);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.Name`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name
* @param name `AWS::AppStream::ImageBuilder.Name`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder name(final java.lang.String name) {
this.props.name(name);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.Tags`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags
* @param tags `AWS::AppStream::ImageBuilder.Tags`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder tags(final java.util.List tags) {
this.props.tags(tags);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.VpcConfig`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig
* @param vpcConfig `AWS::AppStream::ImageBuilder.VpcConfig`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder vpcConfig(final software.amazon.awscdk.core.IResolvable vpcConfig) {
this.props.vpcConfig(vpcConfig);
return this;
}
/**
* `AWS::AppStream::ImageBuilder.VpcConfig`.
*
* @return {@code this}
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig
* @param vpcConfig `AWS::AppStream::ImageBuilder.VpcConfig`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public Builder vpcConfig(final software.amazon.awscdk.services.appstream.CfnImageBuilder.VpcConfigProperty vpcConfig) {
this.props.vpcConfig(vpcConfig);
return this;
}
/**
* @returns a newly built instance of {@link software.amazon.awscdk.services.appstream.CfnImageBuilder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.External)
public software.amazon.awscdk.services.appstream.CfnImageBuilder build() {
return new software.amazon.awscdk.services.appstream.CfnImageBuilder(
this.scope,
this.id,
this.props.build()
);
}
}
}