aws-sdk-appstream 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2cf75744f4ff0884aacf7bab1925571b9982d0d
4
- data.tar.gz: d78cd2ef5da44f85b0ce1349f1237a3762ca77af
3
+ metadata.gz: 7e787ef8ea159ed62a5f37c6d7c4e7562b601982
4
+ data.tar.gz: 53b3296d2826dfb7ef74854b42256abd2a149e20
5
5
  SHA512:
6
- metadata.gz: 28b4aee5cf8a463592bd0df36477790fe80ea113549a3e0137b33cbab66e44c275e327747c1137cb380f5da44f0eb105cce7e2240a49e8f33e4edf4e6cb11b0c
7
- data.tar.gz: cb3b9f483d192e86c1b531a2e5ea03cd15984c07c100e4f259b90d60f49a6800dcb1ad1592109fa846f6fcddd40874ec87c959dbf7bb40b6ec850fcbe132183a
6
+ metadata.gz: 757ba2d0ee51c88b89f18df0d39f70bf1749131668352ff36f55ff553510c69d411fe51cb87657d2c36694fa403f172d042c393af1da03d8cb79dced3c05361a
7
+ data.tar.gz: 8a1a99f94b94cd1a93c508f34056c247b01aaa4e52b0112c289e7f0fe9fe00646d08a0c39c8eae37b63a53edd997160bda287d90f78aef64e6b12ecae291d044
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-appstream/customizations'
43
43
  # @service
44
44
  module Aws::AppStream
45
45
 
46
- GEM_VERSION = '1.12.0'
46
+ GEM_VERSION = '1.13.0'
47
47
 
48
48
  end
@@ -293,9 +293,12 @@ module Aws::AppStream
293
293
  # @option params [required, String] :name
294
294
  # A unique name for the fleet.
295
295
  #
296
- # @option params [required, String] :image_name
296
+ # @option params [String] :image_name
297
297
  # The name of the image used to create the fleet.
298
298
  #
299
+ # @option params [String] :image_arn
300
+ # The ARN of the public, private, or shared image to use.
301
+ #
299
302
  # @option params [required, String] :instance_type
300
303
  # The instance type to use when launching fleet instances. The following
301
304
  # instance types are available:
@@ -392,7 +395,8 @@ module Aws::AppStream
392
395
  #
393
396
  # resp = client.create_fleet({
394
397
  # name: "Name", # required
395
- # image_name: "String", # required
398
+ # image_name: "String",
399
+ # image_arn: "Arn",
396
400
  # instance_type: "String", # required
397
401
  # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND
398
402
  # compute_capacity: { # required
@@ -420,6 +424,7 @@ module Aws::AppStream
420
424
  # resp.fleet.display_name #=> String
421
425
  # resp.fleet.description #=> String
422
426
  # resp.fleet.image_name #=> String
427
+ # resp.fleet.image_arn #=> String
423
428
  # resp.fleet.instance_type #=> String
424
429
  # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
425
430
  # resp.fleet.compute_capacity_status.desired #=> Integer
@@ -459,9 +464,12 @@ module Aws::AppStream
459
464
  # @option params [required, String] :name
460
465
  # A unique name for the image builder.
461
466
  #
462
- # @option params [required, String] :image_name
467
+ # @option params [String] :image_name
463
468
  # The name of the image used to create the builder.
464
469
  #
470
+ # @option params [String] :image_arn
471
+ # The ARN of the public, private, or shared image to use.
472
+ #
465
473
  # @option params [required, String] :instance_type
466
474
  # The instance type to use when launching the image builder.
467
475
  #
@@ -494,7 +502,8 @@ module Aws::AppStream
494
502
  #
495
503
  # resp = client.create_image_builder({
496
504
  # name: "Name", # required
497
- # image_name: "String", # required
505
+ # image_name: "String",
506
+ # image_arn: "Arn",
498
507
  # instance_type: "String", # required
499
508
  # description: "Description",
500
509
  # display_name: "DisplayName",
@@ -795,7 +804,7 @@ module Aws::AppStream
795
804
  # resp.image.base_image_arn #=> String
796
805
  # resp.image.display_name #=> String
797
806
  # resp.image.state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "COPYING", "DELETING"
798
- # resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE"
807
+ # resp.image.visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
799
808
  # resp.image.image_builder_supported #=> Boolean
800
809
  # resp.image.platform #=> String, one of "WINDOWS"
801
810
  # resp.image.description #=> String
@@ -813,6 +822,8 @@ module Aws::AppStream
813
822
  # resp.image.created_time #=> Time
814
823
  # resp.image.public_base_image_released_date #=> Time
815
824
  # resp.image.appstream_agent_version #=> String
825
+ # resp.image.image_permissions.allow_fleet #=> Boolean
826
+ # resp.image.image_permissions.allow_image_builder #=> Boolean
816
827
  #
817
828
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImage AWS API Documentation
818
829
  #
@@ -873,6 +884,35 @@ module Aws::AppStream
873
884
  req.send_request(options)
874
885
  end
875
886
 
887
+ # Deletes permissions for the specified private image. After you delete
888
+ # permissions for an image, AWS accounts to which you previously granted
889
+ # these permissions can no longer use the image.
890
+ #
891
+ # @option params [required, String] :name
892
+ # The name of the private image.
893
+ #
894
+ # @option params [required, String] :shared_account_id
895
+ # The 12-digit ID of the AWS account for which to delete image
896
+ # permissions.
897
+ #
898
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
899
+ #
900
+ # @example Request syntax with placeholder values
901
+ #
902
+ # resp = client.delete_image_permissions({
903
+ # name: "Name", # required
904
+ # shared_account_id: "AwsAccountId", # required
905
+ # })
906
+ #
907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissions AWS API Documentation
908
+ #
909
+ # @overload delete_image_permissions(params = {})
910
+ # @param [Hash] params ({})
911
+ def delete_image_permissions(params = {}, options = {})
912
+ req = build_request(:delete_image_permissions, params)
913
+ req.send_request(options)
914
+ end
915
+
876
916
  # Deletes the specified stack. After the stack is deleted, the
877
917
  # application streaming environment provided by the stack is no longer
878
918
  # available to users. Also, any reservations made for application
