aws-sdk-appstream 1.27.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,6 +49,8 @@ module Aws::AppStream
49
49
  CreateStackResult = Shapes::StructureShape.new(name: 'CreateStackResult')
50
50
  CreateStreamingURLRequest = Shapes::StructureShape.new(name: 'CreateStreamingURLRequest')
51
51
  CreateStreamingURLResult = Shapes::StructureShape.new(name: 'CreateStreamingURLResult')
52
+ CreateUsageReportSubscriptionRequest = Shapes::StructureShape.new(name: 'CreateUsageReportSubscriptionRequest')
53
+ CreateUsageReportSubscriptionResult = Shapes::StructureShape.new(name: 'CreateUsageReportSubscriptionResult')
52
54
  CreateUserRequest = Shapes::StructureShape.new(name: 'CreateUserRequest')
53
55
  CreateUserResult = Shapes::StructureShape.new(name: 'CreateUserResult')
54
56
  DeleteDirectoryConfigRequest = Shapes::StructureShape.new(name: 'DeleteDirectoryConfigRequest')
@@ -63,6 +65,8 @@ module Aws::AppStream
63
65
  DeleteImageResult = Shapes::StructureShape.new(name: 'DeleteImageResult')
64
66
  DeleteStackRequest = Shapes::StructureShape.new(name: 'DeleteStackRequest')
65
67
  DeleteStackResult = Shapes::StructureShape.new(name: 'DeleteStackResult')
68
+ DeleteUsageReportSubscriptionRequest = Shapes::StructureShape.new(name: 'DeleteUsageReportSubscriptionRequest')
69
+ DeleteUsageReportSubscriptionResult = Shapes::StructureShape.new(name: 'DeleteUsageReportSubscriptionResult')
66
70
  DeleteUserRequest = Shapes::StructureShape.new(name: 'DeleteUserRequest')
67
71
  DeleteUserResult = Shapes::StructureShape.new(name: 'DeleteUserResult')
68
72
  DescribeDirectoryConfigsRequest = Shapes::StructureShape.new(name: 'DescribeDirectoryConfigsRequest')
@@ -80,6 +84,8 @@ module Aws::AppStream
80
84
  DescribeSessionsResult = Shapes::StructureShape.new(name: 'DescribeSessionsResult')
81
85
  DescribeStacksRequest = Shapes::StructureShape.new(name: 'DescribeStacksRequest')
82
86
  DescribeStacksResult = Shapes::StructureShape.new(name: 'DescribeStacksResult')
87
+ DescribeUsageReportSubscriptionsRequest = Shapes::StructureShape.new(name: 'DescribeUsageReportSubscriptionsRequest')
88
+ DescribeUsageReportSubscriptionsResult = Shapes::StructureShape.new(name: 'DescribeUsageReportSubscriptionsResult')
83
89
  DescribeUserStackAssociationsRequest = Shapes::StructureShape.new(name: 'DescribeUserStackAssociationsRequest')
84
90
  DescribeUserStackAssociationsResult = Shapes::StructureShape.new(name: 'DescribeUserStackAssociationsResult')
85
91
  DescribeUsersRequest = Shapes::StructureShape.new(name: 'DescribeUsersRequest')
@@ -128,6 +134,8 @@ module Aws::AppStream
128
134
  InvalidAccountStatusException = Shapes::StructureShape.new(name: 'InvalidAccountStatusException')
129
135
  InvalidParameterCombinationException = Shapes::StructureShape.new(name: 'InvalidParameterCombinationException')
130
136
  InvalidRoleException = Shapes::StructureShape.new(name: 'InvalidRoleException')
137
+ LastReportGenerationExecutionError = Shapes::StructureShape.new(name: 'LastReportGenerationExecutionError')
138
+ LastReportGenerationExecutionErrors = Shapes::ListShape.new(name: 'LastReportGenerationExecutionErrors')
131
139
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
132
140
  ListAssociatedFleetsRequest = Shapes::StructureShape.new(name: 'ListAssociatedFleetsRequest')
133
141
  ListAssociatedFleetsResult = Shapes::StructureShape.new(name: 'ListAssociatedFleetsResult')
@@ -203,6 +211,10 @@ module Aws::AppStream
203
211
  UpdateImagePermissionsResult = Shapes::StructureShape.new(name: 'UpdateImagePermissionsResult')
204
212
  UpdateStackRequest = Shapes::StructureShape.new(name: 'UpdateStackRequest')
205
213
  UpdateStackResult = Shapes::StructureShape.new(name: 'UpdateStackResult')
214
+ UsageReportExecutionErrorCode = Shapes::StringShape.new(name: 'UsageReportExecutionErrorCode')
215
+ UsageReportSchedule = Shapes::StringShape.new(name: 'UsageReportSchedule')
216
+ UsageReportSubscription = Shapes::StructureShape.new(name: 'UsageReportSubscription')
217
+ UsageReportSubscriptionList = Shapes::ListShape.new(name: 'UsageReportSubscriptionList')
206
218
  User = Shapes::StructureShape.new(name: 'User')
207
219
  UserAttributeValue = Shapes::StringShape.new(name: 'UserAttributeValue')
208
220
  UserId = Shapes::StringShape.new(name: 'UserId')
@@ -300,6 +312,7 @@ module Aws::AppStream
300
312
  CreateFleetRequest.add_member(:enable_default_internet_access, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableDefaultInternetAccess"))
301
313
  CreateFleetRequest.add_member(:domain_join_info, Shapes::ShapeRef.new(shape: DomainJoinInfo, location_name: "DomainJoinInfo"))
302
314
  CreateFleetRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
315
+ CreateFleetRequest.add_member(:idle_disconnect_timeout_in_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "IdleDisconnectTimeoutInSeconds"))
303
316
  CreateFleetRequest.struct_class = Types::CreateFleetRequest
