@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon AppStream
@version 2016-12-01
@auth AWS SigV4
@endpoints 79
@hint download_for_search
@toc root(79)

@endpoint POST /
@required {AppBlockArn: str, AppBlockBuilderName: str}
@returns(200) {AppBlockBuilderAppBlockAssociation: AppBlockBuilderAppBlockAssociation?{AppBlockArn: str, AppBlockBuilderName: str}}

@endpoint POST /
@required {FleetName: str, ApplicationArn: str}
@returns(200) {ApplicationFleetAssociation: ApplicationFleetAssociation?{FleetName: str, ApplicationArn: str}}

@endpoint POST /
@required {StackName: str, EntitlementName: str, ApplicationIdentifier: str}

@endpoint POST /
@required {FleetName: str, StackName: str}

@endpoint POST /
@required {UserStackAssociations: [UserStackAssociation]}
@returns(200) {errors: [UserStackAssociationError]?}

@endpoint POST /
@required {UserStackAssociations: [UserStackAssociation]}
@returns(200) {errors: [UserStackAssociationError]?}

@endpoint POST /
@required {SourceImageName: str, DestinationImageName: str, DestinationRegion: str}
@optional {DestinationImageDescription: str}
@returns(200) {DestinationImageName: str?}

@endpoint POST /
@required {Name: str, SourceS3Location: S3Location}
@optional {Description: str, DisplayName: str, SetupScriptDetails: ScriptDetails, Tags: map<str,str>, PostSetupScriptDetails: ScriptDetails, PackagingType: str}
@returns(200) {AppBlock: AppBlock?{Name: str, Arn: str, Description: str?, DisplayName: str?, SourceS3Location: S3Location?{S3Bucket: str, S3Key: str?}, SetupScriptDetails: ScriptDetails?{ScriptS3Location: S3Location{S3Bucket: str, S3Key: str?}, ExecutablePath: str, ExecutableParameters: str?, TimeoutInSeconds: int}, CreatedTime: str(timestamp)?, PostSetupScriptDetails: ScriptDetails?{ScriptS3Location: S3Location{S3Bucket: str, S3Key: str?}, ExecutablePath: str, ExecutableParameters: str?, TimeoutInSeconds: int}, PackagingType: str?, State: str?, AppBlockErrors: [ErrorDetails]?}}

@endpoint POST /
@required {Name: str, Platform: str, InstanceType: str, VpcConfig: VpcConfig}
@optional {Description: str, DisplayName: str, Tags: map<str,str>, EnableDefaultInternetAccess: bool, IamRoleArn: str, AccessEndpoints: [AccessEndpoint]}
@returns(200) {AppBlockBuilder: AppBlockBuilder?{Arn: str, Name: str, DisplayName: str?, Description: str?, Platform: str, InstanceType: str, EnableDefaultInternetAccess: bool?, IamRoleArn: str?, VpcConfig: VpcConfig{SubnetIds: [str]?, SecurityGroupIds: [str]?}, State: str, CreatedTime: str(timestamp)?, AppBlockBuilderErrors: [ResourceError]?, StateChangeReason: AppBlockBuilderStateChangeReason?{Code: str?, Message: str?}, AccessEndpoints: [AccessEndpoint]?}}

@endpoint POST /
@required {AppBlockBuilderName: str}
@optional {Validity: int(i64)}
@returns(200) {StreamingURL: str?, Expires: str(timestamp)?}

@endpoint POST /
@required {Name: str, IconS3Location: S3Location, LaunchPath: str, Platforms: [str], InstanceFamilies: [str], AppBlockArn: str}
@optional {DisplayName: str, Description: str, WorkingDirectory: str, LaunchParameters: str, Tags: map<str,str>}
@returns(200) {Application: Application?{Name: str?, DisplayName: str?, IconURL: str?, LaunchPath: str?, LaunchParameters: str?, Enabled: bool?, Metadata: map<str,str>?, WorkingDirectory: str?, Description: str?, Arn: str?, AppBlockArn: str?, IconS3Location: S3Location?{S3Bucket: str, S3Key: str?}, Platforms: [str]?, InstanceFamilies: [str]?, CreatedTime: str(timestamp)?}}