@@ -981,6 +1021,7 @@ module Aws::AppStream
981
1021
  # resp.fleets[0].display_name #=> String
982
1022
  # resp.fleets[0].description #=> String
983
1023
  # resp.fleets[0].image_name #=> String
1024
+ # resp.fleets[0].image_arn #=> String
984
1025
  # resp.fleets[0].instance_type #=> String
985
1026
  # resp.fleets[0].fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
986
1027
  # resp.fleets[0].compute_capacity_status.desired #=> Integer
@@ -1076,6 +1117,57 @@ module Aws::AppStream
1076
1117
  req.send_request(options)
1077
1118
  end
1078
1119
 
1120
+ # Retrieves a list that describes the permissions for a private image
1121
+ # that you own.
1122
+ #
1123
+ # @option params [required, String] :name
1124
+ # The name of the private image for which to describe permissions. The
1125
+ # image must be one that you own.
1126
+ #
1127
+ # @option params [Integer] :max_results
1128
+ # The maximum size of each results page.
1129
+ #
1130
+ # @option params [Array<String>] :shared_aws_account_ids
1131
+ # The 12-digit ID of one or more AWS accounts with which the image is
1132
+ # shared.
1133
+ #
1134
+ # @option params [String] :next_token
1135
+ # The pagination token to use to retrieve the next page of results. If
1136
+ # this value is empty, only the first page is retrieved.
1137
+ #
1138
+ # @return [Types::DescribeImagePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1139
+ #
1140
+ # * {Types::DescribeImagePermissionsResult#name #name} => String
1141
+ # * {Types::DescribeImagePermissionsResult#shared_image_permissions_list #shared_image_permissions_list} => Array&lt;Types::SharedImagePermissions&gt;
1142
+ # * {Types::DescribeImagePermissionsResult#next_token #next_token} => String
1143
+ #
1144
+ # @example Request syntax with placeholder values
1145
+ #
1146
+ # resp = client.describe_image_permissions({
1147
+ # name: "Name", # required
1148
+ # max_results: 1,
1149
+ # shared_aws_account_ids: ["AwsAccountId"],
1150
+ # next_token: "String",
1151
+ # })
1152
+ #
1153
+ # @example Response structure
1154
+ #
1155
+ # resp.name #=> String
1156
+ # resp.shared_image_permissions_list #=> Array
1157
+ # resp.shared_image_permissions_list[0].shared_account_id #=> String
1158
+ # resp.shared_image_permissions_list[0].image_permissions.allow_fleet #=> Boolean
1159
+ # resp.shared_image_permissions_list[0].image_permissions.allow_image_builder #=> Boolean
1160
+ # resp.next_token #=> String
1161
+ #
1162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissions AWS API Documentation
1163
+ #
1164
+ # @overload describe_image_permissions(params = {})
1165
+ # @param [Hash] params ({})
1166
+ def describe_image_permissions(params = {}, options = {})
1167
+ req = build_request(:describe_image_permissions, params)
1168
+ req.send_request(options)
1169
+ end
1170
+
1079
1171
  # Retrieves a list that describes one or more specified images, if the
1080
1172
  # image names are provided. Otherwise, all images in the account are
1081
1173
  # described.
@@ -1083,12 +1175,18 @@ module Aws::AppStream
1083
1175
  # @option params [Array<String>] :names
1084
1176
  # The names of the images to describe.
1085
1177
  #
1178
+ # @option params [Array<String>] :arns
1179
+ # The ARNs of the public, private, and shared images to describe.
1180
+ #
1181
+ # @option params [String] :type
1182
+ # The type of image (public, private, or shared) to describe.
1183
+ #
1086
1184
  # @option params [String] :next_token
1087
1185
  # The pagination token to use to retrieve the next page of results. If
1088
1186
  # this value is empty, only the first page is retrieved.
1089
1187
  #
1090
1188
  # @option params [Integer] :max_results
1091
- # The maximum size of each results page.
1189
+ # The maximum size of each page of results.
1092
1190
  #
1093
1191
  # @return [Types::DescribeImagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1094
1192
  #
@@ -1099,6 +1197,8 @@ module Aws::AppStream
1099
1197
  #
1100
1198
  # resp = client.describe_images({
1101
1199
  # names: ["String"],
1200
+ # arns: ["Arn"],
1201
+ # type: "PUBLIC", # accepts PUBLIC, PRIVATE, SHARED
1102
1202
  # next_token: "String",
1103
1203
  # max_results: 1,
1104
1204
  # })
@@ -1111,7 +1211,7 @@ module Aws::AppStream
1111
1211
  # resp.images[0].base_image_arn #=> String
1112
1212
  # resp.images[0].display_name #=> String
1113
1213
  # resp.images[0].state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "COPYING", "DELETING"
1114
- # resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE"
1214
+ # resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE", "SHARED"
1115
1215
  # resp.images[0].image_builder_supported #=> Boolean
1116
1216
  # resp.images[0].platform #=> String, one of "WINDOWS"
1117
1217
  # resp.images[0].description #=> String
@@ -1129,6 +1229,8 @@ module Aws::AppStream
1129
1229
  # resp.images[0].created_time #=> Time
1130
1230
  # resp.images[0].public_base_image_released_date #=> Time
1131
1231
  # resp.images[0].appstream_agent_version #=> String
1232
+ # resp.images[0].image_permissions.allow_fleet #=> Boolean
1233
+ # resp.images[0].image_permissions.allow_image_builder #=> Boolean
1132
1234
  # resp.next_token #=> String
1133
1235
  #
1134
1236
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages AWS API Documentation
@@ -1711,7 +1813,10 @@ module Aws::AppStream
1711
1813
  # @option params [String] :image_name
1712
1814
  # The name of the image used to create the fleet.
1713
1815
  #
1714
- # @option params [required, String] :name
1816
+ # @option params [String] :image_arn
1817
+ # The ARN of the public, private, or shared image to use.
1818
+ #
1819
+ # @option params [String] :name
1715
1820
  # A unique name for the fleet.
1716
1821
  #
1717
1822
  # @option params [String] :instance_type
@@ -1800,7 +1905,8 @@ module Aws::AppStream
1800
1905
  #
1801
1906
  # resp = client.update_fleet({