304
317
 
305
318
  CreateFleetResult.add_member(:fleet, Shapes::ShapeRef.new(shape: Fleet, location_name: "Fleet"))
@@ -355,6 +368,12 @@ module Aws::AppStream
355
368
  CreateStreamingURLResult.add_member(:expires, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Expires"))
356
369
  CreateStreamingURLResult.struct_class = Types::CreateStreamingURLResult
357
370
 
371
+ CreateUsageReportSubscriptionRequest.struct_class = Types::CreateUsageReportSubscriptionRequest
372
+
373
+ CreateUsageReportSubscriptionResult.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "S3BucketName"))
374
+ CreateUsageReportSubscriptionResult.add_member(:schedule, Shapes::ShapeRef.new(shape: UsageReportSchedule, location_name: "Schedule"))
375
+ CreateUsageReportSubscriptionResult.struct_class = Types::CreateUsageReportSubscriptionResult
376
+
358
377
  CreateUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: Username, required: true, location_name: "UserName"))
359
378
  CreateUserRequest.add_member(:message_action, Shapes::ShapeRef.new(shape: MessageAction, location_name: "MessageAction"))
360
379
  CreateUserRequest.add_member(:first_name, Shapes::ShapeRef.new(shape: UserAttributeValue, location_name: "FirstName"))
@@ -397,6 +416,10 @@ module Aws::AppStream
397
416
 
398
417
  DeleteStackResult.struct_class = Types::DeleteStackResult
399
418
 
419
+ DeleteUsageReportSubscriptionRequest.struct_class = Types::DeleteUsageReportSubscriptionRequest
420
+
421
+ DeleteUsageReportSubscriptionResult.struct_class = Types::DeleteUsageReportSubscriptionResult
422
+
400
423
  DeleteUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: Username, required: true, location_name: "UserName"))
401
424
  DeleteUserRequest.add_member(:authentication_type, Shapes::ShapeRef.new(shape: AuthenticationType, required: true, location_name: "AuthenticationType"))
402
425
  DeleteUserRequest.struct_class = Types::DeleteUserRequest
@@ -471,6 +494,14 @@ module Aws::AppStream
471
494
  DescribeStacksResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
472
495
  DescribeStacksResult.struct_class = Types::DescribeStacksResult
473
496
 
497
+ DescribeUsageReportSubscriptionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
498
+ DescribeUsageReportSubscriptionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
499
+ DescribeUsageReportSubscriptionsRequest.struct_class = Types::DescribeUsageReportSubscriptionsRequest
500
+
501
+ DescribeUsageReportSubscriptionsResult.add_member(:usage_report_subscriptions, Shapes::ShapeRef.new(shape: UsageReportSubscriptionList, location_name: "UsageReportSubscriptions"))
502
+ DescribeUsageReportSubscriptionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
503
+ DescribeUsageReportSubscriptionsResult.struct_class = Types::DescribeUsageReportSubscriptionsResult
504
+
474
505
  DescribeUserStackAssociationsRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: String, location_name: "StackName"))
475
506
  DescribeUserStackAssociationsRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: Username, location_name: "UserName"))
476
507
  DescribeUserStackAssociationsRequest.add_member(:authentication_type, Shapes::ShapeRef.new(shape: AuthenticationType, location_name: "AuthenticationType"))
@@ -547,6 +578,7 @@ module Aws::AppStream
547
578
  Fleet.add_member(:fleet_errors, Shapes::ShapeRef.new(shape: FleetErrors, location_name: "FleetErrors"))
548
579
  Fleet.add_member(:enable_default_internet_access, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableDefaultInternetAccess"))
549
580
  Fleet.add_member(:domain_join_info, Shapes::ShapeRef.new(shape: DomainJoinInfo, location_name: "DomainJoinInfo"))
581
+ Fleet.add_member(:idle_disconnect_timeout_in_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "IdleDisconnectTimeoutInSeconds"))
550
582
  Fleet.struct_class = Types::Fleet
551
583
 
552
584
  FleetAttributes.member = Shapes::ShapeRef.new(shape: FleetAttribute)
@@ -609,6 +641,12 @@ module Aws::AppStream
609
641
  ImageStateChangeReason.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
610
642
  ImageStateChangeReason.struct_class = Types::ImageStateChangeReason
611
643
 
644
+ LastReportGenerationExecutionError.add_member(:error_code, Shapes::ShapeRef.new(shape: UsageReportExecutionErrorCode, location_name: "ErrorCode"))
645
+ LastReportGenerationExecutionError.add_member(:error_message, Shapes::ShapeRef.new(shape: String, location_name: "ErrorMessage"))
646
+ LastReportGenerationExecutionError.struct_class = Types::LastReportGenerationExecutionError
647
+
648
+ LastReportGenerationExecutionErrors.member = Shapes::ShapeRef.new(shape: LastReportGenerationExecutionError)
649
+
612
650
  ListAssociatedFleetsRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "StackName"))
613
651
  ListAssociatedFleetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
614
652
  ListAssociatedFleetsRequest.struct_class = Types::ListAssociatedFleetsRequest
@@ -768,6 +806,7 @@ module Aws::AppStream
768
806
  UpdateFleetRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
