aws-sdk-appstream 1.0.0.rc2 → 1.0.0.rc3

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: cb9adc1a3529c7ddfd15c6773a2c05b8c097e1b8
4
- data.tar.gz: 0897ca99e99c83bb5b4eddc0eafe8dbe71897916
3
+ metadata.gz: 30bb7232cba6782e10c74ed67d545642cf286e36
4
+ data.tar.gz: 3cf6da24e3bbc1a0746ee0bac3a9d96adf39e15d
5
5
  SHA512:
6
- metadata.gz: eb2dc4d7df113c7f126645be4a0fb2880e08c2139c28492b110cb3c52b6f4ffee9ee68f3390a7ce177329e529d3fca09398bb613b61f3a12d6a419c4193f257e
7
- data.tar.gz: fed34d84f13107d9fc7517fba59fd9d17d8527f30e6d51c78fc4ee28d6b51425b7000cb606724e2cc790d8036bfcae914085b2a1b5c6e9523cb40f0d8061946c
6
+ metadata.gz: a17305dd4c55ad9e37b320aa54eb22f13ccf735dd584db8ef1646a8b0beba566b18f0a7276aaae999555255708552f835ed2ae9e14622682f06bbb09fe38c7dc
7
+ data.tar.gz: 32a1f90b211d050723aaecb3f36d2689dee67a99c9b54c18e6f18429fab64488a7aa0f3878a9c2c52b57e702d19b6d8edbd010a0080141a73c5f5668484ab9dd
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-appstream/customizations'
43
43
  # @service
44
44
  module Aws::AppStream
45
45
 
46
- GEM_VERSION = '1.0.0.rc2'
46
+ GEM_VERSION = '1.0.0.rc3'
47
47
 
48
48
  end
@@ -1,6 +1,6 @@
1
1
  # WARNING ABOUT GENERATED CODE
2
2
  #
3
- # This file is generated. See the contributing for info on making contributions:
3
+ # This file is generated. See the contributing guide for more information:
4
4
  # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
5
  #
6
6
  # WARNING ABOUT GENERATED CODE
@@ -18,874 +18,1068 @@ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
18
  require 'aws-sdk-core/plugins/response_paging.rb'
19
19
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
20
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
21
22
  require 'aws-sdk-core/plugins/signature_v4.rb'
22
23
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
24
 
24
25
  Aws::Plugins::GlobalConfiguration.add_identifier(:appstream)
25
26
 
26
- module Aws
27
- module AppStream
28
- class Client < Seahorse::Client::Base
29
-
30
- include Aws::ClientStubs
31
-
32
- @identifier = :appstream
33
-
34
- set_api(ClientApi::API)
35
-
36
- add_plugin(Seahorse::Client::Plugins::ContentLength)
37
- add_plugin(Aws::Plugins::CredentialsConfiguration)
38
- add_plugin(Aws::Plugins::Logging)
39
- add_plugin(Aws::Plugins::ParamConverter)
40
- add_plugin(Aws::Plugins::ParamValidator)
41
- add_plugin(Aws::Plugins::UserAgent)
42
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
- add_plugin(Aws::Plugins::RetryErrors)
44
- add_plugin(Aws::Plugins::GlobalConfiguration)
45
- add_plugin(Aws::Plugins::RegionalEndpoint)
46
- add_plugin(Aws::Plugins::ResponsePaging)
47
- add_plugin(Aws::Plugins::StubResponses)
48
- add_plugin(Aws::Plugins::IdempotencyToken)
49
- add_plugin(Aws::Plugins::SignatureV4)
50
- add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
-
52
- # @option options [required, Aws::CredentialProvider] :credentials
53
- # Your AWS credentials. This can be an instance of any one of the
54
- # following classes:
55
- #
56
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
- # credentials.
58
- #
59
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
- # from an EC2 IMDS on an EC2 instance.
61
- #
62
- # * `Aws::SharedCredentials` - Used for loading credentials from a
63
- # shared file, such as `~/.aws/config`.
64
- #
65
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
- #
67
- # When `:credentials` are not configured directly, the following
68
- # locations will be searched for credentials:
69
- #
70
- # * `Aws.config[:credentials]`
71
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
- # * `~/.aws/credentials`
74
- # * `~/.aws/config`
75
- # * EC2 IMDS instance profile - When used by default, the timeouts are
76
- # very aggressive. Construct and pass an instance of
77
- # `Aws::InstanceProfileCredentails` to enable retries and extended
78
- # timeouts.
79
- # @option options [required, String] :region
80
- # The AWS region to connect to. The configured `:region` is
81
- # used to determine the service `:endpoint`. When not passed,
82
- # a default `:region` is search for in the following locations:
83
- #
84
- # * `Aws.config[:region]`
85
- # * `ENV['AWS_REGION']`
86
- # * `ENV['AMAZON_REGION']`
87
- # * `ENV['AWS_DEFAULT_REGION']`
88
- # * `~/.aws/credentials`
89
- # * `~/.aws/config`
90
- # @option options [String] :access_key_id
91
- # @option options [Boolean] :convert_params (true)
92
- # When `true`, an attempt is made to coerce request parameters into
93
- # the required types.
94
- # @option options [String] :endpoint
95
- # The client endpoint is normally constructed from the `:region`
96
- # option. You should only configure an `:endpoint` when connecting
97
- # to test endpoints. This should be avalid HTTP(S) URI.
98
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
- # The log formatter.
100
- # @option options [Symbol] :log_level (:info)
101
- # The log level to send messages to the `:logger` at.
102
- # @option options [Logger] :logger
103
- # The Logger instance to send log messages to. If this option
104
- # is not set, logging will be disabled.
105
- # @option options [String] :profile ("default")
106
- # Used when loading credentials from the shared credentials file
107
- # at HOME/.aws/credentials. When not specified, 'default' is used.
108
- # @option options [Integer] :retry_limit (3)
109
- # The maximum number of times to retry failed requests. Only
110
- # ~ 500 level server errors and certain ~ 400 level client errors
111
- # are retried. Generally, these are throttling errors, data
112
- # checksum errors, networking errors, timeout errors and auth
113
- # errors from expired credentials.
114
- # @option options [String] :secret_access_key
115
- # @option options [String] :session_token
116
- # @option options [Boolean] :simple_json (false)
117
- # Disables request parameter conversion, validation, and formatting.
118
- # Also disable response data type conversions. This option is useful
119
- # when you want to ensure the highest level of performance by
120
- # avoiding overhead of walking request parameters and response data
121
- # structures.
122
- #
123
- # When `:simple_json` is enabled, the request parameters hash must
124
- # be formatted exactly as the DynamoDB API expects.
125
- # @option options [Boolean] :stub_responses (false)
126
- # Causes the client to return stubbed responses. By default
127
- # fake responses are generated and returned. You can specify
128
- # the response data to return or errors to raise by calling
129
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
- #
131
- # ** Please note ** When response stubbing is enabled, no HTTP
132
- # requests are made, and retries are disabled.
133
- # @option options [Boolean] :validate_params (true)
134
- # When `true`, request parameters are validated before
135
- # sending the request.
136
- def initialize(*args)
137
- super
138
- end
27
+ module Aws::AppStream
28
+ class Client < Seahorse::Client::Base
139
29
 
140
- # @!group API Operations
141
-
142
- # Associate a fleet to a stack.
143
- # @option params [required, String] :fleet_name
144
- # The name of the fleet to associate.
145
- # @option params [required, String] :stack_name
146
- # The name of the stack to which the fleet is associated.
147
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
148
- #
149
- # @example Request syntax with placeholder values
150
- # resp = client.associate_fleet({
151
- # fleet_name: "String", # required
152
- # stack_name: "String", # required
153
- # })
154
- # @overload associate_fleet(params = {})
155
- # @param [Hash] params ({})
156
- def associate_fleet(params = {}, options = {})
157
- req = build_request(:associate_fleet, params)
158
- req.send_request(options)
159
- end
30
+ include Aws::ClientStubs
160
31
 