1802
1907
  # image_name: "String",
1803
- # name: "String", # required
1908
+ # image_arn: "Arn",
1909
+ # name: "String",
1804
1910
  # instance_type: "String",
1805
1911
  # compute_capacity: {
1806
1912
  # desired_instances: 1, # required
@@ -1829,6 +1935,7 @@ module Aws::AppStream
1829
1935
  # resp.fleet.display_name #=> String
1830
1936
  # resp.fleet.description #=> String
1831
1937
  # resp.fleet.image_name #=> String
1938
+ # resp.fleet.image_arn #=> String
1832
1939
  # resp.fleet.instance_type #=> String
1833
1940
  # resp.fleet.fleet_type #=> String, one of "ALWAYS_ON", "ON_DEMAND"
1834
1941
  # resp.fleet.compute_capacity_status.desired #=> Integer
@@ -1859,6 +1966,40 @@ module Aws::AppStream
1859
1966
  req.send_request(options)
1860
1967
  end
1861
1968
 
1969
+ # Adds or updates permissions for the specified private image.
1970
+ #
1971
+ # @option params [required, String] :name
1972
+ # The name of the private image.
1973
+ #
1974
+ # @option params [required, String] :shared_account_id
1975
+ # The 12-digit ID of the AWS account for which you want add or update
1976
+ # image permissions.
1977
+ #
1978
+ # @option params [required, Types::ImagePermissions] :image_permissions
1979
+ # The permissions for the image.
1980
+ #
1981
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1982
+ #
1983
+ # @example Request syntax with placeholder values
1984
+ #
1985
+ # resp = client.update_image_permissions({
1986
+ # name: "Name", # required
1987
+ # shared_account_id: "AwsAccountId", # required
1988
+ # image_permissions: { # required
1989
+ # allow_fleet: false,
1990
+ # allow_image_builder: false,
1991
+ # },
1992
+ # })
1993
+ #
1994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissions AWS API Documentation
1995
+ #
1996
+ # @overload update_image_permissions(params = {})
1997
+ # @param [Hash] params ({})
1998
+ def update_image_permissions(params = {}, options = {})
1999
+ req = build_request(:update_image_permissions, params)
2000
+ req.send_request(options)
2001
+ end
2002
+
1862
2003
  # Updates the specified fields for the specified stack.
1863
2004
  #
1864
2005
  # @option params [String] :display_name
@@ -1964,7 +2105,7 @@ module Aws::AppStream
1964
2105
  params: params,
1965
2106
  config: config)
1966
2107
  context[:gem_name] = 'aws-sdk-appstream'
1967
- context[:gem_version] = '1.12.0'
2108
+ context[:gem_version] = '1.13.0'
1968
2109
  Seahorse::Client::Request.new(handlers, context)
1969
2110
  end
1970
2111
 
@@ -18,9 +18,12 @@ module Aws::AppStream
18
18
  Applications = Shapes::ListShape.new(name: 'Applications')
19
19
  AppstreamAgentVersion = Shapes::StringShape.new(name: 'AppstreamAgentVersion')
20
20
  Arn = Shapes::StringShape.new(name: 'Arn')
21
+ ArnList = Shapes::ListShape.new(name: 'ArnList')
21
22
  AssociateFleetRequest = Shapes::StructureShape.new(name: 'AssociateFleetRequest')
22
23
  AssociateFleetResult = Shapes::StructureShape.new(name: 'AssociateFleetResult')
23
24
  AuthenticationType = Shapes::StringShape.new(name: 'AuthenticationType')
25
+ AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
26
+ AwsAccountIdList = Shapes::ListShape.new(name: 'AwsAccountIdList')
24
27
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
25
28
  BooleanObject = Shapes::BooleanShape.new(name: 'BooleanObject')
26
29
  ComputeCapacity = Shapes::StructureShape.new(name: 'ComputeCapacity')
@@ -46,6 +49,8 @@ module Aws::AppStream
46
49
  DeleteFleetResult = Shapes::StructureShape.new(name: 'DeleteFleetResult')
47
50
  DeleteImageBuilderRequest = Shapes::StructureShape.new(name: 'DeleteImageBuilderRequest')
48
51
  DeleteImageBuilderResult = Shapes::StructureShape.new(name: 'DeleteImageBuilderResult')
52
+ DeleteImagePermissionsRequest = Shapes::StructureShape.new(name: 'DeleteImagePermissionsRequest')
53
+ DeleteImagePermissionsResult = Shapes::StructureShape.new(name: 'DeleteImagePermissionsResult')
49
54
  DeleteImageRequest = Shapes::StructureShape.new(name: 'DeleteImageRequest')
50
55
  DeleteImageResult = Shapes::StructureShape.new(name: 'DeleteImageResult')
51
56
  DeleteStackRequest = Shapes::StructureShape.new(name: 'DeleteStackRequest')
@@ -56,6 +61,8 @@ module Aws::AppStream
56
61
  DescribeFleetsResult = Shapes::StructureShape.new(name: 'DescribeFleetsResult')
57
62
  DescribeImageBuildersRequest = Shapes::StructureShape.new(name: 'DescribeImageBuildersRequest')
58
63
  DescribeImageBuildersResult = Shapes::StructureShape.new(name: 'DescribeImageBuildersResult')
64
+ DescribeImagePermissionsRequest = Shapes::StructureShape.new(name: 'DescribeImagePermissionsRequest')
65
+ DescribeImagePermissionsResult = Shapes::StructureShape.new(name: 'DescribeImagePermissionsResult')
59
66
  DescribeImagesMaxResults = Shapes::IntegerShape.new(name: 'DescribeImagesMaxResults')
60
67
  DescribeImagesRequest = Shapes::StructureShape.new(name: 'DescribeImagesRequest')
61
68
  DescribeImagesResult = Shapes::StructureShape.new(name: 'DescribeImagesResult')
@@ -94,6 +101,7 @@ module Aws::AppStream
94
101
  ImageBuilderStateChangeReason = Shapes::StructureShape.new(name: 'ImageBuilderStateChangeReason')
95
102
  ImageBuilderStateChangeReasonCode = Shapes::StringShape.new(name: 'ImageBuilderStateChangeReasonCode')