769
807
  UpdateFleetRequest.add_member(:enable_default_internet_access, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnableDefaultInternetAccess"))
770
808
  UpdateFleetRequest.add_member(:domain_join_info, Shapes::ShapeRef.new(shape: DomainJoinInfo, location_name: "DomainJoinInfo"))
809
+ UpdateFleetRequest.add_member(:idle_disconnect_timeout_in_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "IdleDisconnectTimeoutInSeconds"))
771
810
  UpdateFleetRequest.add_member(:attributes_to_delete, Shapes::ShapeRef.new(shape: FleetAttributes, location_name: "AttributesToDelete"))
772
811
  UpdateFleetRequest.struct_class = Types::UpdateFleetRequest
773
812
 
@@ -796,6 +835,14 @@ module Aws::AppStream
796
835
  UpdateStackResult.add_member(:stack, Shapes::ShapeRef.new(shape: Stack, location_name: "Stack"))
797
836
  UpdateStackResult.struct_class = Types::UpdateStackResult
798
837
 
838
+ UsageReportSubscription.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "S3BucketName"))
839
+ UsageReportSubscription.add_member(:schedule, Shapes::ShapeRef.new(shape: UsageReportSchedule, location_name: "Schedule"))
840
+ UsageReportSubscription.add_member(:last_generated_report_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastGeneratedReportDate"))
841
+ UsageReportSubscription.add_member(:subscription_errors, Shapes::ShapeRef.new(shape: LastReportGenerationExecutionErrors, location_name: "SubscriptionErrors"))
842
+ UsageReportSubscription.struct_class = Types::UsageReportSubscription
843
+
844
+ UsageReportSubscriptionList.member = Shapes::ShapeRef.new(shape: UsageReportSubscription)
845
+
799
846
  User.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
800
847
  User.add_member(:user_name, Shapes::ShapeRef.new(shape: Username, location_name: "UserName"))
801
848
  User.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled"))
@@ -981,6 +1028,15 @@ module Aws::AppStream
981
1028
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
982
1029
  end)
983
1030
 
1031
+ api.add_operation(:create_usage_report_subscription, Seahorse::Model::Operation.new.tap do |o|
1032
+ o.name = "CreateUsageReportSubscription"
1033
+ o.http_method = "POST"
1034
+ o.http_request_uri = "/"
1035
+ o.input = Shapes::ShapeRef.new(shape: CreateUsageReportSubscriptionRequest)
1036
+ o.output = Shapes::ShapeRef.new(shape: CreateUsageReportSubscriptionResult)
1037
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccountStatusException)
1038
+ end)
1039
+
984
1040
  api.add_operation(:create_user, Seahorse::Model::Operation.new.tap do |o|
985
1041
  o.name = "CreateUser"
986
1042
  o.http_method = "POST"
@@ -1059,6 +1115,16 @@ module Aws::AppStream
1059
1115
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1060
1116
  end)
1061
1117
 
1118
+ api.add_operation(:delete_usage_report_subscription, Seahorse::Model::Operation.new.tap do |o|
1119
+ o.name = "DeleteUsageReportSubscription"
1120
+ o.http_method = "POST"
1121
+ o.http_request_uri = "/"
1122
+ o.input = Shapes::ShapeRef.new(shape: DeleteUsageReportSubscriptionRequest)
1123
+ o.output = Shapes::ShapeRef.new(shape: DeleteUsageReportSubscriptionResult)
1124
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccountStatusException)
1125
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1126
+ end)
1127
+
1062
1128
  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
1063
1129
  o.name = "DeleteUser"
1064
1130
  o.http_method = "POST"
@@ -1144,6 +1210,16 @@ module Aws::AppStream
1144
1210
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1145
1211
  end)
1146
1212
 
1213
+ api.add_operation(:describe_usage_report_subscriptions, Seahorse::Model::Operation.new.tap do |o|
1214
+ o.name = "DescribeUsageReportSubscriptions"
1215
+ o.http_method = "POST"
1216
+ o.http_request_uri = "/"
1217
+ o.input = Shapes::ShapeRef.new(shape: DescribeUsageReportSubscriptionsRequest)
1218
+ o.output = Shapes::ShapeRef.new(shape: DescribeUsageReportSubscriptionsResult)
1219
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1220
+ o.errors << Shapes::ShapeRef.new(shape: InvalidAccountStatusException)
1221
+ end)
1222
+
1147
1223
  api.add_operation(:describe_user_stack_associations, Seahorse::Model::Operation.new.tap do |o|
1148
1224
  o.name = "DescribeUserStackAssociations"
1149
1225
  o.http_method = "POST"
@@ -1347,6 +1423,7 @@ module Aws::AppStream
1347
1423
  o.errors << Shapes::ShapeRef.new(shape: InvalidAccountStatusException)
1348
1424
  o.errors << Shapes::ShapeRef.new(shape: IncompatibleImageException)
1349
1425
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1426
+ o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
1350
1427
  end)
1351
1428
  end
1352
1429
 
@@ -334,8 +334,8 @@ module Aws::AppStream
334
334
  # @return [Array<String>]
335
335
  #
336
336
  # @!attribute [rw] service_account_credentials
337
- # The credentials for the service account used by the streaming
338
- # instance to connect to the directory.
337
+ # The credentials for the service account used by the fleet or image
338
+ # builder to connect to the directory.
339
339
  # @return [Types::ServiceAccountCredentials]
340
340
  #
341
341
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfigRequest AWS API Documentation
@@ -386,6 +386,7 @@ module Aws::AppStream
386
386
  # tags: {
387
387
  # "TagKey" => "TagValue",
388
388
  # },
389
+ # idle_disconnect_timeout_in_seconds: 1,
389
390
  # }
390
391
  #
391
392
  # @!attribute [rw] name
@@ -471,14 +472,23 @@ module Aws::AppStream
471
472
  # @return [Types::VpcConfig]
472
473
  #
473
474
  # @!attribute [rw] max_user_duration_in_seconds
