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

software.amazon.awscdk.services.appstream.CfnStack Maven / Gradle / Ivy

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

/**
 * @cloudformationResource AWS::AppStream::Stack
 * A CloudFormation `AWS::AppStream::Stack`
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html
 */
@javax.annotation.Generated(value = "jsii-pacmak/0.8.2 (build e9eb3c9)", date = "2019-04-04T15:01:00.799Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.appstream.$Module.class, fqn = "@aws-cdk/aws-appstream.CfnStack")
public class CfnStack extends software.amazon.awscdk.CfnResource {
    protected CfnStack(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
        super(mode);
    }
    static {
        RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.awscdk.services.appstream.CfnStack.class, "resourceTypeName", java.lang.String.class);
    }
    /**
     * Create a new `AWS::AppStream::Stack`.
     * @param scope - scope in which this resource is defined
     * @param id - scoped id of the resource
     * @param props - resource properties
     */
    public CfnStack(final software.amazon.awscdk.Construct scope, final java.lang.String id, @javax.annotation.Nullable final software.amazon.awscdk.services.appstream.CfnStackProps 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());
    }
    /**
     * Create a new `AWS::AppStream::Stack`.
     * @param scope - scope in which this resource is defined
     * @param id - scoped id of the resource
     */
    public CfnStack(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.appstream.CfnStackProps getPropertyOverrides() {
        return this.jsiiGet("propertyOverrides", software.amazon.awscdk.services.appstream.CfnStackProps.class);
    }

    /**
     * The `TagManager` handles setting, removing and formatting tags
     * 
     * Tags should be managed either passing them as properties during
     * initiation or by calling methods on this object. If both techniques are
     * used only the tags from the TagManager will be used. `Tag` (aspect)
     * will use the manager.
     */
    public software.amazon.awscdk.TagManager getTags() {
        return this.jsiiGet("tags", software.amazon.awscdk.TagManager.class);
    }
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html
     */
    public static interface ApplicationSettingsProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * `CfnStack.ApplicationSettingsProperty.Enabled`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-enabled
         */
        java.lang.Object getEnabled();
        /**
         * `CfnStack.ApplicationSettingsProperty.SettingsGroup`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-settingsgroup
         */
        java.lang.String getSettingsGroup();

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

        /**
         * A builder for {@link ApplicationSettingsProperty}
         */
        final class Builder {
            private java.lang.Object _enabled;
            @javax.annotation.Nullable
            private java.lang.String _settingsGroup;

            /**
             * Sets the value of Enabled
             * @param value `CfnStack.ApplicationSettingsProperty.Enabled`
             * @return {@code this}
             */
            public Builder withEnabled(final java.lang.Boolean value) {
                this._enabled = java.util.Objects.requireNonNull(value, "enabled is required");
                return this;
            }
            /**
             * Sets the value of Enabled
             * @param value `CfnStack.ApplicationSettingsProperty.Enabled`
             * @return {@code this}
             */
            public Builder withEnabled(final software.amazon.awscdk.Token value) {
                this._enabled = java.util.Objects.requireNonNull(value, "enabled is required");
                return this;
            }
            /**
             * Sets the value of SettingsGroup
             * @param value `CfnStack.ApplicationSettingsProperty.SettingsGroup`
             * @return {@code this}
             */
            public Builder withSettingsGroup(@javax.annotation.Nullable final java.lang.String value) {
                this._settingsGroup = value;
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link ApplicationSettingsProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            public ApplicationSettingsProperty build() {
                return new ApplicationSettingsProperty() {
                    private final java.lang.Object $enabled = java.util.Objects.requireNonNull(_enabled, "enabled is required");
                    @javax.annotation.Nullable
                    private final java.lang.String $settingsGroup = _settingsGroup;

                    @Override
                    public java.lang.Object getEnabled() {
                        return this.$enabled;
                    }

                    @Override
                    public java.lang.String getSettingsGroup() {
                        return this.$settingsGroup;
                    }

                    public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
                        com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
                        com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
                        obj.set("enabled", om.valueToTree(this.getEnabled()));
                        obj.set("settingsGroup", om.valueToTree(this.getSettingsGroup()));
                        return obj;
                    }

                };
            }
        }

        /**
         * 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.appstream.CfnStack.ApplicationSettingsProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * `CfnStack.ApplicationSettingsProperty.Enabled`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-enabled
             */
            @Override
            public java.lang.Object getEnabled() {
                return this.jsiiGet("enabled", java.lang.Object.class);
            }

            /**
             * `CfnStack.ApplicationSettingsProperty.SettingsGroup`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-settingsgroup
             */
            @Override
            @javax.annotation.Nullable
            public java.lang.String getSettingsGroup() {
                return this.jsiiGet("settingsGroup", java.lang.String.class);
            }
        }
    }
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html
     */
    public static interface StorageConnectorProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * `CfnStack.StorageConnectorProperty.ConnectorType`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-connectortype
         */
        java.lang.String getConnectorType();
        /**
         * `CfnStack.StorageConnectorProperty.Domains`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-domains
         */
        java.util.List getDomains();
        /**
         * `CfnStack.StorageConnectorProperty.ResourceIdentifier`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-resourceidentifier
         */
        java.lang.String getResourceIdentifier();

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

        /**
         * A builder for {@link StorageConnectorProperty}
         */
        final class Builder {
            private java.lang.String _connectorType;
            @javax.annotation.Nullable
            private java.util.List _domains;
            @javax.annotation.Nullable
            private java.lang.String _resourceIdentifier;

            /**
             * Sets the value of ConnectorType
             * @param value `CfnStack.StorageConnectorProperty.ConnectorType`
             * @return {@code this}
             */
            public Builder withConnectorType(final java.lang.String value) {
                this._connectorType = java.util.Objects.requireNonNull(value, "connectorType is required");
                return this;
            }
            /**
             * Sets the value of Domains
             * @param value `CfnStack.StorageConnectorProperty.Domains`
             * @return {@code this}
             */
            public Builder withDomains(@javax.annotation.Nullable final java.util.List value) {
                this._domains = value;
                return this;
            }
            /**
             * Sets the value of ResourceIdentifier
             * @param value `CfnStack.StorageConnectorProperty.ResourceIdentifier`
             * @return {@code this}
             */
            public Builder withResourceIdentifier(@javax.annotation.Nullable final java.lang.String value) {
                this._resourceIdentifier = value;
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link StorageConnectorProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            public StorageConnectorProperty build() {
                return new StorageConnectorProperty() {
                    private final java.lang.String $connectorType = java.util.Objects.requireNonNull(_connectorType, "connectorType is required");
                    @javax.annotation.Nullable
                    private final java.util.List $domains = _domains;
                    @javax.annotation.Nullable
                    private final java.lang.String $resourceIdentifier = _resourceIdentifier;

                    @Override
                    public java.lang.String getConnectorType() {
                        return this.$connectorType;
                    }

                    @Override
                    public java.util.List getDomains() {
                        return this.$domains;
                    }

                    @Override
                    public java.lang.String getResourceIdentifier() {
                        return this.$resourceIdentifier;
                    }

                    public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
                        com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
                        com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
                        obj.set("connectorType", om.valueToTree(this.getConnectorType()));
                        obj.set("domains", om.valueToTree(this.getDomains()));
                        obj.set("resourceIdentifier", om.valueToTree(this.getResourceIdentifier()));
                        return obj;
                    }

                };
            }
        }

        /**
         * 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.appstream.CfnStack.StorageConnectorProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * `CfnStack.StorageConnectorProperty.ConnectorType`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-connectortype
             */
            @Override
            public java.lang.String getConnectorType() {
                return this.jsiiGet("connectorType", java.lang.String.class);
            }

            /**
             * `CfnStack.StorageConnectorProperty.Domains`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-domains
             */
            @Override
            @javax.annotation.Nullable
            public java.util.List getDomains() {
                return this.jsiiGet("domains", java.util.List.class);
            }

            /**
             * `CfnStack.StorageConnectorProperty.ResourceIdentifier`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-resourceidentifier
             */
            @Override
            @javax.annotation.Nullable
            public java.lang.String getResourceIdentifier() {
                return this.jsiiGet("resourceIdentifier", java.lang.String.class);
            }
        }
    }
    /**
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html
     */
    public static interface UserSettingProperty extends software.amazon.jsii.JsiiSerializable {
        /**
         * `CfnStack.UserSettingProperty.Action`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-action
         */
        java.lang.String getAction();
        /**
         * `CfnStack.UserSettingProperty.Permission`
         * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-permission
         */
        java.lang.String getPermission();

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

        /**
         * A builder for {@link UserSettingProperty}
         */
        final class Builder {
            private java.lang.String _action;
            private java.lang.String _permission;

            /**
             * Sets the value of Action
             * @param value `CfnStack.UserSettingProperty.Action`
             * @return {@code this}
             */
            public Builder withAction(final java.lang.String value) {
                this._action = java.util.Objects.requireNonNull(value, "action is required");
                return this;
            }
            /**
             * Sets the value of Permission
             * @param value `CfnStack.UserSettingProperty.Permission`
             * @return {@code this}
             */
            public Builder withPermission(final java.lang.String value) {
                this._permission = java.util.Objects.requireNonNull(value, "permission is required");
                return this;
            }

            /**
             * Builds the configured instance.
             * @return a new instance of {@link UserSettingProperty}
             * @throws NullPointerException if any required attribute was not provided
             */
            public UserSettingProperty build() {
                return new UserSettingProperty() {
                    private final java.lang.String $action = java.util.Objects.requireNonNull(_action, "action is required");
                    private final java.lang.String $permission = java.util.Objects.requireNonNull(_permission, "permission is required");

                    @Override
                    public java.lang.String getAction() {
                        return this.$action;
                    }

                    @Override
                    public java.lang.String getPermission() {
                        return this.$permission;
                    }

                    public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
                        com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
                        com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
                        obj.set("action", om.valueToTree(this.getAction()));
                        obj.set("permission", om.valueToTree(this.getPermission()));
                        return obj;
                    }

                };
            }
        }

        /**
         * 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.appstream.CfnStack.UserSettingProperty {
            protected Jsii$Proxy(final software.amazon.jsii.JsiiObject.InitializationMode mode) {
                super(mode);
            }

            /**
             * `CfnStack.UserSettingProperty.Action`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-action
             */
            @Override
            public java.lang.String getAction() {
                return this.jsiiGet("action", java.lang.String.class);
            }

            /**
             * `CfnStack.UserSettingProperty.Permission`
             * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-permission
             */
            @Override
            public java.lang.String getPermission() {
                return this.jsiiGet("permission", java.lang.String.class);
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy