aws-sdk-appstream 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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