474
- # The maximum time that a streaming session can run, in seconds.
475
+ # The maximum amount of time that a streaming session can remain
476
+ # active, in seconds. If users are still connected to a streaming
477
+ # instance five minutes before this limit is reached, they are
478
+ # prompted to save any open documents before being disconnected. After
479
+ # this time elapses, the instance is terminated and replaced by a new
480
+ # instance.
481
+ #
475
482
  # Specify a value between 600 and 360000.
476
483
  # @return [Integer]
477
484
  #
478
485
  # @!attribute [rw] disconnect_timeout_in_seconds
479
- # The time after disconnection when a session is considered to have
480
- # ended, in seconds. If a user who was disconnected reconnects within
481
- # this time interval, the user is connected to their previous session.
486
+ # The amount of time that a streaming session remains active after
487
+ # users disconnect. If users try to reconnect to the streaming session
488
+ # after a disconnection or network interruption within this time
489
+ # interval, they are connected to their previous session. Otherwise,
490
+ # they are connected to a new session with a new streaming instance.
491
+ #
482
492
  # Specify a value between 60 and 360000.
483
493
  # @return [Integer]
484
494
  #
@@ -506,6 +516,11 @@ module Aws::AppStream
506
516
  #
507
517
  # If you do not specify a value, the value is set to an empty string.
508
518
  #
519
+ # Generally allowed characters are: letters, numbers, and spaces
520
+ # representable in UTF-8, and the following special characters:
521
+ #
522
+ # \_ . : / = + \\ - @
523
+ #
509
524
  # For more information, see [Tagging Your Resources][1] in the *Amazon
510
525
  # AppStream 2.0 Developer Guide*.
511
526
  #
@@ -514,6 +529,36 @@ module Aws::AppStream
514
529
  # [1]: https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html
515
530
  # @return [Hash<String,String>]
516
531
  #
532
+ # @!attribute [rw] idle_disconnect_timeout_in_seconds
533
+ # The amount of time that users can be idle (inactive) before they are
534
+ # disconnected from their streaming session and the
535
+ # `DisconnectTimeoutInSeconds` time interval begins. Users are
536
+ # notified before they are disconnected due to inactivity. If they try
537
+ # to reconnect to the streaming session before the time interval
538
+ # specified in `DisconnectTimeoutInSeconds` elapses, they are
539
+ # connected to their previous session. Users are considered idle when
540
+ # they stop providing keyboard or mouse input during their streaming
541
+ # session. File uploads and downloads, audio in, audio out, and pixels
542
+ # changing do not qualify as user activity. If users continue to be
543
+ # idle after the time interval in `IdleDisconnectTimeoutInSeconds`
544
+ # elapses, they are disconnected.
545
+ #
546
+ # To prevent users from being disconnected due to inactivity, specify
547
+ # a value of 0. Otherwise, specify a value between 60 and 3600. The
548
+ # default value is 900.
549
+ #
550
+ # <note markdown="1"> If you enable this feature, we recommend that you specify a value
551
+ # that corresponds exactly to a whole number of minutes (for example,
552
+ # 60, 120, and 180). If you don't do this, the value is rounded to
553
+ # the nearest minute. For example, if you specify a value of 70, users
554
+ # are disconnected after 1 minute of inactivity. If you specify a
555
+ # value that is at the midpoint between two different minutes, the
556
+ # value is rounded up. For example, if you specify a value of 90,
557
+ # users are disconnected after 2 minutes of inactivity.
558
+ #
559
+ # </note>
560
+ # @return [Integer]
561
+ #
517
562
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleetRequest AWS API Documentation
518
563
  #
519
564
  class CreateFleetRequest < Struct.new(
@@ -530,7 +575,8 @@ module Aws::AppStream
530
575
  :display_name,
531
576
  :enable_default_internet_access,
532
577
  :domain_join_info,
533
- :tags)
578
+ :tags,
579
+ :idle_disconnect_timeout_in_seconds)
534
580
  include Aws::Structure
535
581
  end
536
582
 
@@ -619,6 +665,11 @@ module Aws::AppStream
619
665
  # pair, and the value is optional. For example, Environment=Test. If
620
666
  # you do not specify a value, Environment=.
621
667
  #
668
+ # Generally allowed characters are: letters, numbers, and spaces
669
+ # representable in UTF-8, and the following special characters:
670
+ #
671
+ # \_ . : / = + \\ - @
672
+ #
622
673
  # If you do not specify a value, the value is set to an empty string.
623
674
  #
624
675
  # For more information about tags, see [Tagging Your Resources][1] in
@@ -776,6 +827,11 @@ module Aws::AppStream
776
827
  #
777
828
  # If you do not specify a value, the value is set to an empty string.
778
829
  #
830
+ # Generally allowed characters are: letters, numbers, and spaces
831
+ # representable in UTF-8, and the following special characters:
832
+ #
833
+ # \_ . : / = + \\ - @
834
+ #
779
835
  # For more information about tags, see [Tagging Your Resources][1] in
780
836
  # the *Amazon AppStream 2.0 Developer Guide*.
781
837
  #
@@ -882,6 +938,31 @@ module Aws::AppStream
882
938
  include Aws::Structure
883
939
  end
884
940
 