161
- # Creates a new fleet.
162
- # @option params [required, String] :name
163
- # A unique identifier for the fleet.
164
- # @option params [required, String] :image_name
165
- # Unique name of the image used by the fleet.
166
- # @option params [required, String] :instance_type
167
- # The instance type of compute resources for the fleet. Fleet instances
168
- # are launched from this instance type.
169
- # @option params [required, Types::ComputeCapacity] :compute_capacity
170
- # The parameters for the capacity allocated to the fleet.
171
- # @option params [Types::VpcConfig] :vpc_config
172
- # The VPC configuration for the fleet.
173
- # @option params [Integer] :max_user_duration_in_seconds
174
- # The maximum time up to which a streaming session can run.
175
- # @option params [Integer] :disconnect_timeout_in_seconds
176
- # The time after disconnection when a session is considered to have
177
- # ended. If a user who got disconnected reconnects within this timeout
178
- # interval, the user is connected back to his/her previous session.
179
- # @option params [String] :description
180
- # The description of the fleet.
181
- # @option params [String] :display_name
182
- # The display name of the fleet.
183
- # @return [Types::CreateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
184
- #
185
- # * {Types::CreateFleetResult#fleet #Fleet} => Types::Fleet
186
- #
187
- # @example Request syntax with placeholder values
188
- # resp = client.create_fleet({
189
- # name: "Name", # required
190
- # image_name: "String", # required
191
- # instance_type: "String", # required
192
- # compute_capacity: { # required
193
- # desired_instances: 1, # required
194
- # },
195
- # vpc_config: {
196
- # subnet_ids: ["String"], # required
197
- # },
198
- # max_user_duration_in_seconds: 1,
199
- # disconnect_timeout_in_seconds: 1,
200
- # description: "Description",
201
- # display_name: "DisplayName",
202
- # })
203
- #
204
- # @example Response structure
205
- # resp.fleet.arn #=> String
206
- # resp.fleet.name #=> String
207
- # resp.fleet.display_name #=> String
208
- # resp.fleet.description #=> String
209
- # resp.fleet.image_name #=> String
210
- # resp.fleet.instance_type #=> String
211
- # resp.fleet.compute_capacity_status.desired #=> Integer
212
- # resp.fleet.compute_capacity_status.running #=> Integer
213
- # resp.fleet.compute_capacity_status.in_use #=> Integer
214
- # resp.fleet.compute_capacity_status.available #=> Integer
215
- # resp.fleet.max_user_duration_in_seconds #=> Integer
216
- # resp.fleet.disconnect_timeout_in_seconds #=> Integer
217
- # resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
218
- # resp.fleet.vpc_config.subnet_ids #=> Array
219
- # resp.fleet.vpc_config.subnet_ids[0] #=> String
220
- # resp.fleet.created_time #=> Time
221
- # resp.fleet.fleet_errors #=> Array
222
- # resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
223
- # resp.fleet.fleet_errors[0].error_message #=> String
224
- # @overload create_fleet(params = {})
225
- # @param [Hash] params ({})
226
- def create_fleet(params = {}, options = {})
227
- req = build_request(:create_fleet, params)
228
- req.send_request(options)
229
- end
32
+ @identifier = :appstream
230
33
 
231
- # Create a new stack.
232
- # @option params [required, String] :name
233
- # The unique identifier for this stack.
234
- # @option params [String] :description
235
- # The description displayed to end users on the AppStream 2.0 portal.
236
- # @option params [String] :display_name
237
- # The name displayed to end users on the AppStream 2.0 portal.
238
- # @return [Types::CreateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
239
- #
240
- # * {Types::CreateStackResult#stack #Stack} => Types::Stack
241
- #
242
- # @example Request syntax with placeholder values
243
- # resp = client.create_stack({
244
- # name: "String", # required
245
- # description: "Description",
246
- # display_name: "DisplayName",
247
- # })
248
- #
249
- # @example Response structure
250
- # resp.stack.arn #=> String
251
- # resp.stack.name #=> String
252
- # resp.stack.description #=> String
253
- # resp.stack.display_name #=> String
254
- # resp.stack.created_time #=> Time
255
- # @overload create_stack(params = {})
256
- # @param [Hash] params ({})
257
- def create_stack(params = {}, options = {})
258
- req = build_request(:create_stack, params)
259
- req.send_request(options)
260
- end
34
+ set_api(ClientApi::API)
261
35
 
262
- # Creates a URL to start an AppStream 2.0 streaming session for a user.
263
- # By default, the URL is valid only for 1 minute from the time that it
264
- # is generated.
265
- # @option params [required, String] :stack_name
266
- # The stack for which the URL is generated.
267
- # @option params [required, String] :fleet_name
268
- # The fleet for which the URL is generated.
269
- # @option params [required, String] :user_id
270
- # A unique user ID for whom the URL is generated.
271
- # @option params [String] :application_id
272
- # The ID of the application that must be launched after the session
273
- # starts.
274
- # @option params [Integer] :validity
275
- # The validity duration of the URL in seconds. After this duration, the
276
- # URL returned by this operation becomes invalid.
277
- # @option params [String] :session_context
278
- # The sessionContext of the streaming URL.
279
- # @return [Types::CreateStreamingURLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
280
- #
281
- # * {Types::CreateStreamingURLResult#streaming_url #StreamingURL} => String
282
- # * {Types::CreateStreamingURLResult#expires #Expires} => Time
283
- #
284
- # @example Request syntax with placeholder values
285
- # resp = client.create_streaming_url({
286
- # stack_name: "String", # required
287
- # fleet_name: "String", # required
288
- # user_id: "UserId", # required
289
- # application_id: "String",
290
- # validity: 1,
291
- # session_context: "String",
292
- # })
293
- #
294
- # @example Response structure
295
- # resp.streaming_url #=> String
296
- # resp.expires #=> Time
297
- # @overload create_streaming_url(params = {})
298
- # @param [Hash] params ({})
299
- def create_streaming_url(params = {}, options = {})
300
- req = build_request(:create_streaming_url, params)
301
- req.send_request(options)
302
- end
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
303
52
 
304
- # Deletes a fleet.
305
- # @option params [required, String] :name
306
- # The name of the fleet to be deleted.
307
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
308
- #
309
- # @example Request syntax with placeholder values
310
- # resp = client.delete_fleet({
311
- # name: "String", # required
312
- # })
313
- # @overload delete_fleet(params = {})
314
- # @param [Hash] params ({})
315
- def delete_fleet(params = {}, options = {})
316
- req = build_request(:delete_fleet, params)
317
- req.send_request(options)
318
- end
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :simple_json (false)
130
+ # Disables request parameter conversion, validation, and formatting.
131
+ # Also disable response data type conversions. This option is useful
132
+ # when you want to ensure the highest level of performance by
133
+ # avoiding overhead of walking request parameters and response data
134
+ # structures.
135
+ #
136
+ # When `:simple_json` is enabled, the request parameters hash must
137
+ # be formatted exactly as the DynamoDB API expects.
138
+ #
139
+ # @option options [Boolean] :stub_responses (false)
140
+ # Causes the client to return stubbed responses. By default
141
+ # fake responses are generated and returned. You can specify
142
+ # the response data to return or errors to raise by calling
143
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
144
+ #
145
+ # ** Please note ** When response stubbing is enabled, no HTTP
146
+ # requests are made, and retries are disabled.
147
+ #
148
+ # @option options [Boolean] :validate_params (true)
149
+ # When `true`, request parameters are validated before
150
+ # sending the request.
151
+ #
152
+ def initialize(*args)
153
+ super
154
+ end
319
155
 
320
- # Deletes the stack. After this operation completes, the environment can
321
- # no longer be activated, and any reservations made for the stack are
322
- # released.
323
- # @option params [required, String] :name
324
- # The name of the stack to delete.
325
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
326
- #
327
- # @example Request syntax with placeholder values
328
- # resp = client.delete_stack({
329
- # name: "String", # required
330
- # })
331
- # @overload delete_stack(params = {})
332
- # @param [Hash] params ({})
333
- def delete_stack(params = {}, options = {})
334
- req = build_request(:delete_stack, params)
335
- req.send_request(options)
336
- end
156
+ # @!group API Operations
337
157
 
338
- # If fleet names are provided, this operation describes the specified
339
- # fleets; otherwise, all the fleets in the account are described.
340
- # @option params [Array<String>] :names
341
- # The fleet names to describe. Use null to describe all the fleets for
342
- # the AWS account.
343
- # @option params [String] :next_token
344
- # The pagination token to use to retrieve the next page of results for
345
- # this operation. If this value is null, it retrieves the first page.
346
- # @return [Types::DescribeFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
347
- #
348
- # * {Types::DescribeFleetsResult#fleets #Fleets} => Array&lt;Types::Fleet&gt;
349
- # * {Types::DescribeFleetsResult#next_token #NextToken} => String
350
- #
351
- # @example Request syntax with placeholder values
352
- # resp = client.describe_fleets({
353
- # names: ["String"],
354
- # next_token: "String",
355
- # })
356
- #
357
- # @example Response structure
358
- # resp.fleets #=> Array
359
- # resp.fleets[0].arn #=> String
360
- # resp.fleets[0].name #=> String
361
- # resp.fleets[0].display_name #=> String
362
- # resp.fleets[0].description #=> String
363
- # resp.fleets[0].image_name #=> String
364
- # resp.fleets[0].instance_type #=> String
365
- # resp.fleets[0].compute_capacity_status.desired #=> Integer
366
- # resp.fleets[0].compute_capacity_status.running #=> Integer
367
- # resp.fleets[0].compute_capacity_status.in_use #=> Integer
368
- # resp.fleets[0].compute_capacity_status.available #=> Integer
369
- # resp.fleets[0].max_user_duration_in_seconds #=> Integer
370
- # resp.fleets[0].disconnect_timeout_in_seconds #=> Integer
371
- # resp.fleets[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
372
- # resp.fleets[0].vpc_config.subnet_ids #=> Array
373
- # resp.fleets[0].vpc_config.subnet_ids[0] #=> String
374
- # resp.fleets[0].created_time #=> Time
375
- # resp.fleets[0].fleet_errors #=> Array
376
- # resp.fleets[0].fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
377
- # resp.fleets[0].fleet_errors[0].error_message #=> String
378
- # resp.next_token #=> String
379
- # @overload describe_fleets(params = {})
380
- # @param [Hash] params ({})
381
- def describe_fleets(params = {}, options = {})
382
- req = build_request(:describe_fleets, params)
383
- req.send_request(options)
384
- end
158
+ # Associate a fleet to a stack.
159
+ #
160
+ # @option params [required, String] :fleet_name
161
+ # The name of the fleet to associate.
162
+ #
163
+ # @option params [required, String] :stack_name
164
+ # The name of the stack to which the fleet is associated.
165
+ #
166
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
167
+ #
168
+ # @example Request syntax with placeholder values
169
+ #
170
+ # resp = client.associate_fleet({
171
+ # fleet_name: "String", # required
172
+ # stack_name: "String", # required
173
+ # })
174
+ #
175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/AssociateFleet AWS API Documentation
176
+ #
177
+ # @overload associate_fleet(params = {})
178
+ # @param [Hash] params ({})
179
+ def associate_fleet(params = {}, options = {})
180
+ req = build_request(:associate_fleet, params)
181
+ req.send_request(options)
182
+ end
385
183
 