96
103
  ImageList = Shapes::ListShape.new(name: 'ImageList')
104
+ ImagePermissions = Shapes::StructureShape.new(name: 'ImagePermissions')
97
105
  ImageState = Shapes::StringShape.new(name: 'ImageState')
98
106
  ImageStateChangeReason = Shapes::StructureShape.new(name: 'ImageStateChangeReason')
99
107
  ImageStateChangeReasonCode = Shapes::StringShape.new(name: 'ImageStateChangeReasonCode')
@@ -110,6 +118,7 @@ module Aws::AppStream
110
118
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
111
119
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
112
120
  Long = Shapes::IntegerShape.new(name: 'Long')
121
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
113
122
  Metadata = Shapes::MapShape.new(name: 'Metadata')
114
123
  Name = Shapes::StringShape.new(name: 'Name')
115
124
  NetworkAccessConfiguration = Shapes::StructureShape.new(name: 'NetworkAccessConfiguration')
@@ -132,6 +141,8 @@ module Aws::AppStream
132
141
  Session = Shapes::StructureShape.new(name: 'Session')
133
142
  SessionList = Shapes::ListShape.new(name: 'SessionList')
134
143
  SessionState = Shapes::StringShape.new(name: 'SessionState')
144
+ SharedImagePermissions = Shapes::StructureShape.new(name: 'SharedImagePermissions')
145
+ SharedImagePermissionsList = Shapes::ListShape.new(name: 'SharedImagePermissionsList')
135
146
  Stack = Shapes::StructureShape.new(name: 'Stack')
136
147
  StackAttribute = Shapes::StringShape.new(name: 'StackAttribute')
137
148
  StackAttributes = Shapes::ListShape.new(name: 'StackAttributes')
@@ -167,6 +178,8 @@ module Aws::AppStream
167
178
  UpdateDirectoryConfigResult = Shapes::StructureShape.new(name: 'UpdateDirectoryConfigResult')
168
179
  UpdateFleetRequest = Shapes::StructureShape.new(name: 'UpdateFleetRequest')
169
180
  UpdateFleetResult = Shapes::StructureShape.new(name: 'UpdateFleetResult')
181
+ UpdateImagePermissionsRequest = Shapes::StructureShape.new(name: 'UpdateImagePermissionsRequest')
182
+ UpdateImagePermissionsResult = Shapes::StructureShape.new(name: 'UpdateImagePermissionsResult')
170
183
  UpdateStackRequest = Shapes::StructureShape.new(name: 'UpdateStackRequest')
171
184
  UpdateStackResult = Shapes::StructureShape.new(name: 'UpdateStackResult')
172
185
  UserId = Shapes::StringShape.new(name: 'UserId')
@@ -186,12 +199,16 @@ module Aws::AppStream
186
199
 
187
200
  Applications.member = Shapes::ShapeRef.new(shape: Application)
188
201
 
202
+ ArnList.member = Shapes::ShapeRef.new(shape: Arn)
203
+
189
204
  AssociateFleetRequest.add_member(:fleet_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "FleetName"))
190
205
  AssociateFleetRequest.add_member(:stack_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "StackName"))
191
206
  AssociateFleetRequest.struct_class = Types::AssociateFleetRequest
192
207
 
193
208
  AssociateFleetResult.struct_class = Types::AssociateFleetResult
194
209
 
210
+ AwsAccountIdList.member = Shapes::ShapeRef.new(shape: AwsAccountId)
211
+
195
212
  ComputeCapacity.add_member(:desired_instances, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "DesiredInstances"))
196
213
  ComputeCapacity.struct_class = Types::ComputeCapacity
197
214
 
@@ -219,7 +236,8 @@ module Aws::AppStream
219
236
  CreateDirectoryConfigResult.struct_class = Types::CreateDirectoryConfigResult
220
237
 
221
238
  CreateFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
222
- CreateFleetRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ImageName"))
239
+ CreateFleetRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
240
+ CreateFleetRequest.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
223
241
  CreateFleetRequest.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceType"))
224
242
  CreateFleetRequest.add_member(:fleet_type, Shapes::ShapeRef.new(shape: FleetType, location_name: "FleetType"))
225
243
  CreateFleetRequest.add_member(:compute_capacity, Shapes::ShapeRef.new(shape: ComputeCapacity, required: true, location_name: "ComputeCapacity"))
@@ -236,7 +254,8 @@ module Aws::AppStream
236
254
  CreateFleetResult.struct_class = Types::CreateFleetResult
237
255
 
238
256
  CreateImageBuilderRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
239
- CreateImageBuilderRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ImageName"))
257
+ CreateImageBuilderRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
258
+ CreateImageBuilderRequest.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
240
259
  CreateImageBuilderRequest.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceType"))
241
260
  CreateImageBuilderRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
242
261
  CreateImageBuilderRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
@@ -297,6 +316,12 @@ module Aws::AppStream
297
316
  DeleteImageBuilderResult.add_member(:image_builder, Shapes::ShapeRef.new(shape: ImageBuilder, location_name: "ImageBuilder"))
298
317
  DeleteImageBuilderResult.struct_class = Types::DeleteImageBuilderResult
299
318
 
319
+ DeleteImagePermissionsRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
320
+ DeleteImagePermissionsRequest.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccountId, required: true, location_name: "SharedAccountId"))
321
+ DeleteImagePermissionsRequest.struct_class = Types::DeleteImagePermissionsRequest
322
+
323
+ DeleteImagePermissionsResult.struct_class = Types::DeleteImagePermissionsResult
324
+
300
325
  DeleteImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
301
326
  DeleteImageRequest.struct_class = Types::DeleteImageRequest
302
327
 
@@ -334,7 +359,20 @@ module Aws::AppStream
334
359
  DescribeImageBuildersResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
335
360
  DescribeImageBuildersResult.struct_class = Types::DescribeImageBuildersResult
336
361
 