941
+ # @api private
942
+ #
943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscriptionRequest AWS API Documentation
944
+ #
945
+ class CreateUsageReportSubscriptionRequest < Aws::EmptyStructure; end
946
+
947
+ # @!attribute [rw] s3_bucket_name
948
+ # The Amazon S3 bucket where generated reports are stored. When a
949
+ # usage report subscription is enabled for the first time for an
950
+ # account in an AWS Region, an S3 bucket is created. The bucket is
951
+ # unique to the AWS account and the Region.
952
+ # @return [String]
953
+ #
954
+ # @!attribute [rw] schedule
955
+ # The schedule for generating usage reports.
956
+ # @return [String]
957
+ #
958
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateUsageReportSubscriptionResult AWS API Documentation
959
+ #
960
+ class CreateUsageReportSubscriptionResult < Struct.new(
961
+ :s3_bucket_name,
962
+ :schedule)
963
+ include Aws::Structure
964
+ end
965
+
885
966
  # @note When making an API call, you may pass CreateUserRequest
886
967
  # data as a hash:
887
968
  #
@@ -895,6 +976,13 @@ module Aws::AppStream
895
976
  #
896
977
  # @!attribute [rw] user_name
897
978
  # The email address of the user.
979
+ #
980
+ # <note markdown="1"> Users' email addresses are case-sensitive. During login, if they
981
+ # specify an email address that doesn't use the same capitalization
982
+ # as the email address specified when their user pool account was
983
+ # created, a "user does not exist" error message displays.
984
+ #
985
+ # </note>
898
986
  # @return [String]
899
987
  #
900
988
  # @!attribute [rw] message_action
@@ -1091,6 +1179,16 @@ module Aws::AppStream
1091
1179
  #
1092
1180
  class DeleteStackResult < Aws::EmptyStructure; end
1093
1181
 
1182
+ # @api private
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscriptionRequest AWS API Documentation
1185
+ #
1186
+ class DeleteUsageReportSubscriptionRequest < Aws::EmptyStructure; end
1187
+
1188
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteUsageReportSubscriptionResult AWS API Documentation
1189
+ #
1190
+ class DeleteUsageReportSubscriptionResult < Aws::EmptyStructure; end
1191
+
1094
1192
  # @note When making an API call, you may pass DeleteUserRequest
1095
1193
  # data as a hash:
1096
1194
  #
@@ -1101,6 +1199,10 @@ module Aws::AppStream
1101
1199
  #
1102
1200
  # @!attribute [rw] user_name
1103
1201
  # The email address of the user.
1202
+ #
1203
+ # <note markdown="1"> Users' email addresses are case-sensitive.
1204
+ #
1205
+ # </note>
1104
1206
  # @return [String]
1105
1207
  #
1106
1208
  # @!attribute [rw] authentication_type
@@ -1416,9 +1518,8 @@ module Aws::AppStream
1416
1518
  #
1417
1519
  # @!attribute [rw] authentication_type
1418
1520
  # The authentication method. Specify `API` for a user authenticated
1419
- # using a streaming URL, `SAML` for a SAML 2.0-federated user, or
1420
- # `USERPOOL` for a user in the AppStream 2.0 user pool. The default is
1421
- # to authenticate users using a streaming URL.
1521
+ # using a streaming URL or `SAML` for a SAML federated user. The
1522
+ # default is to authenticate users using a streaming URL.
1422
1523
  # @return [String]
1423
1524
  #
1424
1525
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessionsRequest AWS API Documentation
@@ -1492,6 +1593,48 @@ module Aws::AppStream
1492
1593
  include Aws::Structure
1493
1594
  end
1494
1595
 
1596
+ # @note When making an API call, you may pass DescribeUsageReportSubscriptionsRequest
1597
+ # data as a hash:
1598
+ #
1599
+ # {
1600
+ # max_results: 1,
1601
+ # next_token: "String",
1602
+ # }
1603
+ #
1604
+ # @!attribute [rw] max_results
1605
+ # The maximum size of each page of results.
1606
+ # @return [Integer]
1607
+ #
1608
+ # @!attribute [rw] next_token
1609
+ # The pagination token to use to retrieve the next page of results for
1610
+ # this operation. If this value is null, it retrieves the first page.
1611
+ # @return [String]
1612
+ #
1613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptionsRequest AWS API Documentation
1614
+ #
1615
+ class DescribeUsageReportSubscriptionsRequest < Struct.new(
1616
+ :max_results,
1617
+ :next_token)
1618
+ include Aws::Structure
1619
+ end
1620
+
1621
+ # @!attribute [rw] usage_report_subscriptions
1622
+ # Information about the usage report subscription.
1623
+ # @return [Array<Types::UsageReportSubscription>]
1624
+ #
1625
+ # @!attribute [rw] next_token
1626
+ # The pagination token to use to retrieve the next page of results for
1627
+ # this operation. If there are no more pages, this value is null.
1628
+ # @return [String]
1629
+ #
1630
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUsageReportSubscriptionsResult AWS API Documentation
1631
+ #
1632
+ class DescribeUsageReportSubscriptionsResult < Struct.new(
1633
+ :usage_report_subscriptions,
1634
+ :next_token)
1635
+ include Aws::Structure
1636
+ end
1637
+
1495
1638
  # @note When making an API call, you may pass DescribeUserStackAssociationsRequest
1496
1639
  # data as a hash:
1497
1640
  #
@@ -1509,6 +1652,10 @@ module Aws::AppStream
1509
1652
  #
1510
1653
  # @!attribute [rw] user_name
1511
1654
  # The email address of the user who is associated with the stack.
1655
+ #
1656
+ # <note markdown="1"> Users' email addresses are case-sensitive.
1657
+ #
1658
+ # </note>
1512
1659
  # @return [String]
1513
1660
  #
1514
1661
  # @!attribute [rw] authentication_type
@@ -1602,8 +1749,8 @@ module Aws::AppStream
1602
1749
  include Aws::Structure
1603
1750
  end
1604
1751
 