386
- # Describes the images. If a list of names is not provided, all images
387
- # in your account are returned. This operation does not return a
388
- # paginated result.
389
- # @option params [Array<String>] :names
390
- # A specific list of images to describe.
391
- # @return [Types::DescribeImagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
392
- #
393
- # * {Types::DescribeImagesResult#images #Images} => Array&lt;Types::Image&gt;
394
- #
395
- # @example Request syntax with placeholder values
396
- # resp = client.describe_images({
397
- # names: ["String"],
398
- # })
399
- #
400
- # @example Response structure
401
- # resp.images #=> Array
402
- # resp.images[0].name #=> String
403
- # resp.images[0].arn #=> String
404
- # resp.images[0].base_image_arn #=> String
405
- # resp.images[0].display_name #=> String
406
- # resp.images[0].state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "DELETING"
407
- # resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE"
408
- # resp.images[0].platform #=> String, one of "WINDOWS"
409
- # resp.images[0].description #=> String
410
- # resp.images[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE"
411
- # resp.images[0].state_change_reason.message #=> String
412
- # resp.images[0].applications #=> Array
413
- # resp.images[0].applications[0].name #=> String
414
- # resp.images[0].applications[0].display_name #=> String
415
- # resp.images[0].applications[0].icon_url #=> String
416
- # resp.images[0].applications[0].launch_path #=> String
417
- # resp.images[0].applications[0].launch_parameters #=> String
418
- # resp.images[0].applications[0].enabled #=> Boolean
419
- # resp.images[0].applications[0].metadata #=> Hash
420
- # resp.images[0].applications[0].metadata["String"] #=> String
421
- # resp.images[0].created_time #=> Time
422
- # @overload describe_images(params = {})
423
- # @param [Hash] params ({})
424
- def describe_images(params = {}, options = {})
425
- req = build_request(:describe_images, params)
426
- req.send_request(options)
427
- end
184
+ # Creates a new fleet.
185
+ #
186
+ # @option params [required, String] :name
187
+ # A unique identifier for the fleet.
188
+ #
189
+ # @option params [required, String] :image_name
190
+ # Unique name of the image used by the fleet.
191
+ #
192
+ # @option params [required, String] :instance_type
193
+ # The instance type of compute resources for the fleet. Fleet instances
194
+ # are launched from this instance type.
195
+ #
196
+ # @option params [required, Types::ComputeCapacity] :compute_capacity
197
+ # The parameters for the capacity allocated to the fleet.
198
+ #
199
+ # @option params [Types::VpcConfig] :vpc_config
200
+ # The VPC configuration for the fleet.
201
+ #
202
+ # @option params [Integer] :max_user_duration_in_seconds
203
+ # The maximum time up to which a streaming session can run.
204
+ #
205
+ # @option params [Integer] :disconnect_timeout_in_seconds
206
+ # The time after disconnection when a session is considered to have
207
+ # ended. If a user who got disconnected reconnects within this timeout
208
+ # interval, the user is connected back to his/her previous session.
209
+ #
210
+ # @option params [String] :description
211
+ # The description of the fleet.
212
+ #
213
+ # @option params [String] :display_name
214
+ # The display name of the fleet.
215
+ #
216
+ # @option params [Boolean] :enable_default_internet_access
217
+ # Enable/Disable default Internet access from fleet.
218
+ #
219
+ # @return [Types::CreateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
220
+ #
221
+ # * {Types::CreateFleetResult#fleet #fleet} => Types::Fleet
222
+ #
223
+ # @example Request syntax with placeholder values
224
+ #
225
+ # resp = client.create_fleet({
226
+ # name: "Name", # required
227
+ # image_name: "String", # required
228
+ # instance_type: "String", # required
229
+ # compute_capacity: { # required
230
+ # desired_instances: 1, # required
231
+ # },
232
+ # vpc_config: {
233
+ # subnet_ids: ["String"], # required
234
+ # },
235
+ # max_user_duration_in_seconds: 1,
236
+ # disconnect_timeout_in_seconds: 1,
237
+ # description: "Description",
238
+ # display_name: "DisplayName",
239
+ # enable_default_internet_access: false,
240
+ # })
241
+ #
242
+ # @example Response structure
243
+ #
244
+ # resp.fleet.arn #=> String
245
+ # resp.fleet.name #=> String
246
+ # resp.fleet.display_name #=> String
247
+ # resp.fleet.description #=> String
248
+ # resp.fleet.image_name #=> String
249
+ # resp.fleet.instance_type #=> String
250
+ # resp.fleet.compute_capacity_status.desired #=> Integer
251
+ # resp.fleet.compute_capacity_status.running #=> Integer
252
+ # resp.fleet.compute_capacity_status.in_use #=> Integer
253
+ # resp.fleet.compute_capacity_status.available #=> Integer
254
+ # resp.fleet.max_user_duration_in_seconds #=> Integer
255
+ # resp.fleet.disconnect_timeout_in_seconds #=> Integer
256
+ # resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
257
+ # resp.fleet.vpc_config.subnet_ids #=> Array
258
+ # resp.fleet.vpc_config.subnet_ids[0] #=> String
259
+ # resp.fleet.created_time #=> Time
260
+ # resp.fleet.fleet_errors #=> Array
261
+ # resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
262
+ # resp.fleet.fleet_errors[0].error_message #=> String
263
+ # resp.fleet.enable_default_internet_access #=> Boolean
264
+ #
265
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateFleet AWS API Documentation
266
+ #
267
+ # @overload create_fleet(params = {})
268
+ # @param [Hash] params ({})
269
+ def create_fleet(params = {}, options = {})
270
+ req = build_request(:create_fleet, params)
271
+ req.send_request(options)
272
+ end
428
273
 
429
- # Describes the streaming sessions for a stack and a fleet. If a user ID
430
- # is provided, this operation returns streaming sessions for only that
431
- # user. Pass this value for the `nextToken` parameter in a subsequent
432
- # call to this operation to retrieve the next set of items.
433
- # @option params [required, String] :stack_name
434
- # The name of the stack for which to list sessions.
435
- # @option params [required, String] :fleet_name
436
- # The name of the fleet for which to list sessions.
437
- # @option params [String] :user_id
438
- # The user for whom to list sessions. Use null to describe all the
439
- # sessions for the stack and fleet.
440
- # @option params [String] :next_token
441
- # The pagination token to use to retrieve the next page of results for
442
- # this operation. If this value is null, it retrieves the first page.
443
- # @option params [Integer] :limit
444
- # The size of each page of results. The default value is 20 and the
445
- # maximum supported value is 50.
446
- # @return [Types::DescribeSessionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
447
- #
448
- # * {Types::DescribeSessionsResult#sessions #Sessions} => Array&lt;Types::Session&gt;
449
- # * {Types::DescribeSessionsResult#next_token #NextToken} => String
450
- #
451
- # @example Request syntax with placeholder values
452
- # resp = client.describe_sessions({
453
- # stack_name: "String", # required
454
- # fleet_name: "String", # required
455
- # user_id: "UserId",
456
- # next_token: "String",
457
- # limit: 1,
458
- # })
459
- #
460
- # @example Response structure
461
- # resp.sessions #=> Array
462
- # resp.sessions[0].id #=> String
463
- # resp.sessions[0].user_id #=> String
464
- # resp.sessions[0].stack_name #=> String
465
- # resp.sessions[0].fleet_name #=> String
466
- # resp.sessions[0].state #=> String, one of "ACTIVE", "PENDING", "EXPIRED"
467
- # resp.next_token #=> String
468
- # @overload describe_sessions(params = {})
469
- # @param [Hash] params ({})
470
- def describe_sessions(params = {}, options = {})
471
- req = build_request(:describe_sessions, params)
472
- req.send_request(options)
473
- end
274
+ # Create a new stack.
275
+ #
276
+ # @option params [required, String] :name
277
+ # The unique identifier for this stack.
278
+ #
279
+ # @option params [String] :description
280
+ # The description displayed to end users on the AppStream 2.0 portal.
281
+ #
282
+ # @option params [String] :display_name
283
+ # The name displayed to end users on the AppStream 2.0 portal.
284
+ #
285
+ # @return [Types::CreateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
286
+ #
287
+ # * {Types::CreateStackResult#stack #stack} => Types::Stack
288
+ #
289
+ # @example Request syntax with placeholder values
290
+ #
291
+ # resp = client.create_stack({
292
+ # name: "String", # required
293
+ # description: "Description",
294
+ # display_name: "DisplayName",
295
+ # })
296
+ #
297
+ # @example Response structure
298
+ #
299
+ # resp.stack.arn #=> String
300
+ # resp.stack.name #=> String
301
+ # resp.stack.description #=> String
302
+ # resp.stack.display_name #=> String
303
+ # resp.stack.created_time #=> Time
304
+ #
305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStack AWS API Documentation
306
+ #
307
+ # @overload create_stack(params = {})
308
+ # @param [Hash] params ({})
309
+ def create_stack(params = {}, options = {})
310
+ req = build_request(:create_stack, params)
311
+ req.send_request(options)
312
+ end
474
313
 