362
+ DescribeImagePermissionsRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
363
+ DescribeImagePermissionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
364
+ DescribeImagePermissionsRequest.add_member(:shared_aws_account_ids, Shapes::ShapeRef.new(shape: AwsAccountIdList, location_name: "SharedAwsAccountIds"))
365
+ DescribeImagePermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
366
+ DescribeImagePermissionsRequest.struct_class = Types::DescribeImagePermissionsRequest
367
+
368
+ DescribeImagePermissionsResult.add_member(:name, Shapes::ShapeRef.new(shape: Name, location_name: "Name"))
369
+ DescribeImagePermissionsResult.add_member(:shared_image_permissions_list, Shapes::ShapeRef.new(shape: SharedImagePermissionsList, location_name: "SharedImagePermissionsList"))
370
+ DescribeImagePermissionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
371
+ DescribeImagePermissionsResult.struct_class = Types::DescribeImagePermissionsResult
372
+
337
373
  DescribeImagesRequest.add_member(:names, Shapes::ShapeRef.new(shape: StringList, location_name: "Names"))
374
+ DescribeImagesRequest.add_member(:arns, Shapes::ShapeRef.new(shape: ArnList, location_name: "Arns"))
375
+ DescribeImagesRequest.add_member(:type, Shapes::ShapeRef.new(shape: VisibilityType, location_name: "Type"))
338
376
  DescribeImagesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
339
377
  DescribeImagesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DescribeImagesMaxResults, location_name: "MaxResults"))
340
378
  DescribeImagesRequest.struct_class = Types::DescribeImagesRequest
@@ -394,7 +432,8 @@ module Aws::AppStream
394
432
  Fleet.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
395
433
  Fleet.add_member(:display_name, Shapes::ShapeRef.new(shape: String, location_name: "DisplayName"))
396
434
  Fleet.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
397
- Fleet.add_member(:image_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ImageName"))
435
+ Fleet.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
436
+ Fleet.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
398
437
  Fleet.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceType"))
399
438
  Fleet.add_member(:fleet_type, Shapes::ShapeRef.new(shape: FleetType, location_name: "FleetType"))
400
439
  Fleet.add_member(:compute_capacity_status, Shapes::ShapeRef.new(shape: ComputeCapacityStatus, required: true, location_name: "ComputeCapacityStatus"))
@@ -432,6 +471,7 @@ module Aws::AppStream
432
471
  Image.add_member(:created_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTime"))
433
472
  Image.add_member(:public_base_image_released_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "PublicBaseImageReleasedDate"))
434
473
  Image.add_member(:appstream_agent_version, Shapes::ShapeRef.new(shape: AppstreamAgentVersion, location_name: "AppstreamAgentVersion"))
474
+ Image.add_member(:image_permissions, Shapes::ShapeRef.new(shape: ImagePermissions, location_name: "ImagePermissions"))
435
475
  Image.struct_class = Types::Image
436
476
 
437
477
  ImageBuilder.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
@@ -459,6 +499,10 @@ module Aws::AppStream
459
499
 
460
500
  ImageList.member = Shapes::ShapeRef.new(shape: Image)
461
501
 
502
+ ImagePermissions.add_member(:allow_fleet, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "allowFleet"))
503
+ ImagePermissions.add_member(:allow_image_builder, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "allowImageBuilder"))
504
+ ImagePermissions.struct_class = Types::ImagePermissions
505
+
462
506
  ImageStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: ImageStateChangeReasonCode, location_name: "Code"))
463
507
  ImageStateChangeReason.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
464
508
  ImageStateChangeReason.struct_class = Types::ImageStateChangeReason
@@ -518,6 +562,12 @@ module Aws::AppStream
518
562
 
519
563
  SessionList.member = Shapes::ShapeRef.new(shape: Session)
520
564
 
565
+ SharedImagePermissions.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccountId, required: true, location_name: "sharedAccountId"))
566
+ SharedImagePermissions.add_member(:image_permissions, Shapes::ShapeRef.new(shape: ImagePermissions, required: true, location_name: "imagePermissions"))
567
+ SharedImagePermissions.struct_class = Types::SharedImagePermissions
568
+
569
+ SharedImagePermissionsList.member = Shapes::ShapeRef.new(shape: SharedImagePermissions)
570
+
521
571
  Stack.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, location_name: "Arn"))
522
572
  Stack.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
523
573
  Stack.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "Description"))
@@ -600,7 +650,8 @@ module Aws::AppStream
600
650
  UpdateDirectoryConfigResult.struct_class = Types::UpdateDirectoryConfigResult
601
651
 
602
652
  UpdateFleetRequest.add_member(:image_name, Shapes::ShapeRef.new(shape: String, location_name: "ImageName"))
603
- UpdateFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
653
+ UpdateFleetRequest.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "ImageArn"))
654
+ UpdateFleetRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
604
655
  UpdateFleetRequest.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "InstanceType"))
605
656
  UpdateFleetRequest.add_member(:compute_capacity, Shapes::ShapeRef.new(shape: ComputeCapacity, location_name: "ComputeCapacity"))
606
657
  UpdateFleetRequest.add_member(:vpc_config, Shapes::ShapeRef.new(shape: VpcConfig, location_name: "VpcConfig"))
@@ -617,6 +668,13 @@ module Aws::AppStream
617
668
  UpdateFleetResult.add_member(:fleet, Shapes::ShapeRef.new(shape: Fleet, location_name: "Fleet"))
618
669
  UpdateFleetResult.struct_class = Types::UpdateFleetResult
619
670
 
671
+ UpdateImagePermissionsRequest.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "Name"))
672
+ UpdateImagePermissionsRequest.add_member(:shared_account_id, Shapes::ShapeRef.new(shape: AwsAccountId, required: true, location_name: "SharedAccountId"))
673
+ UpdateImagePermissionsRequest.add_member(:image_permissions, Shapes::ShapeRef.new(shape: ImagePermissions, required: true, location_name: "ImagePermissions"))
674
+ UpdateImagePermissionsRequest.struct_class = Types::UpdateImagePermissionsRequest
675
+
676
+ UpdateImagePermissionsResult.struct_class = Types::UpdateImagePermissionsResult
677
+
620
678
  UpdateStackRequest.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
621
679
  UpdateStackRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
622
680
  UpdateStackRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Name"))
@@ -711,6 +769,7 @@ module Aws::AppStream
711
769
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
712
770
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
713
771
  o.errors << Shapes::ShapeRef.new(shape: IncompatibleImageException)
772
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
714
773
  end)