@endpoint POST /
@required {DirectoryName: str, OrganizationalUnitDistinguishedNames: [str]}
@optional {ServiceAccountCredentials: ServiceAccountCredentials, CertificateBasedAuthProperties: CertificateBasedAuthProperties}
@returns(200) {DirectoryConfig: DirectoryConfig?{DirectoryName: str, OrganizationalUnitDistinguishedNames: [str]?, ServiceAccountCredentials: ServiceAccountCredentials?{AccountName: str, AccountPassword: str}, CreatedTime: str(timestamp)?, CertificateBasedAuthProperties: CertificateBasedAuthProperties?{Status: str?, CertificateAuthorityArn: str?}}}

@endpoint POST /
@required {Name: str, StackName: str, AppVisibility: str, Attributes: [EntitlementAttribute]}
@optional {Description: str}
@returns(200) {Entitlement: Entitlement?{Name: str, StackName: str, Description: str?, AppVisibility: str, Attributes: [EntitlementAttribute], CreatedTime: str(timestamp)?, LastModifiedTime: str(timestamp)?}}

@endpoint POST /
@required {Name: str, InstanceType: str}
@optional {ImageName: str, ImageArn: str, FleetType: str, ComputeCapacity: ComputeCapacity, VpcConfig: VpcConfig, MaxUserDurationInSeconds: int, DisconnectTimeoutInSeconds: int, Description: str, DisplayName: str, EnableDefaultInternetAccess: bool, DomainJoinInfo: DomainJoinInfo, Tags: map<str,str>, IdleDisconnectTimeoutInSeconds: int, IamRoleArn: str, StreamView: str, Platform: str, MaxConcurrentSessions: int, UsbDeviceFilterStrings: [str], SessionScriptS3Location: S3Location, MaxSessionsPerInstance: int}
@returns(200) {Fleet: Fleet?{Arn: str, Name: str, DisplayName: str?, Description: str?, ImageName: str?, ImageArn: str?, InstanceType: str, FleetType: str?, ComputeCapacityStatus: ComputeCapacityStatus{Desired: int, Running: int?, InUse: int?, Available: int?, DesiredUserSessions: int?, AvailableUserSessions: int?, ActiveUserSessions: int?, ActualUserSessions: int?}, MaxUserDurationInSeconds: int?, DisconnectTimeoutInSeconds: int?, State: str, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, CreatedTime: str(timestamp)?, FleetErrors: [FleetError]?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, IdleDisconnectTimeoutInSeconds: int?, IamRoleArn: str?, StreamView: str?, Platform: str?, MaxConcurrentSessions: int?, UsbDeviceFilterStrings: [str]?, SessionScriptS3Location: S3Location?{S3Bucket: str, S3Key: str?}, MaxSessionsPerInstance: int?}}

@endpoint POST /
@required {Name: str, InstanceType: str}
@optional {ImageName: str, ImageArn: str, Description: str, DisplayName: str, VpcConfig: VpcConfig, IamRoleArn: str, EnableDefaultInternetAccess: bool, DomainJoinInfo: DomainJoinInfo, AppstreamAgentVersion: str, Tags: map<str,str>, AccessEndpoints: [AccessEndpoint]}
@returns(200) {ImageBuilder: ImageBuilder?{Name: str, Arn: str?, ImageArn: str?, Description: str?, DisplayName: str?, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, InstanceType: str?, Platform: str?, IamRoleArn: str?, State: str?, StateChangeReason: ImageBuilderStateChangeReason?{Code: str?, Message: str?}, CreatedTime: str(timestamp)?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, NetworkAccessConfiguration: NetworkAccessConfiguration?{EniPrivateIpAddress: str?, EniId: str?}, ImageBuilderErrors: [ResourceError]?, AppstreamAgentVersion: str?, AccessEndpoints: [AccessEndpoint]?, LatestAppstreamAgentVersion: str?}}

@endpoint POST /
@required {Name: str}
@optional {Validity: int(i64)}
@returns(200) {StreamingURL: str?, Expires: str(timestamp)?}

@endpoint POST /
@required {Name: str}
@optional {Description: str, DisplayName: str, StorageConnectors: [StorageConnector], RedirectURL: str, FeedbackURL: str, UserSettings: [UserSetting], ApplicationSettings: ApplicationSettings, Tags: map<str,str>, AccessEndpoints: [AccessEndpoint], EmbedHostDomains: [str], StreamingExperienceSettings: StreamingExperienceSettings}
@returns(200) {Stack: Stack?{Arn: str?, Name: str, Description: str?, DisplayName: str?, CreatedTime: str(timestamp)?, StorageConnectors: [StorageConnector]?, RedirectURL: str?, FeedbackURL: str?, StackErrors: [StackError]?, UserSettings: [UserSetting]?, ApplicationSettings: ApplicationSettingsResponse?{Enabled: bool?, SettingsGroup: str?, S3BucketName: str?}, AccessEndpoints: [AccessEndpoint]?, EmbedHostDomains: [str]?, StreamingExperienceSettings: StreamingExperienceSettings?{PreferredProtocol: str?}}}