475
- # If stack names are not provided, this operation describes the
476
- # specified stacks; otherwise, all stacks in the account are described.
477
- # Pass the `nextToken` value in a subsequent call to this operation to
478
- # retrieve the next set of items.
479
- # @option params [Array<String>] :names
480
- # The stack names to describe. Use null to describe all the stacks for
481
- # the AWS account.
482
- # @option params [String] :next_token
483
- # The pagination token to use to retrieve the next page of results for
484
- # this operation. If this value is null, it retrieves the first page.
485
- # @return [Types::DescribeStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
486
- #
487
- # * {Types::DescribeStacksResult#stacks #Stacks} => Array&lt;Types::Stack&gt;
488
- # * {Types::DescribeStacksResult#next_token #NextToken} => String
489
- #
490
- # @example Request syntax with placeholder values
491
- # resp = client.describe_stacks({
492
- # names: ["String"],
493
- # next_token: "String",
494
- # })
495
- #
496
- # @example Response structure
497
- # resp.stacks #=> Array
498
- # resp.stacks[0].arn #=> String
499
- # resp.stacks[0].name #=> String
500
- # resp.stacks[0].description #=> String
501
- # resp.stacks[0].display_name #=> String
502
- # resp.stacks[0].created_time #=> Time
503
- # resp.next_token #=> String
504
- # @overload describe_stacks(params = {})
505
- # @param [Hash] params ({})
506
- def describe_stacks(params = {}, options = {})
507
- req = build_request(:describe_stacks, params)
508
- req.send_request(options)
509
- end
314
+ # Creates a URL to start an AppStream 2.0 streaming session for a user.
315
+ # By default, the URL is valid only for 1 minute from the time that it
316
+ # is generated.
317
+ #
318
+ # @option params [required, String] :stack_name
319
+ # The stack for which the URL is generated.
320
+ #
321
+ # @option params [required, String] :fleet_name
322
+ # The fleet for which the URL is generated.
323
+ #
324
+ # @option params [required, String] :user_id
325
+ # A unique user ID for whom the URL is generated.
326
+ #
327
+ # @option params [String] :application_id
328
+ # The ID of the application that must be launched after the session
329
+ # starts.
330
+ #
331
+ # @option params [Integer] :validity
332
+ # The validity duration of the URL in seconds. After this duration, the
333
+ # URL returned by this operation becomes invalid.
334
+ #
335
+ # @option params [String] :session_context
336
+ # The sessionContext of the streaming URL.
337
+ #
338
+ # @return [Types::CreateStreamingURLResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
339
+ #
340
+ # * {Types::CreateStreamingURLResult#streaming_url #streaming_url} => String
341
+ # * {Types::CreateStreamingURLResult#expires #expires} => Time
342
+ #
343
+ # @example Request syntax with placeholder values
344
+ #
345
+ # resp = client.create_streaming_url({
346
+ # stack_name: "String", # required
347
+ # fleet_name: "String", # required
348
+ # user_id: "UserId", # required
349
+ # application_id: "String",
350
+ # validity: 1,
351
+ # session_context: "String",
352
+ # })
353
+ #
354
+ # @example Response structure
355
+ #
356
+ # resp.streaming_url #=> String
357
+ # resp.expires #=> Time
358
+ #
359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateStreamingURL AWS API Documentation
360
+ #
361
+ # @overload create_streaming_url(params = {})
362
+ # @param [Hash] params ({})
363
+ def create_streaming_url(params = {}, options = {})
364
+ req = build_request(:create_streaming_url, params)
365
+ req.send_request(options)
366
+ end
510
367
 
511
- # Disassociates a fleet from a stack.
512
- # @option params [required, String] :fleet_name
513
- # The name of the fleet to disassociate.
514
- # @option params [required, String] :stack_name
515
- # The name of the stack with which the fleet is associated.
516
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
517
- #
518
- # @example Request syntax with placeholder values
519
- # resp = client.disassociate_fleet({
520
- # fleet_name: "String", # required
521
- # stack_name: "String", # required
522
- # })
523
- # @overload disassociate_fleet(params = {})
524
- # @param [Hash] params ({})
525
- def disassociate_fleet(params = {}, options = {})
526
- req = build_request(:disassociate_fleet, params)
527
- req.send_request(options)
528
- end
368
+ # Deletes a fleet.
369
+ #
370
+ # @option params [required, String] :name
371
+ # The name of the fleet to be deleted.
372
+ #
373
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
374
+ #
375
+ # @example Request syntax with placeholder values
376
+ #
377
+ # resp = client.delete_fleet({
378
+ # name: "String", # required
379
+ # })
380
+ #
381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteFleet AWS API Documentation
382
+ #
383
+ # @overload delete_fleet(params = {})
384
+ # @param [Hash] params ({})
385
+ def delete_fleet(params = {}, options = {})
386
+ req = build_request(:delete_fleet, params)
387
+ req.send_request(options)
388
+ end
529
389
 
530
- # This operation immediately stops a streaming session.
531
- # @option params [required, String] :session_id
532
- # The unique identifier of the streaming session to be stopped.
533
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
534
- #
535
- # @example Request syntax with placeholder values
536
- # resp = client.expire_session({
537
- # session_id: "String", # required
538
- # })
539
- # @overload expire_session(params = {})
540
- # @param [Hash] params ({})
541
- def expire_session(params = {}, options = {})
542
- req = build_request(:expire_session, params)
543
- req.send_request(options)
544
- end
390
+ # Deletes the stack. After this operation completes, the environment can
391
+ # no longer be activated, and any reservations made for the stack are
392
+ # released.
393
+ #
394
+ # @option params [required, String] :name
395
+ # The name of the stack to delete.
396
+ #
397
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
398
+ #
399
+ # @example Request syntax with placeholder values
400
+ #
401
+ # resp = client.delete_stack({
402
+ # name: "String", # required
403
+ # })
404
+ #
405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DeleteStack AWS API Documentation
406
+ #
407
+ # @overload delete_stack(params = {})
408
+ # @param [Hash] params ({})
409
+ def delete_stack(params = {}, options = {})
410
+ req = build_request(:delete_stack, params)
411
+ req.send_request(options)
412
+ end
545
413
 
546
- # Lists all fleets associated with the stack.
547
- # @option params [required, String] :stack_name
548
- # The name of the stack whose associated fleets are listed.
549
- # @option params [String] :next_token
550
- # The pagination token to use to retrieve the next page of results for
551
- # this operation. If this value is null, it retrieves the first page.
552
- # @return [Types::ListAssociatedFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
553
- #
554
- # * {Types::ListAssociatedFleetsResult#names #Names} => Array&lt;String&gt;
555
- # * {Types::ListAssociatedFleetsResult#next_token #NextToken} => String
556
- #
557
- # @example Request syntax with placeholder values
558
- # resp = client.list_associated_fleets({
559
- # stack_name: "String", # required
560
- # next_token: "String",
561
- # })
562
- #
563
- # @example Response structure
564
- # resp.names #=> Array
565
- # resp.names[0] #=> String
566
- # resp.next_token #=> String
567
- # @overload list_associated_fleets(params = {})
568
- # @param [Hash] params ({})
569
- def list_associated_fleets(params = {}, options = {})
570
- req = build_request(:list_associated_fleets, params)
571
- req.send_request(options)
572
- end
414
+ # If fleet names are provided, this operation describes the specified
415
+ # fleets; otherwise, all the fleets in the account are described.
416
+ #
417
+ # @option params [Array<String>] :names
418
+ # The fleet names to describe. Use null to describe all the fleets for
419
+ # the AWS account.
420
+ #
421
+ # @option params [String] :next_token
422
+ # The pagination token to use to retrieve the next page of results for
423
+ # this operation. If this value is null, it retrieves the first page.
424
+ #
425
+ # @return [Types::DescribeFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
426
+ #
427
+ # * {Types::DescribeFleetsResult#fleets #fleets} => Array&lt;Types::Fleet&gt;
428
+ # * {Types::DescribeFleetsResult#next_token #next_token} => String
429
+ #
430
+ # @example Request syntax with placeholder values
431
+ #
432
+ # resp = client.describe_fleets({
433
+ # names: ["String"],
434
+ # next_token: "String",
435
+ # })
436
+ #
437
+ # @example Response structure
438
+ #
439
+ # resp.fleets #=> Array
440
+ # resp.fleets[0].arn #=> String
441
+ # resp.fleets[0].name #=> String
442
+ # resp.fleets[0].display_name #=> String
443
+ # resp.fleets[0].description #=> String
444
+ # resp.fleets[0].image_name #=> String
445
+ # resp.fleets[0].instance_type #=> String
446
+ # resp.fleets[0].compute_capacity_status.desired #=> Integer
447
+ # resp.fleets[0].compute_capacity_status.running #=> Integer
448
+ # resp.fleets[0].compute_capacity_status.in_use #=> Integer
449
+ # resp.fleets[0].compute_capacity_status.available #=> Integer
450
+ # resp.fleets[0].max_user_duration_in_seconds #=> Integer
451
+ # resp.fleets[0].disconnect_timeout_in_seconds #=> Integer
452
+ # resp.fleets[0].state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
453
+ # resp.fleets[0].vpc_config.subnet_ids #=> Array
454
+ # resp.fleets[0].vpc_config.subnet_ids[0] #=> String
455
+ # resp.fleets[0].created_time #=> Time
456
+ # resp.fleets[0].fleet_errors #=> Array
457
+ # resp.fleets[0].fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
458
+ # resp.fleets[0].fleet_errors[0].error_message #=> String
459
+ # resp.fleets[0].enable_default_internet_access #=> Boolean
460
+ # resp.next_token #=> String
461
+ #
462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeFleets AWS API Documentation
463
+ #
464
+ # @overload describe_fleets(params = {})
465
+ # @param [Hash] params ({})
466
+ def describe_fleets(params = {}, options = {})
467
+ req = build_request(:describe_fleets, params)
468
+ req.send_request(options)
469
+ end
573
470
 