715
774
 
716
775
  api.add_operation(:create_image_builder, Seahorse::Model::Operation.new.tap do |o|
@@ -728,6 +787,7 @@ module Aws::AppStream
728
787
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
729
788
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
730
789
  o.errors << Shapes::ShapeRef.new(shape: IncompatibleImageException)
790
+ o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
731
791
  end)
732
792
 
733
793
  api.add_operation(:create_image_builder_streaming_url, Seahorse::Model::Operation.new.tap do |o|
@@ -811,6 +871,16 @@ module Aws::AppStream
811
871
  o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
812
872
  end)
813
873
 
874
+ api.add_operation(:delete_image_permissions, Seahorse::Model::Operation.new.tap do |o|
875
+ o.name = "DeleteImagePermissions"
876
+ o.http_method = "POST"
877
+ o.http_request_uri = "/"
878
+ o.input = Shapes::ShapeRef.new(shape: DeleteImagePermissionsRequest)
879
+ o.output = Shapes::ShapeRef.new(shape: DeleteImagePermissionsResult)
880
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotAvailableException)
881
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
882
+ end)
883
+
814
884
  api.add_operation(:delete_stack, Seahorse::Model::Operation.new.tap do |o|
815
885
  o.name = "DeleteStack"
816
886
  o.http_method = "POST"
@@ -849,13 +919,35 @@ module Aws::AppStream
849
919
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
850
920
  end)
851
921
 
922
+ api.add_operation(:describe_image_permissions, Seahorse::Model::Operation.new.tap do |o|
923
+ o.name = "DescribeImagePermissions"
924
+ o.http_method = "POST"
925
+ o.http_request_uri = "/"
926
+ o.input = Shapes::ShapeRef.new(shape: DescribeImagePermissionsRequest)
927
+ o.output = Shapes::ShapeRef.new(shape: DescribeImagePermissionsResult)
928
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
929
+ o[:pager] = Aws::Pager.new(
930
+ limit_key: "max_results",
931
+ tokens: {
932
+ "next_token" => "next_token"
933
+ }
934
+ )
935
+ end)
936
+
852
937
  api.add_operation(:describe_images, Seahorse::Model::Operation.new.tap do |o|
853
938
  o.name = "DescribeImages"
854
939
  o.http_method = "POST"
855
940
  o.http_request_uri = "/"
856
941
  o.input = Shapes::ShapeRef.new(shape: DescribeImagesRequest)
857
942
  o.output = Shapes::ShapeRef.new(shape: DescribeImagesResult)
943
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
858
944
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
945
+ o[:pager] = Aws::Pager.new(
946
+ limit_key: "max_results",
947
+ tokens: {
948
+ "next_token" => "next_token"
949
+ }
950
+ )
859
951
  end)
860
952
 
861
953
  api.add_operation(:describe_sessions, Seahorse::Model::Operation.new.tap do |o|
@@ -1016,6 +1108,17 @@ module Aws::AppStream
1016
1108
  o.errors << Shapes::ShapeRef.new(shape: OperationNotPermittedException)
1017
1109
  end)
1018
1110
 