@endpoint POST /
@required {StackName: str, FleetName: str, UserId: str}
@optional {ApplicationId: str, Validity: int(i64), SessionContext: str}
@returns(200) {StreamingURL: str?, Expires: str(timestamp)?}

@endpoint POST /
@required {StackName: str, TitleText: str, ThemeStyling: str, OrganizationLogoS3Location: S3Location, FaviconS3Location: S3Location}
@optional {FooterLinks: [ThemeFooterLink]}
@returns(200) {Theme: Theme?{StackName: str?, State: str?, ThemeTitleText: str?, ThemeStyling: str?, ThemeFooterLinks: [ThemeFooterLink]?, ThemeOrganizationLogoURL: str?, ThemeFaviconURL: str?, CreatedTime: str(timestamp)?}}

@endpoint POST /
@required {existingImageName: str, newImageName: str}
@optional {newImageDescription: str, newImageDisplayName: str, newImageTags: map<str,str>, dryRun: bool}
@returns(200) {image: Image?{Name: str, Arn: str?, BaseImageArn: str?, DisplayName: str?, State: str?, Visibility: str?, ImageBuilderSupported: bool?, ImageBuilderName: str?, Platform: str?, Description: str?, StateChangeReason: ImageStateChangeReason?{Code: str?, Message: str?}, Applications: [Application]?, CreatedTime: str(timestamp)?, PublicBaseImageReleasedDate: str(timestamp)?, AppstreamAgentVersion: str?, ImagePermissions: ImagePermissions?{allowFleet: bool?, allowImageBuilder: bool?}, ImageErrors: [ResourceError]?, LatestAppstreamAgentVersion: str?, SupportedInstanceFamilies: [str]?, DynamicAppProvidersEnabled: str?, ImageSharedWithOthers: str?}, canUpdateImage: bool?}

@endpoint POST /
@returns(200) {S3BucketName: str?, Schedule: str?}

@endpoint POST /
@required {UserName: str, AuthenticationType: str}
@optional {MessageAction: str, FirstName: str, LastName: str}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {DirectoryName: str}

@endpoint POST /
@required {Name: str, StackName: str}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {Name: str}
@returns(200) {Image: Image?{Name: str, Arn: str?, BaseImageArn: str?, DisplayName: str?, State: str?, Visibility: str?, ImageBuilderSupported: bool?, ImageBuilderName: str?, Platform: str?, Description: str?, StateChangeReason: ImageStateChangeReason?{Code: str?, Message: str?}, Applications: [Application]?, CreatedTime: str(timestamp)?, PublicBaseImageReleasedDate: str(timestamp)?, AppstreamAgentVersion: str?, ImagePermissions: ImagePermissions?{allowFleet: bool?, allowImageBuilder: bool?}, ImageErrors: [ResourceError]?, LatestAppstreamAgentVersion: str?, SupportedInstanceFamilies: [str]?, DynamicAppProvidersEnabled: str?, ImageSharedWithOthers: str?}}

@endpoint POST /
@required {Name: str}
@returns(200) {ImageBuilder: ImageBuilder?{Name: str, Arn: str?, ImageArn: str?, Description: str?, DisplayName: str?, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, InstanceType: str?, Platform: str?, IamRoleArn: str?, State: str?, StateChangeReason: ImageBuilderStateChangeReason?{Code: str?, Message: str?}, CreatedTime: str(timestamp)?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, NetworkAccessConfiguration: NetworkAccessConfiguration?{EniPrivateIpAddress: str?, EniId: str?}, ImageBuilderErrors: [ResourceError]?, AppstreamAgentVersion: str?, AccessEndpoints: [AccessEndpoint]?, LatestAppstreamAgentVersion: str?}}

@endpoint POST /
@required {Name: str, SharedAccountId: str}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {StackName: str}

@endpoint POST /

@endpoint POST /
@required {UserName: str, AuthenticationType: str}

@endpoint POST /
@optional {AppBlockArn: str, AppBlockBuilderName: str, MaxResults: int, NextToken: str}
@returns(200) {AppBlockBuilderAppBlockAssociations: [AppBlockBuilderAppBlockAssociation]?, NextToken: str?}