574
- # Lists all stacks to which the specified fleet is associated.
575
- # @option params [required, String] :fleet_name
576
- # The name of the fleet whose associated stacks are listed.
577
- # @option params [String] :next_token
578
- # The pagination token to use to retrieve the next page of results for
579
- # this operation. If this value is null, it retrieves the first page.
580
- # @return [Types::ListAssociatedStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
581
- #
582
- # * {Types::ListAssociatedStacksResult#names #Names} => Array&lt;String&gt;
583
- # * {Types::ListAssociatedStacksResult#next_token #NextToken} => String
584
- #
585
- # @example Request syntax with placeholder values
586
- # resp = client.list_associated_stacks({
587
- # fleet_name: "String", # required
588
- # next_token: "String",
589
- # })
590
- #
591
- # @example Response structure
592
- # resp.names #=> Array
593
- # resp.names[0] #=> String
594
- # resp.next_token #=> String
595
- # @overload list_associated_stacks(params = {})
596
- # @param [Hash] params ({})
597
- def list_associated_stacks(params = {}, options = {})
598
- req = build_request(:list_associated_stacks, params)
599
- req.send_request(options)
600
- end
471
+ # Describes the images. If a list of names is not provided, all images
472
+ # in your account are returned. This operation does not return a
473
+ # paginated result.
474
+ #
475
+ # @option params [Array<String>] :names
476
+ # A specific list of images to describe.
477
+ #
478
+ # @return [Types::DescribeImagesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
479
+ #
480
+ # * {Types::DescribeImagesResult#images #images} => Array&lt;Types::Image&gt;
481
+ #
482
+ # @example Request syntax with placeholder values
483
+ #
484
+ # resp = client.describe_images({
485
+ # names: ["String"],
486
+ # })
487
+ #
488
+ # @example Response structure
489
+ #
490
+ # resp.images #=> Array
491
+ # resp.images[0].name #=> String
492
+ # resp.images[0].arn #=> String
493
+ # resp.images[0].base_image_arn #=> String
494
+ # resp.images[0].display_name #=> String
495
+ # resp.images[0].state #=> String, one of "PENDING", "AVAILABLE", "FAILED", "DELETING"
496
+ # resp.images[0].visibility #=> String, one of "PUBLIC", "PRIVATE"
497
+ # resp.images[0].image_builder_supported #=> Boolean
498
+ # resp.images[0].platform #=> String, one of "WINDOWS"
499
+ # resp.images[0].description #=> String
500
+ # resp.images[0].state_change_reason.code #=> String, one of "INTERNAL_ERROR", "IMAGE_BUILDER_NOT_AVAILABLE"
501
+ # resp.images[0].state_change_reason.message #=> String
502
+ # resp.images[0].applications #=> Array
503
+ # resp.images[0].applications[0].name #=> String
504
+ # resp.images[0].applications[0].display_name #=> String
505
+ # resp.images[0].applications[0].icon_url #=> String
506
+ # resp.images[0].applications[0].launch_path #=> String
507
+ # resp.images[0].applications[0].launch_parameters #=> String
508
+ # resp.images[0].applications[0].enabled #=> Boolean
509
+ # resp.images[0].applications[0].metadata #=> Hash
510
+ # resp.images[0].applications[0].metadata["String"] #=> String
511
+ # resp.images[0].created_time #=> Time
512
+ #
513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeImages AWS API Documentation
514
+ #
515
+ # @overload describe_images(params = {})
516
+ # @param [Hash] params ({})
517
+ def describe_images(params = {}, options = {})
518
+ req = build_request(:describe_images, params)
519
+ req.send_request(options)
520
+ end
601
521
 
602
- # Starts a fleet.
603
- # @option params [required, String] :name
604
- # The name of the fleet to start.
605
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
606
- #
607
- # @example Request syntax with placeholder values
608
- # resp = client.start_fleet({
609
- # name: "String", # required
610
- # })
611
- # @overload start_fleet(params = {})
612
- # @param [Hash] params ({})
613
- def start_fleet(params = {}, options = {})
614
- req = build_request(:start_fleet, params)
615
- req.send_request(options)
616
- end
522
+ # Describes the streaming sessions for a stack and a fleet. If a user ID
523
+ # is provided, this operation returns streaming sessions for only that
524
+ # user. Pass this value for the `nextToken` parameter in a subsequent
525
+ # call to this operation to retrieve the next set of items. If an
526
+ # authentication type is not provided, the operation defaults to users
527
+ # authenticated using a streaming url.
528
+ #
529
+ # @option params [required, String] :stack_name
530
+ # The name of the stack for which to list sessions.
531
+ #
532
+ # @option params [required, String] :fleet_name
533
+ # The name of the fleet for which to list sessions.
534
+ #
535
+ # @option params [String] :user_id
536
+ # The user for whom to list sessions. Use null to describe all the
537
+ # sessions for the stack and fleet.
538
+ #
539
+ # @option params [String] :next_token
540
+ # The pagination token to use to retrieve the next page of results for
541
+ # this operation. If this value is null, it retrieves the first page.
542
+ #
543
+ # @option params [Integer] :limit
544
+ # The size of each page of results. The default value is 20 and the
545
+ # maximum supported value is 50.
546
+ #
547
+ # @option params [String] :authentication_type
548
+ # The authentication method of the user. It can be `API` for a user
549
+ # authenticated using a streaming url or `SAML` for a SAML federated
550
+ # user. If an authentication type is not provided, the operation
551
+ # defaults to users authenticated using a streaming url.
552
+ #
553
+ # @return [Types::DescribeSessionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::DescribeSessionsResult#sessions #sessions} => Array&lt;Types::Session&gt;
556
+ # * {Types::DescribeSessionsResult#next_token #next_token} => String
557
+ #
558
+ # @example Request syntax with placeholder values
559
+ #
560
+ # resp = client.describe_sessions({
561
+ # stack_name: "String", # required
562
+ # fleet_name: "String", # required
563
+ # user_id: "UserId",
564
+ # next_token: "String",
565
+ # limit: 1,
566
+ # authentication_type: "API", # accepts API, SAML
567
+ # })
568
+ #
569
+ # @example Response structure
570
+ #
571
+ # resp.sessions #=> Array
572
+ # resp.sessions[0].id #=> String
573
+ # resp.sessions[0].user_id #=> String
574
+ # resp.sessions[0].stack_name #=> String
575
+ # resp.sessions[0].fleet_name #=> String
576
+ # resp.sessions[0].state #=> String, one of "ACTIVE", "PENDING", "EXPIRED"
577
+ # resp.sessions[0].authentication_type #=> String, one of "API", "SAML"
578
+ # resp.next_token #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeSessions AWS API Documentation
581
+ #
582
+ # @overload describe_sessions(params = {})
583
+ # @param [Hash] params ({})
584
+ def describe_sessions(params = {}, options = {})
585
+ req = build_request(:describe_sessions, params)
586
+ req.send_request(options)
587
+ end
617
588
 
