aws-sdk-appstream 1.27.0 → 1.28.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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