@endpoint POST /
@optional {Names: [str], NextToken: str, MaxResults: int}
@returns(200) {AppBlockBuilders: [AppBlockBuilder]?, NextToken: str?}

@endpoint POST /
@optional {Arns: [str], NextToken: str, MaxResults: int}
@returns(200) {AppBlocks: [AppBlock]?, NextToken: str?}

@endpoint POST /
@optional {FleetName: str, ApplicationArn: str, MaxResults: int, NextToken: str}
@returns(200) {ApplicationFleetAssociations: [ApplicationFleetAssociation]?, NextToken: str?}

@endpoint POST /
@optional {Arns: [str], NextToken: str, MaxResults: int}
@returns(200) {Applications: [Application]?, NextToken: str?}

@endpoint POST /
@optional {DirectoryNames: [str], MaxResults: int, NextToken: str}
@returns(200) {DirectoryConfigs: [DirectoryConfig]?, NextToken: str?}

@endpoint POST /
@required {StackName: str}
@optional {Name: str, NextToken: str, MaxResults: int}
@returns(200) {Entitlements: [Entitlement]?, NextToken: str?}

@endpoint POST /
@optional {Names: [str], NextToken: str}
@returns(200) {Fleets: [Fleet]?, NextToken: str?}

@endpoint POST /
@optional {Names: [str], MaxResults: int, NextToken: str}
@returns(200) {ImageBuilders: [ImageBuilder]?, NextToken: str?}

@endpoint POST /
@required {Name: str}
@optional {MaxResults: int, SharedAwsAccountIds: [str], NextToken: str}
@returns(200) {Name: str?, SharedImagePermissionsList: [SharedImagePermissions]?, NextToken: str?}

@endpoint POST /
@optional {Names: [str], Arns: [str], Type: str, NextToken: str, MaxResults: int}
@returns(200) {Images: [Image]?, NextToken: str?}

@endpoint POST /
@required {StackName: str, FleetName: str}
@optional {UserId: str, NextToken: str, Limit: int, AuthenticationType: str, InstanceId: str}
@returns(200) {Sessions: [Session]?, NextToken: str?}

@endpoint POST /
@optional {Names: [str], NextToken: str}
@returns(200) {Stacks: [Stack]?, NextToken: str?}

@endpoint POST /
@required {StackName: str}
@returns(200) {Theme: Theme?{StackName: str?, State: str?, ThemeTitleText: str?, ThemeStyling: str?, ThemeFooterLinks: [ThemeFooterLink]?, ThemeOrganizationLogoURL: str?, ThemeFaviconURL: str?, CreatedTime: str(timestamp)?}}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {UsageReportSubscriptions: [UsageReportSubscription]?, NextToken: str?}

@endpoint POST /
@optional {StackName: str, UserName: str, AuthenticationType: str, MaxResults: int, NextToken: str}
@returns(200) {UserStackAssociations: [UserStackAssociation]?, NextToken: str?}