618
- # Stops a fleet.
619
- # @option params [required, String] :name
620
- # The name of the fleet to stop.
621
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
622
- #
623
- # @example Request syntax with placeholder values
624
- # resp = client.stop_fleet({
625
- # name: "String", # required
626
- # })
627
- # @overload stop_fleet(params = {})
628
- # @param [Hash] params ({})
629
- def stop_fleet(params = {}, options = {})
630
- req = build_request(:stop_fleet, params)
631
- req.send_request(options)
632
- end
589
+ # If stack names are not provided, this operation describes the
590
+ # specified stacks; otherwise, all stacks in the account are described.
591
+ # Pass the `nextToken` value in a subsequent call to this operation to
592
+ # retrieve the next set of items.
593
+ #
594
+ # @option params [Array<String>] :names
595
+ # The stack names to describe. Use null to describe all the stacks for
596
+ # the AWS account.
597
+ #
598
+ # @option params [String] :next_token
599
+ # The pagination token to use to retrieve the next page of results for
600
+ # this operation. If this value is null, it retrieves the first page.
601
+ #
602
+ # @return [Types::DescribeStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
603
+ #
604
+ # * {Types::DescribeStacksResult#stacks #stacks} => Array&lt;Types::Stack&gt;
605
+ # * {Types::DescribeStacksResult#next_token #next_token} => String
606
+ #
607
+ # @example Request syntax with placeholder values
608
+ #
609
+ # resp = client.describe_stacks({
610
+ # names: ["String"],
611
+ # next_token: "String",
612
+ # })
613
+ #
614
+ # @example Response structure
615
+ #
616
+ # resp.stacks #=> Array
617
+ # resp.stacks[0].arn #=> String
618
+ # resp.stacks[0].name #=> String
619
+ # resp.stacks[0].description #=> String
620
+ # resp.stacks[0].display_name #=> String
621
+ # resp.stacks[0].created_time #=> Time
622
+ # resp.next_token #=> String
623
+ #
624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeStacks AWS API Documentation
625
+ #
626
+ # @overload describe_stacks(params = {})
627
+ # @param [Hash] params ({})
628
+ def describe_stacks(params = {}, options = {})
629
+ req = build_request(:describe_stacks, params)
630
+ req.send_request(options)
631
+ end
633
632
 
634
- # Updates an existing fleet. All the attributes except the fleet name
635
- # can be updated in the **STOPPED** state. Only **ComputeCapacity** and
636
- # **ImageName** can be updated in any other state.
637
- # @option params [String] :image_name
638
- # The image name from which a fleet is created.
639
- # @option params [required, String] :name
640
- # The name of the fleet.
641
- # @option params [String] :instance_type
642
- # The instance type of compute resources for the fleet. Fleet instances
643
- # are launched from this instance type.
644
- # @option params [Types::ComputeCapacity] :compute_capacity
645
- # The parameters for the capacity allocated to the fleet.
646
- # @option params [Types::VpcConfig] :vpc_config
647
- # The VPC configuration for the fleet.
648
- # @option params [Integer] :max_user_duration_in_seconds
649
- # The maximum time during which a streaming session can run.
650
- # @option params [Integer] :disconnect_timeout_in_seconds
651
- # The time after disconnection when a session is considered to have
652
- # ended. When the user reconnects after a disconnection, the user is
653
- # connected to the same instance within this time interval.
654
- # @option params [Boolean] :delete_vpc_config
655
- # Delete the VPC association for the specified fleet.
656
- # @option params [String] :description
657
- # The description displayed to end users on the AppStream 2.0 portal.
658
- # @option params [String] :display_name
659
- # The name displayed to end users on the AppStream 2.0 portal.
660
- # @return [Types::UpdateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
661
- #
662
- # * {Types::UpdateFleetResult#fleet #Fleet} => Types::Fleet
663
- #
664
- # @example Request syntax with placeholder values
665
- # resp = client.update_fleet({
666
- # image_name: "String",
667
- # name: "String", # required
668
- # instance_type: "String",
669
- # compute_capacity: {
670
- # desired_instances: 1, # required
671
- # },
672
- # vpc_config: {
673
- # subnet_ids: ["String"], # required
674
- # },
675
- # max_user_duration_in_seconds: 1,
676
- # disconnect_timeout_in_seconds: 1,
677
- # delete_vpc_config: false,
678
- # description: "Description",
679
- # display_name: "DisplayName",
680
- # })
681
- #
682
- # @example Response structure
683
- # resp.fleet.arn #=> String
684
- # resp.fleet.name #=> String
685
- # resp.fleet.display_name #=> String
686
- # resp.fleet.description #=> String
687
- # resp.fleet.image_name #=> String
688
- # resp.fleet.instance_type #=> String
689
- # resp.fleet.compute_capacity_status.desired #=> Integer
690
- # resp.fleet.compute_capacity_status.running #=> Integer
691
- # resp.fleet.compute_capacity_status.in_use #=> Integer
692
- # resp.fleet.compute_capacity_status.available #=> Integer
693
- # resp.fleet.max_user_duration_in_seconds #=> Integer
694
- # resp.fleet.disconnect_timeout_in_seconds #=> Integer
695
- # resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
696
- # resp.fleet.vpc_config.subnet_ids #=> Array
697
- # resp.fleet.vpc_config.subnet_ids[0] #=> String
698
- # resp.fleet.created_time #=> Time
699
- # resp.fleet.fleet_errors #=> Array
700
- # resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
701
- # resp.fleet.fleet_errors[0].error_message #=> String
702
- # @overload update_fleet(params = {})
703
- # @param [Hash] params ({})
704
- def update_fleet(params = {}, options = {})
705
- req = build_request(:update_fleet, params)
706
- req.send_request(options)
707
- end
633
+ # Disassociates a fleet from a stack.
634
+ #
635
+ # @option params [required, String] :fleet_name
636
+ # The name of the fleet to disassociate.
637
+ #
638
+ # @option params [required, String] :stack_name
639
+ # The name of the stack with which the fleet is associated.
640
+ #
641
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
642
+ #
643
+ # @example Request syntax with placeholder values
644
+ #
645
+ # resp = client.disassociate_fleet({
646
+ # fleet_name: "String", # required
647
+ # stack_name: "String", # required
648
+ # })
649
+ #
650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet AWS API Documentation
651
+ #
652
+ # @overload disassociate_fleet(params = {})
653
+ # @param [Hash] params ({})
654
+ def disassociate_fleet(params = {}, options = {})
655
+ req = build_request(:disassociate_fleet, params)
656
+ req.send_request(options)
657
+ end
708
658
 
709
- # Updates the specified fields in the stack with the specified name.
710
- # @option params [String] :display_name
711
- # The name displayed to end users on the AppStream 2.0 portal.
712
- # @option params [String] :description
713
- # The description displayed to end users on the AppStream 2.0 portal.
714
- # @option params [required, String] :name
715
- # The name of the stack to update.
716
- # @return [Types::UpdateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
- #
718
- # * {Types::UpdateStackResult#stack #Stack} => Types::Stack
719
- #
720
- # @example Request syntax with placeholder values
721
- # resp = client.update_stack({
722
- # display_name: "DisplayName",
723
- # description: "Description",
724
- # name: "String", # required
725
- # })
726
- #
727
- # @example Response structure
728
- # resp.stack.arn #=> String
729
- # resp.stack.name #=> String
730
- # resp.stack.description #=> String
731
- # resp.stack.display_name #=> String
732
- # resp.stack.created_time #=> Time
733
- # @overload update_stack(params = {})
734
- # @param [Hash] params ({})
735
- def update_stack(params = {}, options = {})
736
- req = build_request(:update_stack, params)
737
- req.send_request(options)
738
- end
659
+ # This operation immediately stops a streaming session.
660
+ #
661
+ # @option params [required, String] :session_id
662
+ # The unique identifier of the streaming session to be stopped.
663
+ #
664
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
665
+ #
666
+ # @example Request syntax with placeholder values
667
+ #
668
+ # resp = client.expire_session({
669
+ # session_id: "String", # required
670
+ # })
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ExpireSession AWS API Documentation
673
+ #
674
+ # @overload expire_session(params = {})
675
+ # @param [Hash] params ({})
676
+ def expire_session(params = {}, options = {})
677
+ req = build_request(:expire_session, params)
678
+ req.send_request(options)
679
+ end
739
680
 
740
- # @!endgroup
681
+ # Lists all fleets associated with the stack.
682
+ #
683
+ # @option params [required, String] :stack_name
684
+ # The name of the stack whose associated fleets are listed.
685
+ #
686
+ # @option params [String] :next_token
687
+ # The pagination token to use to retrieve the next page of results for
688
+ # this operation. If this value is null, it retrieves the first page.
689
+ #
690
+ # @return [Types::ListAssociatedFleetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
691
+ #
692
+ # * {Types::ListAssociatedFleetsResult#names #names} => Array&lt;String&gt;
693
+ # * {Types::ListAssociatedFleetsResult#next_token #next_token} => String
694
+ #
695
+ # @example Request syntax with placeholder values
696
+ #
697
+ # resp = client.list_associated_fleets({
698
+ # stack_name: "String", # required
699
+ # next_token: "String",
700
+ # })
701
+ #
702
+ # @example Response structure
703
+ #
704
+ # resp.names #=> Array
705
+ # resp.names[0] #=> String
706
+ # resp.next_token #=> String
707
+ #
708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedFleets AWS API Documentation
709
+ #
710
+ # @overload list_associated_fleets(params = {})
711
+ # @param [Hash] params ({})
712
+ def list_associated_fleets(params = {}, options = {})
713
+ req = build_request(:list_associated_fleets, params)
714
+ req.send_request(options)
715
+ end
741
716
 