1605
- # Describes the configuration information for the directory used to join
1606
- # a streaming instance to a Microsoft Active Directory domain.
1752
+ # Describes the configuration information required to join fleets and
1753
+ # image builders to Microsoft Active Directory domains.
1607
1754
  #
1608
1755
  # @!attribute [rw] directory_name
1609
1756
  # The fully qualified name of the directory (for example,
@@ -1616,8 +1763,8 @@ module Aws::AppStream
1616
1763
  # @return [Array<String>]
1617
1764
  #
1618
1765
  # @!attribute [rw] service_account_credentials
1619
- # The credentials for the service account used by the streaming
1620
- # instance to connect to the directory.
1766
+ # The credentials for the service account used by the fleet or image
1767
+ # builder to connect to the directory.
1621
1768
  # @return [Types::ServiceAccountCredentials]
1622
1769
  #
1623
1770
  # @!attribute [rw] created_time
@@ -1644,6 +1791,10 @@ module Aws::AppStream
1644
1791
  #
1645
1792
  # @!attribute [rw] user_name
1646
1793
  # The email address of the user.
1794
+ #
1795
+ # <note markdown="1"> Users' email addresses are case-sensitive.
1796
+ #
1797
+ # </note>
1647
1798
  # @return [String]
1648
1799
  #
1649
1800
  # @!attribute [rw] authentication_type
@@ -1729,6 +1880,13 @@ module Aws::AppStream
1729
1880
  #
1730
1881
  # @!attribute [rw] user_name
1731
1882
  # The email address of the user.
1883
+ #
1884
+ # <note markdown="1"> Users' email addresses are case-sensitive. During login, if they
1885
+ # specify an email address that doesn't use the same capitalization
1886
+ # as the email address specified when their user pool account was
1887
+ # created, a "user does not exist" error message displays.
1888
+ #
1889
+ # </note>
1732
1890
  # @return [String]
1733
1891
  #
1734
1892
  # @!attribute [rw] authentication_type
@@ -1821,16 +1979,24 @@ module Aws::AppStream
1821
1979
  # @return [Types::ComputeCapacityStatus]
1822
1980
  #
1823
1981
  # @!attribute [rw] max_user_duration_in_seconds
1824
- # The maximum time that a streaming session can run, in seconds.
1982
+ # The maximum amount of time that a streaming session can remain
1983
+ # active, in seconds. If users are still connected to a streaming
1984
+ # instance five minutes before this limit is reached, they are
1985
+ # prompted to save any open documents before being disconnected. After
1986
+ # this time elapses, the instance is terminated and replaced by a new
1987
+ # instance.
1988
+ #
1825
1989
  # Specify a value between 600 and 360000.
1826
1990
  # @return [Integer]
1827
1991
  #
1828
1992
  # @!attribute [rw] disconnect_timeout_in_seconds
1829
- # The time after disconnection when a session is considered to have
1830
- # ended, in seconds. If a user who was disconnected reconnects within
1831
- # this time interval, the user is connected to their previous session.
1832
- # Specify a value between 60 and 360000. By default, this value is 900
1833
- # seconds (15 minutes).
1993
+ # The amount of time that a streaming session remains active after
1994
+ # users disconnect. If they try to reconnect to the streaming session
1995
+ # after a disconnection or network interruption within this time
1996
+ # interval, they are connected to their previous session. Otherwise,
1997
+ # they are connected to a new session with a new streaming instance.
1998
+ #
1999
+ # Specify a value between 60 and 360000.
1834
2000
  # @return [Integer]
1835
2001
  #
1836
2002
  # @!attribute [rw] state
@@ -1858,6 +2024,36 @@ module Aws::AppStream
1858
2024
  # join the fleet to a Microsoft Active Directory domain.
1859
2025
  # @return [Types::DomainJoinInfo]
1860
2026
  #
2027
+ # @!attribute [rw] idle_disconnect_timeout_in_seconds
2028
+ # The amount of time that users can be idle (inactive) before they are
2029
+ # disconnected from their streaming session and the
2030
+ # `DisconnectTimeoutInSeconds` time interval begins. Users are
2031
+ # notified before they are disconnected due to inactivity. If users
2032
+ # try to reconnect to the streaming session before the time interval
2033
+ # specified in `DisconnectTimeoutInSeconds` elapses, they are
2034
+ # connected to their previous session. Users are considered idle when
2035
+ # they stop providing keyboard or mouse input during their streaming
2036
+ # session. File uploads and downloads, audio in, audio out, and pixels
2037
+ # changing do not qualify as user activity. If users continue to be
2038
+ # idle after the time interval in `IdleDisconnectTimeoutInSeconds`
2039
+ # elapses, they are disconnected.
2040
+ #
2041
+ # To prevent users from being disconnected due to inactivity, specify
2042
+ # a value of 0. Otherwise, specify a value between 60 and 3600. The
2043
+ # default value is 900.
2044
+ #
2045
+ # <note markdown="1"> If you enable this feature, we recommend that you specify a value
2046
+ # that corresponds exactly to a whole number of minutes (for example,
2047
+ # 60, 120, and 180). If you don't do this, the value is rounded to
2048
+ # the nearest minute. For example, if you specify a value of 70, users
2049
+ # are disconnected after 1 minute of inactivity. If you specify a
2050
+ # value that is at the midpoint between two different minutes, the
2051
+ # value is rounded up. For example, if you specify a value of 90,
2052
+ # users are disconnected after 2 minutes of inactivity.
2053
+ #
2054
+ # </note>
2055
+ # @return [Integer]
2056
+ #
1861
2057
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Fleet AWS API Documentation
1862
2058
  #