@endpoint POST /
@required {AuthenticationType: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {Users: [User]?, NextToken: str?}

@endpoint POST /
@required {UserName: str, AuthenticationType: str}

@endpoint POST /
@required {AppBlockArn: str, AppBlockBuilderName: str}

@endpoint POST /
@required {FleetName: str, ApplicationArn: str}

@endpoint POST /
@required {StackName: str, EntitlementName: str, ApplicationIdentifier: str}

@endpoint POST /
@required {FleetName: str, StackName: str}

@endpoint POST /
@required {UserName: str, AuthenticationType: str}

@endpoint POST /
@required {SessionId: str}

@endpoint POST /
@required {StackName: str}
@optional {NextToken: str}
@returns(200) {Names: [str]?, NextToken: str?}

@endpoint POST /
@required {FleetName: str}
@optional {NextToken: str}
@returns(200) {Names: [str]?, NextToken: str?}

@endpoint POST /
@required {StackName: str, EntitlementName: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {EntitledApplications: [EntitledApplication]?, NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Tags: map<str,str>?}

@endpoint POST /
@required {Name: str}
@returns(200) {AppBlockBuilder: AppBlockBuilder?{Arn: str, Name: str, DisplayName: str?, Description: str?, Platform: str, InstanceType: str, EnableDefaultInternetAccess: bool?, IamRoleArn: str?, VpcConfig: VpcConfig{SubnetIds: [str]?, SecurityGroupIds: [str]?}, State: str, CreatedTime: str(timestamp)?, AppBlockBuilderErrors: [ResourceError]?, StateChangeReason: AppBlockBuilderStateChangeReason?{Code: str?, Message: str?}, AccessEndpoints: [AccessEndpoint]?}}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {Name: str}
@optional {AppstreamAgentVersion: str}
@returns(200) {ImageBuilder: ImageBuilder?{Name: str, Arn: str?, ImageArn: str?, Description: str?, DisplayName: str?, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, InstanceType: str?, Platform: str?, IamRoleArn: str?, State: str?, StateChangeReason: ImageBuilderStateChangeReason?{Code: str?, Message: str?}, CreatedTime: str(timestamp)?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, NetworkAccessConfiguration: NetworkAccessConfiguration?{EniPrivateIpAddress: str?, EniId: str?}, ImageBuilderErrors: [ResourceError]?, AppstreamAgentVersion: str?, AccessEndpoints: [AccessEndpoint]?, LatestAppstreamAgentVersion: str?}}

@endpoint POST /
@required {Name: str}
@returns(200) {AppBlockBuilder: AppBlockBuilder?{Arn: str, Name: str, DisplayName: str?, Description: str?, Platform: str, InstanceType: str, EnableDefaultInternetAccess: bool?, IamRoleArn: str?, VpcConfig: VpcConfig{SubnetIds: [str]?, SecurityGroupIds: [str]?}, State: str, CreatedTime: str(timestamp)?, AppBlockBuilderErrors: [ResourceError]?, StateChangeReason: AppBlockBuilderStateChangeReason?{Code: str?, Message: str?}, AccessEndpoints: [AccessEndpoint]?}}

@endpoint POST /
@required {Name: str}

@endpoint POST /
@required {Name: str}
@returns(200) {ImageBuilder: ImageBuilder?{Name: str, Arn: str?, ImageArn: str?, Description: str?, DisplayName: str?, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, InstanceType: str?, Platform: str?, IamRoleArn: str?, State: str?, StateChangeReason: ImageBuilderStateChangeReason?{Code: str?, Message: str?}, CreatedTime: str(timestamp)?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, NetworkAccessConfiguration: NetworkAccessConfiguration?{EniPrivateIpAddress: str?, EniId: str?}, ImageBuilderErrors: [ResourceError]?, AppstreamAgentVersion: str?, AccessEndpoints: [AccessEndpoint]?, LatestAppstreamAgentVersion: str?}}

@endpoint POST /
@required {ResourceArn: str, Tags: map<str,str>}

@endpoint POST /
@required {ResourceArn: str, TagKeys: [str]}

@endpoint POST /
@required {Name: str}
@optional {Description: str, DisplayName: str, Platform: str, InstanceType: str, VpcConfig: VpcConfig, EnableDefaultInternetAccess: bool, IamRoleArn: str, AccessEndpoints: [AccessEndpoint], AttributesToDelete: [str]}
@returns(200) {AppBlockBuilder: AppBlockBuilder?{Arn: str, Name: str, DisplayName: str?, Description: str?, Platform: str, InstanceType: str, EnableDefaultInternetAccess: bool?, IamRoleArn: str?, VpcConfig: VpcConfig{SubnetIds: [str]?, SecurityGroupIds: [str]?}, State: str, CreatedTime: str(timestamp)?, AppBlockBuilderErrors: [ResourceError]?, StateChangeReason: AppBlockBuilderStateChangeReason?{Code: str?, Message: str?}, AccessEndpoints: [AccessEndpoint]?}}

@endpoint POST /
@required {Name: str}
@optional {DisplayName: str, Description: str, IconS3Location: S3Location, LaunchPath: str, WorkingDirectory: str, LaunchParameters: str, AppBlockArn: str, AttributesToDelete: [str]}
@returns(200) {Application: Application?{Name: str?, DisplayName: str?, IconURL: str?, LaunchPath: str?, LaunchParameters: str?, Enabled: bool?, Metadata: map<str,str>?, WorkingDirectory: str?, Description: str?, Arn: str?, AppBlockArn: str?, IconS3Location: S3Location?{S3Bucket: str, S3Key: str?}, Platforms: [str]?, InstanceFamilies: [str]?, CreatedTime: str(timestamp)?}}

@endpoint POST /
@required {DirectoryName: str}
@optional {OrganizationalUnitDistinguishedNames: [str], ServiceAccountCredentials: ServiceAccountCredentials, CertificateBasedAuthProperties: CertificateBasedAuthProperties}
@returns(200) {DirectoryConfig: DirectoryConfig?{DirectoryName: str, OrganizationalUnitDistinguishedNames: [str]?, ServiceAccountCredentials: ServiceAccountCredentials?{AccountName: str, AccountPassword: str}, CreatedTime: str(timestamp)?, CertificateBasedAuthProperties: CertificateBasedAuthProperties?{Status: str?, CertificateAuthorityArn: str?}}}

@endpoint POST /
@required {Name: str, StackName: str}
@optional {Description: str, AppVisibility: str, Attributes: [EntitlementAttribute]}
@returns(200) {Entitlement: Entitlement?{Name: str, StackName: str, Description: str?, AppVisibility: str, Attributes: [EntitlementAttribute], CreatedTime: str(timestamp)?, LastModifiedTime: str(timestamp)?}}

@endpoint POST /
@optional {ImageName: str, ImageArn: str, Name: str, InstanceType: str, ComputeCapacity: ComputeCapacity, VpcConfig: VpcConfig, MaxUserDurationInSeconds: int, DisconnectTimeoutInSeconds: int, DeleteVpcConfig: bool, Description: str, DisplayName: str, EnableDefaultInternetAccess: bool, DomainJoinInfo: DomainJoinInfo, IdleDisconnectTimeoutInSeconds: int, AttributesToDelete: [str], IamRoleArn: str, StreamView: str, Platform: str, MaxConcurrentSessions: int, UsbDeviceFilterStrings: [str], SessionScriptS3Location: S3Location, MaxSessionsPerInstance: int}
@returns(200) {Fleet: Fleet?{Arn: str, Name: str, DisplayName: str?, Description: str?, ImageName: str?, ImageArn: str?, InstanceType: str, FleetType: str?, ComputeCapacityStatus: ComputeCapacityStatus{Desired: int, Running: int?, InUse: int?, Available: int?, DesiredUserSessions: int?, AvailableUserSessions: int?, ActiveUserSessions: int?, ActualUserSessions: int?}, MaxUserDurationInSeconds: int?, DisconnectTimeoutInSeconds: int?, State: str, VpcConfig: VpcConfig?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, CreatedTime: str(timestamp)?, FleetErrors: [FleetError]?, EnableDefaultInternetAccess: bool?, DomainJoinInfo: DomainJoinInfo?{DirectoryName: str?, OrganizationalUnitDistinguishedName: str?}, IdleDisconnectTimeoutInSeconds: int?, IamRoleArn: str?, StreamView: str?, Platform: str?, MaxConcurrentSessions: int?, UsbDeviceFilterStrings: [str]?, SessionScriptS3Location: S3Location?{S3Bucket: str, S3Key: str?}, MaxSessionsPerInstance: int?}}

@endpoint POST /
@required {Name: str, SharedAccountId: str, ImagePermissions: ImagePermissions}

@endpoint POST /
@required {Name: str}
@optional {DisplayName: str, Description: str, StorageConnectors: [StorageConnector], DeleteStorageConnectors: bool, RedirectURL: str, FeedbackURL: str, AttributesToDelete: [str], UserSettings: [UserSetting], ApplicationSettings: ApplicationSettings, AccessEndpoints: [AccessEndpoint], EmbedHostDomains: [str], StreamingExperienceSettings: StreamingExperienceSettings}
@returns(200) {Stack: Stack?{Arn: str?, Name: str, Description: str?, DisplayName: str?, CreatedTime: str(timestamp)?, StorageConnectors: [StorageConnector]?, RedirectURL: str?, FeedbackURL: str?, StackErrors: [StackError]?, UserSettings: [UserSetting]?, ApplicationSettings: ApplicationSettingsResponse?{Enabled: bool?, SettingsGroup: str?, S3BucketName: str?}, AccessEndpoints: [AccessEndpoint]?, EmbedHostDomains: [str]?, StreamingExperienceSettings: StreamingExperienceSettings?{PreferredProtocol: str?}}}

@endpoint POST /
@required {StackName: str}
@optional {FooterLinks: [ThemeFooterLink], TitleText: str, ThemeStyling: str, OrganizationLogoS3Location: S3Location, FaviconS3Location: S3Location, State: str, AttributesToDelete: [str]}
@returns(200) {Theme: Theme?{StackName: str?, State: str?, ThemeTitleText: str?, ThemeStyling: str?, ThemeFooterLinks: [ThemeFooterLink]?, ThemeOrganizationLogoURL: str?, ThemeFaviconURL: str?, CreatedTime: str(timestamp)?}}

@end