742
- # @param params ({})
743
- # @api private
744
- def build_request(operation_name, params = {})
745
- handlers = @handlers.for(operation_name)
746
- context = Seahorse::Client::RequestContext.new(
747
- operation_name: operation_name,
748
- operation: config.api.operation(operation_name),
749
- client: self,
750
- params: params,
751
- config: config)
752
- context[:gem_name] = 'aws-sdk-appstream'
753
- context[:gem_version] = '1.0.0.rc2'
754
- Seahorse::Client::Request.new(handlers, context)
755
- end
717
+ # Lists all stacks to which the specified fleet is associated.
718
+ #
719
+ # @option params [required, String] :fleet_name
720
+ # The name of the fleet whose associated stacks are listed.
721
+ #
722
+ # @option params [String] :next_token
723
+ # The pagination token to use to retrieve the next page of results for
724
+ # this operation. If this value is null, it retrieves the first page.
725
+ #
726
+ # @return [Types::ListAssociatedStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
727
+ #
728
+ # * {Types::ListAssociatedStacksResult#names #names} => Array&lt;String&gt;
729
+ # * {Types::ListAssociatedStacksResult#next_token #next_token} => String
730
+ #
731
+ # @example Request syntax with placeholder values
732
+ #
733
+ # resp = client.list_associated_stacks({
734
+ # fleet_name: "String", # required
735
+ # next_token: "String",
736
+ # })
737
+ #
738
+ # @example Response structure
739
+ #
740
+ # resp.names #=> Array
741
+ # resp.names[0] #=> String
742
+ # resp.next_token #=> String
743
+ #
744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/ListAssociatedStacks AWS API Documentation
745
+ #
746
+ # @overload list_associated_stacks(params = {})
747
+ # @param [Hash] params ({})
748
+ def list_associated_stacks(params = {}, options = {})
749
+ req = build_request(:list_associated_stacks, params)
750
+ req.send_request(options)
751
+ end
756
752
 
757
- # Polls an API operation until a resource enters a desired state.
758
- #
759
- # ## Basic Usage
760
- #
761
- # A waiter will call an API operation until:
762
- #
763
- # * It is successful
764
- # * It enters a terminal state
765
- # * It makes the maximum number of attempts
766
- #
767
- # In between attempts, the waiter will sleep.
768
- #
769
- # # polls in a loop, sleeping between attempts
770
- # client.waiter_until(waiter_name, params)
771
- #
772
- # ## Configuration
773
- #
774
- # You can configure the maximum number of polling attempts, and the
775
- # delay (in seconds) between each polling attempt. You can pass
776
- # configuration as the final arguments hash.
777
- #
778
- # # poll for ~25 seconds
779
- # client.wait_until(waiter_name, params, {
780
- # max_attempts: 5,
781
- # delay: 5,
782
- # })
783
- #
784
- # ## Callbacks
785
- #
786
- # You can be notified before each polling attempt and before each
787
- # delay. If you throw `:success` or `:failure` from these callbacks,
788
- # it will terminate the waiter.
789
- #
790
- # started_at = Time.now
791
- # client.wait_until(waiter_name, params, {
792
- #
793
- # # disable max attempts
794
- # max_attempts: nil,
795
- #
796
- # # poll for 1 hour, instead of a number of attempts
797
- # before_wait: -> (attempts, response) do
798
- # throw :failure if Time.now - started_at > 3600
799
- # end
800
- # })
801
- #
802
- # ## Handling Errors
803
- #
804
- # When a waiter is unsuccessful, it will raise an error.
805
- # All of the failure errors extend from
806
- # {Aws::Waiters::Errors::WaiterFailed}.
807
- #
808
- # begin
809
- # client.wait_until(...)
810
- # rescue Aws::Waiters::Errors::WaiterFailed
811
- # # resource did not enter the desired state in time
812
- # end
813
- #
814
- # ## Valid Waiters
815
- #
816
- # The following table lists the valid waiter names, the operations they call,
817
- # and the default `:delay` and `:max_attempts` values.
818
- #
819
- # | waiter_name | params | :delay | :max_attempts |
820
- # | ------------- | ------------------ | -------- | ------------- |
821
- # | fleet_started | {#describe_fleets} | 30 | 40 |
822
- # | fleet_stopped | {#describe_fleets} | 30 | 40 |
823
- #
824
- # @raise [Errors::FailureStateError] Raised when the waiter terminates
825
- # because the waiter has entered a state that it will not transition
826
- # out of, preventing success.
827
- #
828
- # @raise [Errors::TooManyAttemptsError] Raised when the configured
829
- # maximum number of attempts have been made, and the waiter is not
830
- # yet successful.
831
- #
832
- # @raise [Errors::UnexpectedError] Raised when an error is encounted
833
- # while polling for a resource that is not expected.
834
- #
835
- # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
836
- # for an unknown state.
837
- #
838
- # @return [Boolean] Returns `true` if the waiter was successful.
839
- # @param [Symbol] waiter_name
840
- # @param [Hash] params ({})
841
- # @param [Hash] options ({})
842
- # @option options [Integer] :max_attempts
843
- # @option options [Integer] :delay
844
- # @option options [Proc] :before_attempt
845
- # @option options [Proc] :before_wait
846
- def wait_until(waiter_name, params = {}, options = {})
847
- w = waiter(waiter_name, options)
848
- yield(w.waiter) if block_given? # deprecated
849
- w.wait(params)
850
- end
753
+ # Starts a fleet.
754
+ #
755
+ # @option params [required, String] :name
756
+ # The name of the fleet to start.
757
+ #
758
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
759
+ #
760
+ # @example Request syntax with placeholder values
761
+ #
762
+ # resp = client.start_fleet({
763
+ # name: "String", # required
764
+ # })
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StartFleet AWS API Documentation
767
+ #
768
+ # @overload start_fleet(params = {})
769
+ # @param [Hash] params ({})
770
+ def start_fleet(params = {}, options = {})
771
+ req = build_request(:start_fleet, params)
772
+ req.send_request(options)
773
+ end
851
774
 
852
- # @api private
853
- # @deprecated
854
- def waiter_names
855
- waiters.keys
856
- end
775
+ # Stops a fleet.
776
+ #
777
+ # @option params [required, String] :name
778
+ # The name of the fleet to stop.
779
+ #
780
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
781
+ #
782
+ # @example Request syntax with placeholder values
783
+ #
784
+ # resp = client.stop_fleet({
785
+ # name: "String", # required
786
+ # })
787
+ #
788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/StopFleet AWS API Documentation
789
+ #
790
+ # @overload stop_fleet(params = {})
791
+ # @param [Hash] params ({})
792
+ def stop_fleet(params = {}, options = {})
793
+ req = build_request(:stop_fleet, params)
794
+ req.send_request(options)
795
+ end
857
796
 
858
- private
859
-
860
- # @param [Symbol] waiter_name
861
- # @param [Hash] options ({})
862
- def waiter(waiter_name, options = {})
863
- waiter_class = waiters[waiter_name]
864
- if waiter_class
865
- waiter_class.new(options.merge(client: self))
866
- else
867
- raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
868
- end
869
- end
797
+ # Updates an existing fleet. All the attributes except the fleet name
798
+ # can be updated in the **STOPPED** state. When a fleet is in the
799
+ # **RUNNING** state, only `DisplayName` and `ComputeCapacity` can be
800
+ # updated. A fleet cannot be updated in a status of **STARTING** or
801
+ # **STOPPING**.
802
+ #
803
+ # @option params [String] :image_name
804
+ # The image name from which a fleet is created.
805
+ #
806
+ # @option params [required, String] :name
807
+ # The name of the fleet.
808
+ #
809
+ # @option params [String] :instance_type
810
+ # The instance type of compute resources for the fleet. Fleet instances
811
+ # are launched from this instance type.
812
+ #
813
+ # @option params [Types::ComputeCapacity] :compute_capacity
814
+ # The parameters for the capacity allocated to the fleet.
815
+ #
816
+ # @option params [Types::VpcConfig] :vpc_config
817
+ # The VPC configuration for the fleet.
818
+ #
819
+ # @option params [Integer] :max_user_duration_in_seconds
820
+ # The maximum time during which a streaming session can run.
821
+ #
822
+ # @option params [Integer] :disconnect_timeout_in_seconds
823
+ # The time after disconnection when a session is considered to have
824
+ # ended. When the user reconnects after a disconnection, the user is
825
+ # connected to the same instance within this time interval.
826
+ #
827
+ # @option params [Boolean] :delete_vpc_config
828
+ # Delete the VPC association for the specified fleet.
829
+ #
830
+ # @option params [String] :description
831
+ # The description displayed to end users on the AppStream 2.0 portal.
832
+ #
833
+ # @option params [String] :display_name
834
+ # The name displayed to end users on the AppStream 2.0 portal.
835
+ #
836
+ # @option params [Boolean] :enable_default_internet_access
837
+ # Enable/Disable default Internet access from fleet.
838
+ #
839
+ # @return [Types::UpdateFleetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
840
+ #
841
+ # * {Types::UpdateFleetResult#fleet #fleet} => Types::Fleet
842
+ #
843
+ # @example Request syntax with placeholder values
844
+ #
845
+ # resp = client.update_fleet({
846
+ # image_name: "String",
847
+ # name: "String", # required
848
+ # instance_type: "String",
849
+ # compute_capacity: {
850
+ # desired_instances: 1, # required
851
+ # },
852
+ # vpc_config: {
853
+ # subnet_ids: ["String"], # required
854
+ # },
855
+ # max_user_duration_in_seconds: 1,
856
+ # disconnect_timeout_in_seconds: 1,
857
+ # delete_vpc_config: false,
858
+ # description: "Description",
859
+ # display_name: "DisplayName",
860
+ # enable_default_internet_access: false,
861
+ # })
862
+ #
863
+ # @example Response structure
864
+ #
865
+ # resp.fleet.arn #=> String
866
+ # resp.fleet.name #=> String
867
+ # resp.fleet.display_name #=> String
868
+ # resp.fleet.description #=> String
869
+ # resp.fleet.image_name #=> String
870
+ # resp.fleet.instance_type #=> String
871
+ # resp.fleet.compute_capacity_status.desired #=> Integer
872
+ # resp.fleet.compute_capacity_status.running #=> Integer
873
+ # resp.fleet.compute_capacity_status.in_use #=> Integer
874
+ # resp.fleet.compute_capacity_status.available #=> Integer
875
+ # resp.fleet.max_user_duration_in_seconds #=> Integer
876
+ # resp.fleet.disconnect_timeout_in_seconds #=> Integer
877
+ # resp.fleet.state #=> String, one of "STARTING", "RUNNING", "STOPPING", "STOPPED"
878
+ # resp.fleet.vpc_config.subnet_ids #=> Array
879
+ # resp.fleet.vpc_config.subnet_ids[0] #=> String
880
+ # resp.fleet.created_time #=> Time
881
+ # resp.fleet.fleet_errors #=> Array
882
+ # resp.fleet.fleet_errors[0].error_code #=> String, one of "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", "NETWORK_INTERFACE_LIMIT_EXCEEDED", "INTERNAL_SERVICE_ERROR", "IAM_SERVICE_ROLE_IS_MISSING", "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", "SUBNET_NOT_FOUND", "IMAGE_NOT_FOUND", "INVALID_SUBNET_CONFIGURATION"
883
+ # resp.fleet.fleet_errors[0].error_message #=> String
884
+ # resp.fleet.enable_default_internet_access #=> Boolean
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateFleet AWS API Documentation
887
+ #
888
+ # @overload update_fleet(params = {})
889
+ # @param [Hash] params ({})
890
+ def update_fleet(params = {}, options = {})
891
+ req = build_request(:update_fleet, params)
892
+ req.send_request(options)
893
+ end
870
894
 