1863
2059
  class Fleet < Struct.new(
@@ -1877,7 +2073,8 @@ module Aws::AppStream
1877
2073
  :created_time,
1878
2074
  :fleet_errors,
1879
2075
  :enable_default_internet_access,
1880
- :domain_join_info)
2076
+ :domain_join_info,
2077
+ :idle_disconnect_timeout_in_seconds)
1881
2078
  include Aws::Structure
1882
2079
  end
1883
2080
 
@@ -2135,6 +2332,27 @@ module Aws::AppStream
2135
2332
  include Aws::Structure
2136
2333
  end
2137
2334
 
2335
+ # Describes the error that is returned when a usage report can't be
2336
+ # generated.
2337
+ #
2338
+ # @!attribute [rw] error_code
2339
+ # The error code for the error that is returned when a usage report
2340
+ # can't be generated.
2341
+ # @return [String]
2342
+ #
2343
+ # @!attribute [rw] error_message
2344
+ # The error message for the error that is returned when a usage report
2345
+ # can't be generated.
2346
+ # @return [String]
2347
+ #
2348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/LastReportGenerationExecutionError AWS API Documentation
2349
+ #
2350
+ class LastReportGenerationExecutionError < Struct.new(
2351
+ :error_code,
2352
+ :error_message)
2353
+ include Aws::Structure
2354
+ end
2355
+
2138
2356
  # @note When making an API call, you may pass ListAssociatedFleetsRequest
2139
2357
  # data as a hash:
2140
2358
  #
@@ -2293,8 +2511,8 @@ module Aws::AppStream
2293
2511
  include Aws::Structure
2294
2512
  end
2295
2513
 
2296
- # Describes the credentials for the service account used by the
2297
- # streaming instance to connect to the directory.
2514
+ # Describes the credentials for the service account used by the fleet or
2515
+ # image builder to connect to the directory.
2298
2516
  #
2299
2517
  # @note When making an API call, you may pass ServiceAccountCredentials
2300
2518
  # data as a hash:
@@ -2367,9 +2585,7 @@ module Aws::AppStream
2367
2585
  #
2368
2586
  # @!attribute [rw] authentication_type
2369
2587
  # The authentication method. The user is authenticated using a
2370
- # streaming URL (`API`), SAML 2.0 federation (`SAML`), or the
2371
- # AppStream 2.0 user pool (`USERPOOL`). The default is to authenticate
2372
- # users using a streaming URL.
2588
+ # streaming URL (`API`) or SAML 2.0 federation (`SAML`).
2373
2589
  # @return [String]
2374
2590
  #
2375
2591
  # @!attribute [rw] network_access_configuration
@@ -2607,7 +2823,7 @@ module Aws::AppStream
2607
2823
  include Aws::Structure
2608
2824
  end
2609
2825
 
2610
- # Describes a connector to enable persistent storage for users.
2826
+ # Describes a connector that enables persistent storage for users.
2611
2827
  #
2612
2828
  # @note When making an API call, you may pass StorageConnector
2613
2829
  # data as a hash:
@@ -2659,6 +2875,11 @@ module Aws::AppStream
2659
2875
  # value, Environment=.
2660
2876
  #
2661
2877
  # If you do not specify a value, the value is set to an empty string.
2878
+ #
2879
+ # Generally allowed characters are: letters, numbers, and spaces
2880
+ # representable in UTF-8, and the following special characters:
2881
+ #
2882
+ # \_ . : / = + \\ - @
2662
2883
  # @return [Hash<String,String>]
2663
2884
  #
2664
2885
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/TagResourceRequest AWS API Documentation
@@ -2723,8 +2944,8 @@ module Aws::AppStream
2723
2944
  # @return [Array<String>]
2724
2945
  #
2725
2946
  # @!attribute [rw] service_account_credentials
2726
- # The credentials for the service account used by the streaming
2727
- # instance to connect to the directory.
2947
+ # The credentials for the service account used by the fleet or image
2948
+ # builder to connect to the directory.
2728
2949
  # @return [Types::ServiceAccountCredentials]
2729
2950
  #
2730
2951
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfigRequest AWS API Documentation
@@ -2772,6 +2993,7 @@ module Aws::AppStream
2772
2993
  # directory_name: "DirectoryName",
2773
2994
  # organizational_unit_distinguished_name: "OrganizationalUnitDistinguishedName",
2774
2995
  # },
2996
+ # idle_disconnect_timeout_in_seconds: 1,
2775
2997
  # attributes_to_delete: ["VPC_CONFIGURATION"], # accepts VPC_CONFIGURATION, VPC_CONFIGURATION_SECURITY_GROUP_IDS, DOMAIN_JOIN_INFO
2776
2998
  # }
2777
2999
  #
@@ -2841,17 +3063,24 @@ module Aws::AppStream
2841
3063
  # @return [Types::VpcConfig]
2842
3064
  #
2843
3065
  # @!attribute [rw] max_user_duration_in_seconds
2844
- # The maximum time that a streaming session can run, in seconds.
2845
- # Specify a value between 600 and 360000. By default, the value is 900
2846
- # seconds (15 minutes).
3066
+ # The maximum amount of time that a streaming session can remain
3067
+ # active, in seconds. If users are still connected to a streaming
3068
+ # instance five minutes before this limit is reached, they are
3069
+ # prompted to save any open documents before being disconnected. After
3070
+ # this time elapses, the instance is terminated and replaced by a new
3071
+ # instance.
3072
+ #
3073
+ # Specify a value between 600 and 360000.
2847
3074
  # @return [Integer]
2848
3075
  #
2849
3076
  # @!attribute [rw] disconnect_timeout_in_seconds