1111
+ api.add_operation(:update_image_permissions, Seahorse::Model::Operation.new.tap do |o|
1112
+ o.name = "UpdateImagePermissions"
1113
+ o.http_method = "POST"
1114
+ o.http_request_uri = "/"
1115
+ o.input = Shapes::ShapeRef.new(shape: UpdateImagePermissionsRequest)
1116
+ o.output = Shapes::ShapeRef.new(shape: UpdateImagePermissionsResult)
1117
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1118
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotAvailableException)
1119
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1120
+ end)
1121
+
1019
1122
  api.add_operation(:update_stack, Seahorse::Model::Operation.new.tap do |o|
1020
1123
  o.name = "UpdateStack"
1021
1124
  o.http_method = "POST"
@@ -233,7 +233,8 @@ module Aws::AppStream
233
233
  #
234
234
  # {
235
235
  # name: "Name", # required
236
- # image_name: "String", # required
236
+ # image_name: "String",
237
+ # image_arn: "Arn",
237
238
  # instance_type: "String", # required
238
239
  # fleet_type: "ALWAYS_ON", # accepts ALWAYS_ON, ON_DEMAND
239
240
  # compute_capacity: { # required
@@ -262,6 +263,10 @@ module Aws::AppStream
262
263
  # The name of the image used to create the fleet.
263
264
  # @return [String]
264
265
  #
266
+ # @!attribute [rw] image_arn
267
+ # The ARN of the public, private, or shared image to use.
268
+ # @return [String]
269
+ #
265
270
  # @!attribute [rw] instance_type
266
271
  # The instance type to use when launching fleet instances. The
267
272
  # following instance types are available:
@@ -365,6 +370,7 @@ module Aws::AppStream
365
370
  class CreateFleetRequest < Struct.new(
366
371
  :name,
367
372
  :image_name,
373
+ :image_arn,
368
374
  :instance_type,
369
375
  :fleet_type,
370
376
  :compute_capacity,
@@ -394,7 +400,8 @@ module Aws::AppStream
394
400
  #
395
401
  # {
396
402
  # name: "Name", # required
397
- # image_name: "String", # required
403
+ # image_name: "String",
404
+ # image_arn: "Arn",
398
405
  # instance_type: "String", # required
399
406
  # description: "Description",
400
407
  # display_name: "DisplayName",
@@ -418,6 +425,10 @@ module Aws::AppStream
418
425
  # The name of the image used to create the builder.
419
426
  # @return [String]
420
427
  #
428
+ # @!attribute [rw] image_arn
429
+ # The ARN of the public, private, or shared image to use.
430
+ # @return [String]
431
+ #
421
432
  # @!attribute [rw] instance_type
422
433
  # The instance type to use when launching the image builder.
423
434
  # @return [String]
@@ -454,6 +465,7 @@ module Aws::AppStream
454
465
  class CreateImageBuilderRequest < Struct.new(
455
466
  :name,
456
467
  :image_name,
468
+ :image_arn,
457
469
  :instance_type,
458
470
  :description,
459
471
  :display_name,
@@ -742,6 +754,35 @@ module Aws::AppStream
742
754
  include Aws::Structure
743
755
  end
744
756
 
757
+ # @note When making an API call, you may pass DeleteImagePermissionsRequest
758
+ # data as a hash:
759
+ #
760
+ # {
761
+ # name: "Name", # required
762
+ # shared_account_id: "AwsAccountId", # required
763
+ # }
764
+ #
765
+ # @!attribute [rw] name
766
+ # The name of the private image.
767
+ # @return [String]
768
+ #
769
+ # @!attribute [rw] shared_account_id
770
+ # The 12-digit ID of the AWS account for which to delete image
771
+ # permissions.
772
+ # @return [String]
773
+ #
774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissionsRequest AWS API Documentation
775
+ #
776
+ class DeleteImagePermissionsRequest < Struct.new(
777
+ :name,
778
+ :shared_account_id)
779
+ include Aws::Structure
780
+ end
781
+
782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteImagePermissionsResult AWS API Documentation
783
+ #
784
+ class DeleteImagePermissionsResult < Aws::EmptyStructure; end
785
+
745
786
  # @note When making an API call, you may pass DeleteImageRequest
746
787
  # data as a hash:
747
788
  #
@@ -933,11 +974,74 @@ module Aws::AppStream
933
974
  include Aws::Structure
934
975
  end
935
976
 
977
+ # @note When making an API call, you may pass DescribeImagePermissionsRequest
978
+ # data as a hash:
979
+ #
980
+ # {
981
+ # name: "Name", # required
982
+ # max_results: 1,
983
+ # shared_aws_account_ids: ["AwsAccountId"],
984
+ # next_token: "String",
985
+ # }
986
+ #
987
+ # @!attribute [rw] name
988
+ # The name of the private image for which to describe permissions. The
989
+ # image must be one that you own.
990
+ # @return [String]
991
+ #
992
+ # @!attribute [rw] max_results
993
+ # The maximum size of each results page.
994
+ # @return [Integer]
995
+ #
996
+ # @!attribute [rw] shared_aws_account_ids
997
+ # The 12-digit ID of one or more AWS accounts with which the image is
998
+ # shared.
999
+ # @return [Array<String>]
1000
+ #
1001
+ # @!attribute [rw] next_token
1002
+ # The pagination token to use to retrieve the next page of results. If
1003
+ # this value is empty, only the first page is retrieved.
1004
+ # @return [String]
1005
+ #
1006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissionsRequest AWS API Documentation
1007
+ #
1008
+ class DescribeImagePermissionsRequest < Struct.new(
1009
+ :name,
1010
+ :max_results,
1011
+ :shared_aws_account_ids,
1012
+ :next_token)
1013
+ include Aws::Structure
1014
+ end
1015
+
1016
+ # @!attribute [rw] name
1017
+ # The name of the private image.
1018
+ # @return [String]
1019
+ #
1020
+ # @!attribute [rw] shared_image_permissions_list
1021
+ # The permissions for a private image that you own.
1022
+ # @return [Array<Types::SharedImagePermissions>]
1023
+ #
1024
+ # @!attribute [rw] next_token
1025
+ # The pagination token to use to retrieve the next page of results. If
1026
+ # this value is empty, only the first page is retrieved.
1027
+ # @return [String]
1028
+ #
1029
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagePermissionsResult AWS API Documentation
1030
+ #
1031
+ class DescribeImagePermissionsResult < Struct.new(
1032
+ :name,
1033
+ :shared_image_permissions_list,
1034
+ :next_token)
1035
+ include Aws::Structure
1036
+ end
1037
+
936
1038
  # @note When making an API call, you may pass DescribeImagesRequest
937
1039
  # data as a hash:
938
1040
  #
939
1041
  # {
940
1042
  # names: ["String"],
1043
+ # arns: ["Arn"],
1044
+ # type: "PUBLIC", # accepts PUBLIC, PRIVATE, SHARED
941
1045
  # next_token: "String",
942
1046
  # max_results: 1,
943
1047
  # }
@@ -946,19 +1050,29 @@ module Aws::AppStream
946
1050
  # The names of the images to describe.
947
1051
  # @return [Array<String>]
948
1052
  #
1053
+ # @!attribute [rw] arns
1054
+ # The ARNs of the public, private, and shared images to describe.
1055
+ # @return [Array<String>]
1056
+ #
1057
+ # @!attribute [rw] type
1058
+ # The type of image (public, private, or shared) to describe.
1059
+ # @return [String]
1060
+ #
949
1061
  # @!attribute [rw] next_token
950
1062
  # The pagination token to use to retrieve the next page of results. If
951
1063
  # this value is empty, only the first page is retrieved.
952
1064
  # @return [String]
953
1065
  #
954
1066
  # @!attribute [rw] max_results
955
- # The maximum size of each results page.
1067
+ # The maximum size of each page of results.
956
1068
  # @return [Integer]
957
1069
  #
958
1070
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagesRequest AWS API Documentation
959
1071
  #
960
1072
  class DescribeImagesRequest < Struct.new(
961
1073
  :names,
1074
+ :arns,
1075
+ :type,
962
1076
  :next_token,
963
1077
  :max_results)
964
1078
  include Aws::Structure
@@ -969,8 +1083,8 @@ module Aws::AppStream
969
1083
  # @return [Array<Types::Image>]
970
1084
  #
971
1085
  # @!attribute [rw] next_token
972
- # The pagination token used to retrieve the next page of results. If
973
- # this value is empty, only the first page is retrieved.
1086
+ # The pagination token to use to retrieve the next page of results. If
1087
+ # there are no more pages, this value is null.
974
1088
  # @return [String]
975
1089
  #
976
1090
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImagesResult AWS API Documentation
@@ -1224,6 +1338,10 @@ module Aws::AppStream
1224
1338
  # The name of the image used to create the fleet.
1225
1339
  # @return [String]
1226
1340
  #
1341
+ # @!attribute [rw] image_arn
1342
+ # The ARN for the public, private, or shared image.
1343
+ # @return [String]
1344
+ #
1227
1345
  # @!attribute [rw] instance_type
1228
1346
  # The instance type to use when launching fleet instances.
1229
1347
  # @return [String]
@@ -1293,6 +1411,7 @@ module Aws::AppStream
1293
1411
  :display_name,
1294
1412
  :description,
1295
1413
  :image_name,
1414
+ :image_arn,
1296
1415
  :instance_type,
1297
1416
  :fleet_type,
1298
1417
  :compute_capacity_status,
@@ -1388,6 +1507,11 @@ module Aws::AppStream
1388
1507
  # launched from this image.
1389
1508
  # @return [String]
1390
1509
  #
1510
+ # @!attribute [rw] image_permissions
1511
+ # The permissions to provide to the destination AWS account for the
1512
+ # specified image.
1513
+ # @return [Types::ImagePermissions]
1514
+ #
1391
1515
  # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/Image AWS API Documentation
1392
1516
  #
1393
1517
  class Image < Struct.new(
@@ -1404,7 +1528,8 @@ module Aws::AppStream
1404
1528
  :applications,
1405
1529
  :created_time,
1406
1530
  :public_base_image_released_date,
1407
- :appstream_agent_version)
1531
+ :appstream_agent_version,
1532
+ :image_permissions)
1408
1533
  include Aws::Structure
1409
1534
  end
1410
1535
 
@@ -1511,6 +1636,32 @@ module Aws::AppStream
1511
1636
  include Aws::Structure
1512
1637
  end
1513
1638
 
1639
+ # Describes the permissions for an image.
1640
+ #
1641
+ # @note When making an API call, you may pass ImagePermissions
1642
+ # data as a hash:
1643
+ #
1644
+ # {
1645
+ # allow_fleet: false,
1646
+ # allow_image_builder: false,
1647
+ # }
1648
+ #
1649
+ # @!attribute [rw] allow_fleet
1650
+ # Indicates whether the image can be used for a fleet.
1651
+ # @return [Boolean]
1652
+ #
1653
+ # @!attribute [rw] allow_image_builder
1654
+ # Indicates whether the image can be used for an image builder.
1655
+ # @return [Boolean]
1656
+ #
1657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ImagePermissions AWS API Documentation
1658
+ #
1659
+ class ImagePermissions < Struct.new(
1660
+ :allow_fleet,
1661
+ :allow_image_builder)
1662
+ include Aws::Structure
1663
+ end
1664
+
1514
1665
  # Describes the reason why the last image state change occurred.
1515
1666
  #
1516
1667
  # @!attribute [rw] code
@@ -1760,6 +1911,25 @@ module Aws::AppStream
1760
1911
  include Aws::Structure
1761
1912
  end
1762
1913
 
1914
+ # Describes the permissions that are available to the specified AWS
1915
+ # account for a shared image.
1916
+ #
1917
+ # @!attribute [rw] shared_account_id
1918
+ # The 12-digit ID of the AWS account with which the image is shared.
1919
+ # @return [String]
1920
+ #
1921
+ # @!attribute [rw] image_permissions
1922
+ # Describes the permissions for a shared image.
1923
+ # @return [Types::ImagePermissions]
1924
+ #
1925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/SharedImagePermissions AWS API Documentation
1926
+ #
1927
+ class SharedImagePermissions < Struct.new(
1928
+ :shared_account_id,
1929
+ :image_permissions)
1930
+ include Aws::Structure
1931
+ end
1932
+
1763
1933
  # Describes a stack.
1764
1934
  #
1765
1935
  # @!attribute [rw] arn
@@ -2095,7 +2265,8 @@ module Aws::AppStream
2095
2265
  #
2096
2266
  # {
2097
2267
  # image_name: "String",
2098
- # name: "String", # required
2268
+ # image_arn: "Arn",
2269
+ # name: "String",
2099
2270
  # instance_type: "String",
2100
2271
  # compute_capacity: {
2101
2272
  # desired_instances: 1, # required
@@ -2121,6 +2292,10 @@ module Aws::AppStream
2121
2292
  # The name of the image used to create the fleet.
2122
2293
  # @return [String]
2123
2294
  #
2295
+ # @!attribute [rw] image_arn
2296
+ # The ARN of the public, private, or shared image to use.
2297
+ # @return [String]
2298
+ #
2124
2299
  # @!attribute [rw] name
2125
2300
  # A unique name for the fleet.
2126
2301
  # @return [String]
@@ -2218,6 +2393,7 @@ module Aws::AppStream
2218
2393
  #
2219
2394
  class UpdateFleetRequest < Struct.new(
2220
2395
  :image_name,
2396
+ :image_arn,
2221
2397
  :name,
2222
2398
  :instance_type,
2223
2399
  :compute_capacity,
@@ -2244,6 +2420,44 @@ module Aws::AppStream
2244
2420
  include Aws::Structure
2245
2421
  end
2246
2422
 
2423
+ # @note When making an API call, you may pass UpdateImagePermissionsRequest
2424
+ # data as a hash:
2425
+ #
2426
+ # {
2427
+ # name: "Name", # required
2428
+ # shared_account_id: "AwsAccountId", # required
2429
+ # image_permissions: { # required
2430
+ # allow_fleet: false,
2431
+ # allow_image_builder: false,
2432
+ # },
2433
+ # }
2434
+ #
2435
+ # @!attribute [rw] name
2436
+ # The name of the private image.
2437
+ # @return [String]
2438
+ #
2439
+ # @!attribute [rw] shared_account_id
2440
+ # The 12-digit ID of the AWS account for which you want add or update
2441
+ # image permissions.
2442
+ # @return [String]
2443
+ #
2444
+ # @!attribute [rw] image_permissions
2445
+ # The permissions for the image.
2446
+ # @return [Types::ImagePermissions]
2447
+ #
2448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissionsRequest AWS API Documentation
2449
+ #
2450
+ class UpdateImagePermissionsRequest < Struct.new(
2451
+ :name,
2452
+ :shared_account_id,
2453
+ :image_permissions)
2454
+ include Aws::Structure
2455
+ end
2456
+
2457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateImagePermissionsResult AWS API Documentation
2458
+ #
2459
+ class UpdateImagePermissionsResult < Aws::EmptyStructure; end
2460
+
2247
2461
  # @note When making an API call, you may pass UpdateStackRequest
2248
2462
  # data as a hash:
2249
2463
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-appstream
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-10 00:00:00.000000000 Z
11
+ date: 2018-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core