Source code for troposphere.appstream

# Copyright (c) 2012-2022, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer
from .validators.appstream import validate_tags_or_list


[docs]class S3Location(AWSProperty): """ `S3Location <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-s3location.html>`__ """ props: PropsDictType = { "S3Bucket": (str, True), "S3Key": (str, True), }
[docs]class ScriptDetails(AWSProperty): """ `ScriptDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html>`__ """ props: PropsDictType = { "ExecutableParameters": (str, False), "ExecutablePath": (str, True), "ScriptS3Location": (S3Location, True), "TimeoutInSeconds": (integer, True), }
[docs]class AppBlock(AWSObject): """ `AppBlock <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html>`__ """ resource_type = "AWS::AppStream::AppBlock" props: PropsDictType = { "Description": (str, False), "DisplayName": (str, False), "Name": (str, True), "PackagingType": (str, False), "PostSetupScriptDetails": (ScriptDetails, False), "SetupScriptDetails": (ScriptDetails, False), "SourceS3Location": (S3Location, True), "Tags": (validate_tags_or_list, False), }
[docs]class AccessEndpoint(AWSProperty): """ `AccessEndpoint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html>`__ """ props: PropsDictType = { "EndpointType": (str, True), "VpceId": (str, True), }
[docs]class VpcConfig(AWSProperty): """ `VpcConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html>`__ """ props: PropsDictType = { "SecurityGroupIds": ([str], False), "SubnetIds": ([str], False), }
[docs]class AppBlockBuilder(AWSObject): """ `AppBlockBuilder <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html>`__ """ resource_type = "AWS::AppStream::AppBlockBuilder" props: PropsDictType = { "AccessEndpoints": ([AccessEndpoint], False), "AppBlockArns": ([str], False), "Description": (str, False), "DisplayName": (str, False), "EnableDefaultInternetAccess": (boolean, False), "IamRoleArn": (str, False), "InstanceType": (str, True), "Name": (str, True), "Platform": (str, True), "Tags": (Tags, False), "VpcConfig": (VpcConfig, True), }
[docs]class Application(AWSObject): """ `Application <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html>`__ """ resource_type = "AWS::AppStream::Application" props: PropsDictType = { "AppBlockArn": (str, True), "AttributesToDelete": ([str], False), "Description": (str, False), "DisplayName": (str, False), "IconS3Location": (S3Location, True), "InstanceFamilies": ([str], True), "LaunchParameters": (str, False), "LaunchPath": (str, True), "Name": (str, True), "Platforms": ([str], True), "Tags": (validate_tags_or_list, False), "WorkingDirectory": (str, False), }
[docs]class ApplicationEntitlementAssociation(AWSObject): """ `ApplicationEntitlementAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html>`__ """ resource_type = "AWS::AppStream::ApplicationEntitlementAssociation" props: PropsDictType = { "ApplicationIdentifier": (str, True), "EntitlementName": (str, True), "StackName": (str, True), }
[docs]class ApplicationFleetAssociation(AWSObject): """ `ApplicationFleetAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html>`__ """ resource_type = "AWS::AppStream::ApplicationFleetAssociation" props: PropsDictType = { "ApplicationArn": (str, True), "FleetName": (str, True), }
[docs]class CertificateBasedAuthProperties(AWSProperty): """ `CertificateBasedAuthProperties <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-certificatebasedauthproperties.html>`__ """ props: PropsDictType = { "CertificateAuthorityArn": (str, False), "Status": (str, False), }
[docs]class ServiceAccountCredentials(AWSProperty): """ `ServiceAccountCredentials <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html>`__ """ props: PropsDictType = { "AccountName": (str, True), "AccountPassword": (str, True), }
[docs]class DirectoryConfig(AWSObject): """ `DirectoryConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html>`__ """ resource_type = "AWS::AppStream::DirectoryConfig" props: PropsDictType = { "CertificateBasedAuthProperties": (CertificateBasedAuthProperties, False), "DirectoryName": (str, True), "OrganizationalUnitDistinguishedNames": ([str], True), "ServiceAccountCredentials": (ServiceAccountCredentials, True), }
[docs]class Attribute(AWSProperty): """ `Attribute <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-entitlement-attribute.html>`__ """ props: PropsDictType = { "Name": (str, True), "Value": (str, True), }
[docs]class Entitlement(AWSObject): """ `Entitlement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html>`__ """ resource_type = "AWS::AppStream::Entitlement" props: PropsDictType = { "AppVisibility": (str, True), "Attributes": ([Attribute], True), "Description": (str, False), "Name": (str, True), "StackName": (str, True), }
[docs]class ComputeCapacity(AWSProperty): """ `ComputeCapacity <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html>`__ """ props: PropsDictType = { "DesiredInstances": (integer, False), "DesiredSessions": (integer, False), }
[docs]class DomainJoinInfo(AWSProperty): """ `DomainJoinInfo <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html>`__ """ props: PropsDictType = { "DirectoryName": (str, False), "OrganizationalUnitDistinguishedName": (str, False), }
[docs]class Fleet(AWSObject): """ `Fleet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html>`__ """ resource_type = "AWS::AppStream::Fleet" props: PropsDictType = { "ComputeCapacity": (ComputeCapacity, False), "Description": (str, False), "DisconnectTimeoutInSeconds": (integer, False), "DisplayName": (str, False), "DomainJoinInfo": (DomainJoinInfo, False), "EnableDefaultInternetAccess": (boolean, False), "FleetType": (str, False), "IamRoleArn": (str, False), "IdleDisconnectTimeoutInSeconds": (integer, False), "ImageArn": (str, False), "ImageName": (str, False), "InstanceType": (str, True), "MaxConcurrentSessions": (integer, False), "MaxSessionsPerInstance": (integer, False), "MaxUserDurationInSeconds": (integer, False), "Name": (str, True), "Platform": (str, False), "SessionScriptS3Location": (S3Location, False), "StreamView": (str, False), "Tags": (validate_tags_or_list, False), "UsbDeviceFilterStrings": ([str], False), "VpcConfig": (VpcConfig, False), }
[docs]class ImageBuilder(AWSObject): """ `ImageBuilder <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html>`__ """ resource_type = "AWS::AppStream::ImageBuilder" props: PropsDictType = { "AccessEndpoints": ([AccessEndpoint], False), "AppstreamAgentVersion": (str, False), "Description": (str, False), "DisplayName": (str, False), "DomainJoinInfo": (DomainJoinInfo, False), "EnableDefaultInternetAccess": (boolean, False), "IamRoleArn": (str, False), "ImageArn": (str, False), "ImageName": (str, False), "InstanceType": (str, True), "Name": (str, True), "Tags": (validate_tags_or_list, False), "VpcConfig": (VpcConfig, False), }
[docs]class ApplicationSettings(AWSProperty): """ `ApplicationSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html>`__ """ props: PropsDictType = { "Enabled": (boolean, True), "SettingsGroup": (str, False), }
[docs]class StorageConnector(AWSProperty): """ `StorageConnector <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html>`__ """ props: PropsDictType = { "ConnectorType": (str, True), "Domains": ([str], False), "ResourceIdentifier": (str, False), }
[docs]class StreamingExperienceSettings(AWSProperty): """ `StreamingExperienceSettings <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-streamingexperiencesettings.html>`__ """ props: PropsDictType = { "PreferredProtocol": (str, False), }
[docs]class UserSetting(AWSProperty): """ `UserSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html>`__ """ props: PropsDictType = { "Action": (str, True), "MaximumLength": (integer, False), "Permission": (str, True), }
[docs]class Stack(AWSObject): """ `Stack <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html>`__ """ resource_type = "AWS::AppStream::Stack" props: PropsDictType = { "AccessEndpoints": ([AccessEndpoint], False), "ApplicationSettings": (ApplicationSettings, False), "AttributesToDelete": ([str], False), "DeleteStorageConnectors": (boolean, False), "Description": (str, False), "DisplayName": (str, False), "EmbedHostDomains": ([str], False), "FeedbackURL": (str, False), "Name": (str, False), "RedirectURL": (str, False), "StorageConnectors": ([StorageConnector], False), "StreamingExperienceSettings": (StreamingExperienceSettings, False), "Tags": (validate_tags_or_list, False), "UserSettings": ([UserSetting], False), }
[docs]class StackFleetAssociation(AWSObject): """ `StackFleetAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html>`__ """ resource_type = "AWS::AppStream::StackFleetAssociation" props: PropsDictType = { "FleetName": (str, True), "StackName": (str, True), }
[docs]class StackUserAssociation(AWSObject): """ `StackUserAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html>`__ """ resource_type = "AWS::AppStream::StackUserAssociation" props: PropsDictType = { "AuthenticationType": (str, True), "SendEmailNotification": (boolean, False), "StackName": (str, True), "UserName": (str, True), }
[docs]class User(AWSObject): """ `User <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html>`__ """ resource_type = "AWS::AppStream::User" props: PropsDictType = { "AuthenticationType": (str, True), "FirstName": (str, False), "LastName": (str, False), "MessageAction": (str, False), "UserName": (str, True), }