871
- def waiters
872
- {
873
- fleet_started: Waiters::FleetStarted,
874
- fleet_stopped: Waiters::FleetStopped
875
- }
895
+ # Updates the specified fields in the stack with the specified name.
896
+ #
897
+ # @option params [String] :display_name
898
+ # The name displayed to end users on the AppStream 2.0 portal.
899
+ #
900
+ # @option params [String] :description
901
+ # The description displayed to end users on the AppStream 2.0 portal.
902
+ #
903
+ # @option params [required, String] :name
904
+ # The name of the stack to update.
905
+ #
906
+ # @return [Types::UpdateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
907
+ #
908
+ # * {Types::UpdateStackResult#stack #stack} => Types::Stack
909
+ #
910
+ # @example Request syntax with placeholder values
911
+ #
912
+ # resp = client.update_stack({
913
+ # display_name: "DisplayName",
914
+ # description: "Description",
915
+ # name: "String", # required
916
+ # })
917
+ #
918
+ # @example Response structure
919
+ #
920
+ # resp.stack.arn #=> String
921
+ # resp.stack.name #=> String
922
+ # resp.stack.description #=> String
923
+ # resp.stack.display_name #=> String
924
+ # resp.stack.created_time #=> Time
925
+ #
926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateStack AWS API Documentation
927
+ #
928
+ # @overload update_stack(params = {})
929
+ # @param [Hash] params ({})
930
+ def update_stack(params = {}, options = {})
931
+ req = build_request(:update_stack, params)
932
+ req.send_request(options)
933
+ end
934
+
935
+ # @!endgroup
936
+
937
+ # @param params ({})
938
+ # @api private
939
+ def build_request(operation_name, params = {})
940
+ handlers = @handlers.for(operation_name)
941
+ context = Seahorse::Client::RequestContext.new(
942
+ operation_name: operation_name,
943
+ operation: config.api.operation(operation_name),
944
+ client: self,
945
+ params: params,
946
+ config: config)
947
+ context[:gem_name] = 'aws-sdk-appstream'
948
+ context[:gem_version] = '1.0.0.rc3'
949
+ Seahorse::Client::Request.new(handlers, context)
950
+ end
951
+
952
+ # Polls an API operation until a resource enters a desired state.
953
+ #
954
+ # ## Basic Usage
955
+ #
956
+ # A waiter will call an API operation until:
957
+ #
958
+ # * It is successful
959
+ # * It enters a terminal state
960
+ # * It makes the maximum number of attempts
961
+ #
962
+ # In between attempts, the waiter will sleep.
963
+ #
964
+ # # polls in a loop, sleeping between attempts
965
+ # client.waiter_until(waiter_name, params)
966
+ #
967
+ # ## Configuration
968
+ #
969
+ # You can configure the maximum number of polling attempts, and the
970
+ # delay (in seconds) between each polling attempt. You can pass
971
+ # configuration as the final arguments hash.
972
+ #
973
+ # # poll for ~25 seconds
974
+ # client.wait_until(waiter_name, params, {
975
+ # max_attempts: 5,
976
+ # delay: 5,
977
+ # })
978
+ #
979
+ # ## Callbacks
980
+ #
981
+ # You can be notified before each polling attempt and before each
982
+ # delay. If you throw `:success` or `:failure` from these callbacks,
983
+ # it will terminate the waiter.
984
+ #
985
+ # started_at = Time.now
986
+ # client.wait_until(waiter_name, params, {
987
+ #
988
+ # # disable max attempts
989
+ # max_attempts: nil,
990
+ #
991
+ # # poll for 1 hour, instead of a number of attempts
992
+ # before_wait: -> (attempts, response) do
993
+ # throw :failure if Time.now - started_at > 3600
994
+ # end
995
+ # })
996
+ #
997
+ # ## Handling Errors
998
+ #
999
+ # When a waiter is unsuccessful, it will raise an error.
1000
+ # All of the failure errors extend from
1001
+ # {Aws::Waiters::Errors::WaiterFailed}.
1002
+ #
1003
+ # begin
1004
+ # client.wait_until(...)
1005
+ # rescue Aws::Waiters::Errors::WaiterFailed
1006
+ # # resource did not enter the desired state in time
1007
+ # end
1008
+ #
1009
+ # ## Valid Waiters
1010
+ #
1011
+ # The following table lists the valid waiter names, the operations they call,
1012
+ # and the default `:delay` and `:max_attempts` values.
1013
+ #
1014
+ # | waiter_name | params | :delay | :max_attempts |
1015
+ # | ------------- | ------------------ | -------- | ------------- |
1016
+ # | fleet_started | {#describe_fleets} | 30 | 40 |
1017
+ # | fleet_stopped | {#describe_fleets} | 30 | 40 |
1018
+ #
1019
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1020
+ # because the waiter has entered a state that it will not transition
1021
+ # out of, preventing success.
1022
+ #
1023
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1024
+ # maximum number of attempts have been made, and the waiter is not
1025
+ # yet successful.
1026
+ #
1027
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1028
+ # while polling for a resource that is not expected.
1029
+ #
1030
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1031
+ # for an unknown state.
1032
+ #
1033
+ # @return [Boolean] Returns `true` if the waiter was successful.
1034
+ # @param [Symbol] waiter_name
1035
+ # @param [Hash] params ({})
1036
+ # @param [Hash] options ({})
1037
+ # @option options [Integer] :max_attempts
1038
+ # @option options [Integer] :delay
1039
+ # @option options [Proc] :before_attempt
1040
+ # @option options [Proc] :before_wait
1041
+ def wait_until(waiter_name, params = {}, options = {})
1042
+ w = waiter(waiter_name, options)
1043
+ yield(w.waiter) if block_given? # deprecated
1044
+ w.wait(params)
1045
+ end
1046
+
1047
+ # @api private
1048
+ # @deprecated
1049
+ def waiter_names
1050
+ waiters.keys
1051
+ end
1052
+
1053
+ private
1054
+
1055
+ # @param [Symbol] waiter_name
1056
+ # @param [Hash] options ({})
1057
+ def waiter(waiter_name, options = {})
1058
+ waiter_class = waiters[waiter_name]
1059
+ if waiter_class
1060
+ waiter_class.new(options.merge(client: self))
1061
+ else
1062
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
876
1063
  end
1064
+ end
877
1065
 
878
- class << self
1066
+ def waiters
1067
+ {
1068
+ fleet_started: Waiters::FleetStarted,
1069
+ fleet_stopped: Waiters::FleetStopped
1070
+ }
1071
+ end
879
1072
 
880
- # @api private
881
- attr_reader :identifier
1073
+ class << self
882
1074
 
883
- # @api private
884
- def errors_module
885
- Errors
886
- end
1075
+ # @api private
1076
+ attr_reader :identifier
887
1077
 
1078
+ # @api private
1079
+ def errors_module
1080
+ Errors
888
1081
  end
1082
+
889
1083
  end
890
1084
  end
891
1085
  end