2850
- # The time after disconnection when a session is considered to have
2851
- # ended, in seconds. If a user who was disconnected reconnects within
2852
- # this time interval, the user is connected to their previous session.
2853
- # Specify a value between 60 and 360000. By default, the value is 900
2854
- # seconds (15 minutes).
3077
+ # The amount of time that a streaming session remains active after
3078
+ # users disconnect. If users try to reconnect to the streaming session
3079
+ # after a disconnection or network interruption within this time
3080
+ # interval, they are connected to their previous session. Otherwise,
3081
+ # they are connected to a new session with a new streaming instance.
3082
+ #
3083
+ # Specify a value between 60 and 360000.
2855
3084
  # @return [Integer]
2856
3085
  #
2857
3086
  # @!attribute [rw] delete_vpc_config
@@ -2875,6 +3104,36 @@ module Aws::AppStream
2875
3104
  # join the fleet to a Microsoft Active Directory domain.
2876
3105
  # @return [Types::DomainJoinInfo]
2877
3106
  #
3107
+ # @!attribute [rw] idle_disconnect_timeout_in_seconds
3108
+ # The amount of time that users can be idle (inactive) before they are
3109
+ # disconnected from their streaming session and the
3110
+ # `DisconnectTimeoutInSeconds` time interval begins. Users are
3111
+ # notified before they are disconnected due to inactivity. If users
3112
+ # try to reconnect to the streaming session before the time interval
3113
+ # specified in `DisconnectTimeoutInSeconds` elapses, they are
3114
+ # connected to their previous session. Users are considered idle when
3115
+ # they stop providing keyboard or mouse input during their streaming
3116
+ # session. File uploads and downloads, audio in, audio out, and pixels
3117
+ # changing do not qualify as user activity. If users continue to be
3118
+ # idle after the time interval in `IdleDisconnectTimeoutInSeconds`
3119
+ # elapses, they are disconnected.
3120
+ #
3121
+ # To prevent users from being disconnected due to inactivity, specify
3122
+ # a value of 0. Otherwise, specify a value between 60 and 3600. The
3123
+ # default value is 900.
3124
+ #
3125
+ # <note markdown="1"> If you enable this feature, we recommend that you specify a value
3126
+ # that corresponds exactly to a whole number of minutes (for example,
3127
+ # 60, 120, and 180). If you don't do this, the value is rounded to
3128
+ # the nearest minute. For example, if you specify a value of 70, users
3129
+ # are disconnected after 1 minute of inactivity. If you specify a
3130
+ # value that is at the midpoint between two different minutes, the
3131
+ # value is rounded up. For example, if you specify a value of 90,
3132
+ # users are disconnected after 2 minutes of inactivity.
3133
+ #
3134
+ # </note>
3135
+ # @return [Integer]
3136
+ #
2878
3137
  # @!attribute [rw] attributes_to_delete
2879
3138
  # The fleet attributes to delete.
2880
3139
  # @return [Array<String>]
@@ -2895,6 +3154,7 @@ module Aws::AppStream
2895
3154
  :display_name,
2896
3155
  :enable_default_internet_access,
2897
3156
  :domain_join_info,
3157
+ :idle_disconnect_timeout_in_seconds,
2898
3158
  :attributes_to_delete)
2899
3159
  include Aws::Structure
2900
3160
  end
@@ -3052,6 +3312,37 @@ module Aws::AppStream
3052
3312
  include Aws::Structure
3053
3313
  end
3054
3314
 
3315
+ # Describes information about the usage report subscription.
3316
+ #
3317
+ # @!attribute [rw] s3_bucket_name
3318
+ # The Amazon S3 bucket where generated reports are stored. When a
3319
+ # usage report subscription is enabled for the first time for an
3320
+ # account in an AWS Region, an S3 bucket is created. The bucket is
3321
+ # unique to the AWS account and the Region.
3322
+ # @return [String]
3323
+ #
3324
+ # @!attribute [rw] schedule
3325
+ # The schedule for generating usage reports.
3326
+ # @return [String]
3327
+ #
3328
+ # @!attribute [rw] last_generated_report_date
3329
+ # The time when the last usage report was generated.
3330
+ # @return [Time]
3331
+ #
3332
+ # @!attribute [rw] subscription_errors
3333
+ # The errors that are returned when usage reports can't be generated.
3334
+ # @return [Array<Types::LastReportGenerationExecutionError>]
3335
+ #
3336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UsageReportSubscription AWS API Documentation
3337
+ #
3338
+ class UsageReportSubscription < Struct.new(
3339
+ :s3_bucket_name,
3340
+ :schedule,
3341
+ :last_generated_report_date,
3342
+ :subscription_errors)
3343
+ include Aws::Structure
3344
+ end
3345
+
3055
3346
  # Describes a user in the user pool.
3056
3347
  #
3057
3348
  # @!attribute [rw] arn
@@ -3060,6 +3351,10 @@ module Aws::AppStream
3060
3351
  #
3061
3352
  # @!attribute [rw] user_name
3062
3353
  # The email address of the user.
3354
+ #
3355
+ # <note markdown="1"> Users' email addresses are case-sensitive.
3356
+ #
3357
+ # </note>
3063
3358
  # @return [String]
3064
3359
  #
3065
3360
  # @!attribute [rw] enabled
@@ -3157,6 +3452,10 @@ module Aws::AppStream
3157
3452
  #
3158
3453
  # @!attribute [rw] user_name
3159
3454
  # The email address of the user who is associated with the stack.
3455
+ #
3456
+ # <note markdown="1"> Users' email addresses are case-sensitive.
3457
+ #
3458
+ # </note>
3160
3459
  # @return [String]
3161
3460
  #
3162
3461
  # @!attribute [rw] authentication_type