aws-sdk-licensemanager 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 485887c87f4a3217bc8f86d1f1161d545ae5fecf
4
+ data.tar.gz: b88dabccc8f3a344ea921635234b6ffab5f7a191
5
+ SHA512:
6
+ metadata.gz: 5424ca908881b45ad67f163d54617038574127de902eebf16d8dda6c6ada29e0f47cb6270665a3d36eacd110e5cd2a26e4bc4740b7f5b9903951b212df74b94a
7
+ data.tar.gz: 7b99f9bba92bda2b842029eb30f45e68f142b09faab82a7a968210bf1b9ab75fd5546c57fc81dc4605fec50ea3400eed4e57302b03f09f18f80a813a5c1bbeb0
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-licensemanager/types'
12
+ require_relative 'aws-sdk-licensemanager/client_api'
13
+ require_relative 'aws-sdk-licensemanager/client'
14
+ require_relative 'aws-sdk-licensemanager/errors'
15
+ require_relative 'aws-sdk-licensemanager/resource'
16
+ require_relative 'aws-sdk-licensemanager/customizations'
17
+
18
+ # This module provides support for AWS License Manager. This module is available in the
19
+ # `aws-sdk-licensemanager` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS License Manager all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::LicenseManager::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::LicenseManager
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,920 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/signature_v4.rb'
27
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
28
+
29
+ Aws::Plugins::GlobalConfiguration.add_identifier(:licensemanager)
30
+
31
+ module Aws::LicenseManager
32
+ class Client < Seahorse::Client::Base
33
+
34
+ include Aws::ClientStubs
35
+
36
+ @identifier = :licensemanager
37
+
38
+ set_api(ClientApi::API)
39
+
40
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
41
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
42
+ add_plugin(Aws::Plugins::Logging)
43
+ add_plugin(Aws::Plugins::ParamConverter)
44
+ add_plugin(Aws::Plugins::ParamValidator)
45
+ add_plugin(Aws::Plugins::UserAgent)
46
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
47
+ add_plugin(Aws::Plugins::RetryErrors)
48
+ add_plugin(Aws::Plugins::GlobalConfiguration)
49
+ add_plugin(Aws::Plugins::RegionalEndpoint)
50
+ add_plugin(Aws::Plugins::EndpointDiscovery)
51
+ add_plugin(Aws::Plugins::EndpointPattern)
52
+ add_plugin(Aws::Plugins::ResponsePaging)
53
+ add_plugin(Aws::Plugins::StubResponses)
54
+ add_plugin(Aws::Plugins::IdempotencyToken)
55
+ add_plugin(Aws::Plugins::JsonvalueConverter)
56
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
58
+ add_plugin(Aws::Plugins::SignatureV4)
59
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
60
+
61
+ # @overload initialize(options)
62
+ # @param [Hash] options
63
+ # @option options [required, Aws::CredentialProvider] :credentials
64
+ # Your AWS credentials. This can be an instance of any one of the
65
+ # following classes:
66
+ #
67
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
68
+ # credentials.
69
+ #
70
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
71
+ # from an EC2 IMDS on an EC2 instance.
72
+ #
73
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
74
+ # shared file, such as `~/.aws/config`.
75
+ #
76
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
77
+ #
78
+ # When `:credentials` are not configured directly, the following
79
+ # locations will be searched for credentials:
80
+ #
81
+ # * `Aws.config[:credentials]`
82
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
83
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
84
+ # * `~/.aws/credentials`
85
+ # * `~/.aws/config`
86
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
87
+ # very aggressive. Construct and pass an instance of
88
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
89
+ # timeouts.
90
+ #
91
+ # @option options [required, String] :region
92
+ # The AWS region to connect to. The configured `:region` is
93
+ # used to determine the service `:endpoint`. When not passed,
94
+ # a default `:region` is search for in the following locations:
95
+ #
96
+ # * `Aws.config[:region]`
97
+ # * `ENV['AWS_REGION']`
98
+ # * `ENV['AMAZON_REGION']`
99
+ # * `ENV['AWS_DEFAULT_REGION']`
100
+ # * `~/.aws/credentials`
101
+ # * `~/.aws/config`
102
+ #
103
+ # @option options [String] :access_key_id
104
+ #
105
+ # @option options [Boolean] :active_endpoint_cache (false)
106
+ # When set to `true`, a thread polling for endpoints will be running in
107
+ # the background every 60 secs (default). Defaults to `false`.
108
+ #
109
+ # @option options [Boolean] :client_side_monitoring (false)
110
+ # When `true`, client-side metrics will be collected for all API requests from
111
+ # this client.
112
+ #
113
+ # @option options [String] :client_side_monitoring_client_id ("")
114
+ # Allows you to provide an identifier for this client which will be attached to
115
+ # all generated client side metrics. Defaults to an empty string.
116
+ #
117
+ # @option options [Integer] :client_side_monitoring_port (31000)
118
+ # Required for publishing client metrics. The port that the client side monitoring
119
+ # agent is running on, where client metrics will be published via UDP.
120
+ #
121
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
122
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
123
+ # will use the Client Side Monitoring Agent Publisher.
124
+ #
125
+ # @option options [Boolean] :convert_params (true)
126
+ # When `true`, an attempt is made to coerce request parameters into
127
+ # the required types.
128
+ #
129
+ # @option options [Boolean] :disable_host_prefix_injection (false)
130
+ # Set to true to disable SDK automatically adding host prefix
131
+ # to default service endpoint when available.
132
+ #
133
+ # @option options [String] :endpoint
134
+ # The client endpoint is normally constructed from the `:region`
135
+ # option. You should only configure an `:endpoint` when connecting
136
+ # to test endpoints. This should be avalid HTTP(S) URI.
137
+ #
138
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
139
+ # Used for the maximum size limit of the LRU cache storing endpoints data
140
+ # for endpoint discovery enabled operations. Defaults to 1000.
141
+ #
142
+ # @option options [Integer] :endpoint_cache_max_threads (10)
143
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
144
+ #
145
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
146
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
147
+ # Use this option to config the time interval in seconds for making
148
+ # requests fetching endpoints information. Defaults to 60 sec.
149
+ #
150
+ # @option options [Boolean] :endpoint_discovery (false)
151
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
152
+ #
153
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
154
+ # The log formatter.
155
+ #
156
+ # @option options [Symbol] :log_level (:info)
157
+ # The log level to send messages to the `:logger` at.
158
+ #
159
+ # @option options [Logger] :logger
160
+ # The Logger instance to send log messages to. If this option
161
+ # is not set, logging will be disabled.
162
+ #
163
+ # @option options [String] :profile ("default")
164
+ # Used when loading credentials from the shared credentials file
165
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
166
+ #
167
+ # @option options [Float] :retry_base_delay (0.3)
168
+ # The base delay in seconds used by the default backoff function.
169
+ #
170
+ # @option options [Symbol] :retry_jitter (:none)
171
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
172
+ #
173
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
174
+ #
175
+ # @option options [Integer] :retry_limit (3)
176
+ # The maximum number of times to retry failed requests. Only
177
+ # ~ 500 level server errors and certain ~ 400 level client errors
178
+ # are retried. Generally, these are throttling errors, data
179
+ # checksum errors, networking errors, timeout errors and auth
180
+ # errors from expired credentials.
181
+ #
182
+ # @option options [Integer] :retry_max_delay (0)
183
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
184
+ #
185
+ # @option options [String] :secret_access_key
186
+ #
187
+ # @option options [String] :session_token
188
+ #
189
+ # @option options [Boolean] :simple_json (false)
190
+ # Disables request parameter conversion, validation, and formatting.
191
+ # Also disable response data type conversions. This option is useful
192
+ # when you want to ensure the highest level of performance by
193
+ # avoiding overhead of walking request parameters and response data
194
+ # structures.
195
+ #
196
+ # When `:simple_json` is enabled, the request parameters hash must
197
+ # be formatted exactly as the DynamoDB API expects.
198
+ #
199
+ # @option options [Boolean] :stub_responses (false)
200
+ # Causes the client to return stubbed responses. By default
201
+ # fake responses are generated and returned. You can specify
202
+ # the response data to return or errors to raise by calling
203
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
204
+ #
205
+ # ** Please note ** When response stubbing is enabled, no HTTP
206
+ # requests are made, and retries are disabled.
207
+ #
208
+ # @option options [Boolean] :validate_params (true)
209
+ # When `true`, request parameters are validated before
210
+ # sending the request.
211
+ #
212
+ def initialize(*args)
213
+ super
214
+ end
215
+
216
+ # @!group API Operations
217
+
218
+ # Creates a new license configuration object. A license configuration is
219
+ # an abstraction of a customer license agreement that can be consumed
220
+ # and enforced by License Manager. Components include specifications for
221
+ # the license type (licensing by instance, socket, CPU, or VCPU),
222
+ # tenancy (shared tenancy, Amazon EC2 Dedicated Instance, Amazon EC2
223
+ # Dedicated Host, or any of these), host affinity (how long a VM must be
224
+ # associated with a host), the number of licenses purchased and used.
225
+ #
226
+ # @option params [required, String] :name
227
+ # Name of the license configuration.
228
+ #
229
+ # @option params [String] :description
230
+ # Human-friendly description of the license configuration.
231
+ #
232
+ # @option params [required, String] :license_counting_type
233
+ # Dimension to use to track the license inventory.
234
+ #
235
+ # @option params [Integer] :license_count
236
+ # Number of licenses managed by the license configuration.
237
+ #
238
+ # @option params [Boolean] :license_count_hard_limit
239
+ # Flag indicating whether hard or soft license enforcement is used.
240
+ # Exceeding a hard limit results in the blocked deployment of new
241
+ # instances.
242
+ #
243
+ # @option params [Array<String>] :license_rules
244
+ # Array of configured License Manager rules.
245
+ #
246
+ # @option params [Array<Types::Tag>] :tags
247
+ # The tags to apply to the resources during launch. You can only tag
248
+ # instances and volumes on launch. The specified tags are applied to all
249
+ # instances or volumes that are created during launch. To tag a resource
250
+ # after it has been created, see CreateTags .
251
+ #
252
+ # @return [Types::CreateLicenseConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
253
+ #
254
+ # * {Types::CreateLicenseConfigurationResponse#license_configuration_arn #license_configuration_arn} => String
255
+ #
256
+ # @example Request syntax with placeholder values
257
+ #
258
+ # resp = client.create_license_configuration({
259
+ # name: "String", # required
260
+ # description: "String",
261
+ # license_counting_type: "vCPU", # required, accepts vCPU, Instance, Core, Socket
262
+ # license_count: 1,
263
+ # license_count_hard_limit: false,
264
+ # license_rules: ["String"],
265
+ # tags: [
266
+ # {
267
+ # key: "String",
268
+ # value: "String",
269
+ # },
270
+ # ],
271
+ # })
272
+ #
273
+ # @example Response structure
274
+ #
275
+ # resp.license_configuration_arn #=> String
276
+ #
277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/CreateLicenseConfiguration AWS API Documentation
278
+ #
279
+ # @overload create_license_configuration(params = {})
280
+ # @param [Hash] params ({})
281
+ def create_license_configuration(params = {}, options = {})
282
+ req = build_request(:create_license_configuration, params)
283
+ req.send_request(options)
284
+ end
285
+
286
+ # Deletes an existing license configuration. This action fails if the
287
+ # configuration is in use.
288
+ #
289
+ # @option params [required, String] :license_configuration_arn
290
+ # Unique ID of the configuration object to delete.
291
+ #
292
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
293
+ #
294
+ # @example Request syntax with placeholder values
295
+ #
296
+ # resp = client.delete_license_configuration({
297
+ # license_configuration_arn: "String", # required
298
+ # })
299
+ #
300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/DeleteLicenseConfiguration AWS API Documentation
301
+ #
302
+ # @overload delete_license_configuration(params = {})
303
+ # @param [Hash] params ({})
304
+ def delete_license_configuration(params = {}, options = {})
305
+ req = build_request(:delete_license_configuration, params)
306
+ req.send_request(options)
307
+ end
308
+
309
+ # Returns a detailed description of a license configuration.
310
+ #
311
+ # @option params [required, String] :license_configuration_arn
312
+ # ARN of the license configuration being requested.
313
+ #
314
+ # @return [Types::GetLicenseConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
315
+ #
316
+ # * {Types::GetLicenseConfigurationResponse#license_configuration_id #license_configuration_id} => String
317
+ # * {Types::GetLicenseConfigurationResponse#license_configuration_arn #license_configuration_arn} => String
318
+ # * {Types::GetLicenseConfigurationResponse#name #name} => String
319
+ # * {Types::GetLicenseConfigurationResponse#description #description} => String
320
+ # * {Types::GetLicenseConfigurationResponse#license_counting_type #license_counting_type} => String
321
+ # * {Types::GetLicenseConfigurationResponse#license_rules #license_rules} => Array&lt;String&gt;
322
+ # * {Types::GetLicenseConfigurationResponse#license_count #license_count} => Integer
323
+ # * {Types::GetLicenseConfigurationResponse#license_count_hard_limit #license_count_hard_limit} => Boolean
324
+ # * {Types::GetLicenseConfigurationResponse#consumed_licenses #consumed_licenses} => Integer
325
+ # * {Types::GetLicenseConfigurationResponse#status #status} => String
326
+ # * {Types::GetLicenseConfigurationResponse#owner_account_id #owner_account_id} => String
327
+ # * {Types::GetLicenseConfigurationResponse#consumed_license_summary_list #consumed_license_summary_list} => Array&lt;Types::ConsumedLicenseSummary&gt;
328
+ # * {Types::GetLicenseConfigurationResponse#managed_resource_summary_list #managed_resource_summary_list} => Array&lt;Types::ManagedResourceSummary&gt;
329
+ # * {Types::GetLicenseConfigurationResponse#tags #tags} => Array&lt;Types::Tag&gt;
330
+ #
331
+ # @example Request syntax with placeholder values
332
+ #
333
+ # resp = client.get_license_configuration({
334
+ # license_configuration_arn: "String", # required
335
+ # })
336
+ #
337
+ # @example Response structure
338
+ #
339
+ # resp.license_configuration_id #=> String
340
+ # resp.license_configuration_arn #=> String
341
+ # resp.name #=> String
342
+ # resp.description #=> String
343
+ # resp.license_counting_type #=> String, one of "vCPU", "Instance", "Core", "Socket"
344
+ # resp.license_rules #=> Array
345
+ # resp.license_rules[0] #=> String
346
+ # resp.license_count #=> Integer
347
+ # resp.license_count_hard_limit #=> Boolean
348
+ # resp.consumed_licenses #=> Integer
349
+ # resp.status #=> String
350
+ # resp.owner_account_id #=> String
351
+ # resp.consumed_license_summary_list #=> Array
352
+ # resp.consumed_license_summary_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
353
+ # resp.consumed_license_summary_list[0].consumed_licenses #=> Integer
354
+ # resp.managed_resource_summary_list #=> Array
355
+ # resp.managed_resource_summary_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
356
+ # resp.managed_resource_summary_list[0].association_count #=> Integer
357
+ # resp.tags #=> Array
358
+ # resp.tags[0].key #=> String
359
+ # resp.tags[0].value #=> String
360
+ #
361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetLicenseConfiguration AWS API Documentation
362
+ #
363
+ # @overload get_license_configuration(params = {})
364
+ # @param [Hash] params ({})
365
+ def get_license_configuration(params = {}, options = {})
366
+ req = build_request(:get_license_configuration, params)
367
+ req.send_request(options)
368
+ end
369
+
370
+ # Gets License Manager settings for a region. Exposes the configured S3
371
+ # bucket, SNS topic, etc., for inspection.
372
+ #
373
+ # @return [Types::GetServiceSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
374
+ #
375
+ # * {Types::GetServiceSettingsResponse#s3_bucket_arn #s3_bucket_arn} => String
376
+ # * {Types::GetServiceSettingsResponse#sns_topic_arn #sns_topic_arn} => String
377
+ # * {Types::GetServiceSettingsResponse#organization_configuration #organization_configuration} => Types::OrganizationConfiguration
378
+ # * {Types::GetServiceSettingsResponse#enable_cross_accounts_discovery #enable_cross_accounts_discovery} => Boolean
379
+ #
380
+ # @example Response structure
381
+ #
382
+ # resp.s3_bucket_arn #=> String
383
+ # resp.sns_topic_arn #=> String
384
+ # resp.organization_configuration.enable_integration #=> Boolean
385
+ # resp.enable_cross_accounts_discovery #=> Boolean
386
+ #
387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/GetServiceSettings AWS API Documentation
388
+ #
389
+ # @overload get_service_settings(params = {})
390
+ # @param [Hash] params ({})
391
+ def get_service_settings(params = {}, options = {})
392
+ req = build_request(:get_service_settings, params)
393
+ req.send_request(options)
394
+ end
395
+
396
+ # Lists the resource associations for a license configuration. Resource
397
+ # associations need not consume licenses from a license configuration.
398
+ # For example, an AMI or a stopped instance may not consume a license
399
+ # (depending on the license rules). Use this operation to find all
400
+ # resources associated with a license configuration.
401
+ #
402
+ # @option params [required, String] :license_configuration_arn
403
+ # ARN of a `LicenseConfiguration` object.
404
+ #
405
+ # @option params [Integer] :max_results
406
+ # Maximum number of results to return in a single call. To retrieve the
407
+ # remaining results, make another call with the returned `NextToken`
408
+ # value.
409
+ #
410
+ # @option params [String] :next_token
411
+ # Token for the next set of results.
412
+ #
413
+ # @return [Types::ListAssociationsForLicenseConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
414
+ #
415
+ # * {Types::ListAssociationsForLicenseConfigurationResponse#license_configuration_associations #license_configuration_associations} => Array&lt;Types::LicenseConfigurationAssociation&gt;
416
+ # * {Types::ListAssociationsForLicenseConfigurationResponse#next_token #next_token} => String
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ #
420
+ # resp = client.list_associations_for_license_configuration({
421
+ # license_configuration_arn: "String", # required
422
+ # max_results: 1,
423
+ # next_token: "String",
424
+ # })
425
+ #
426
+ # @example Response structure
427
+ #
428
+ # resp.license_configuration_associations #=> Array
429
+ # resp.license_configuration_associations[0].resource_arn #=> String
430
+ # resp.license_configuration_associations[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
431
+ # resp.license_configuration_associations[0].resource_owner_id #=> String
432
+ # resp.license_configuration_associations[0].association_time #=> Time
433
+ # resp.next_token #=> String
434
+ #
435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListAssociationsForLicenseConfiguration AWS API Documentation
436
+ #
437
+ # @overload list_associations_for_license_configuration(params = {})
438
+ # @param [Hash] params ({})
439
+ def list_associations_for_license_configuration(params = {}, options = {})
440
+ req = build_request(:list_associations_for_license_configuration, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Lists license configuration objects for an account, each containing
445
+ # the name, description, license type, and other license terms modeled
446
+ # from a license agreement.
447
+ #
448
+ # @option params [Array<String>] :license_configuration_arns
449
+ # An array of ARNs for the calling account’s license configurations.
450
+ #
451
+ # @option params [Integer] :max_results
452
+ # Maximum number of results to return in a single call. To retrieve the
453
+ # remaining results, make another call with the returned `NextToken`
454
+ # value.
455
+ #
456
+ # @option params [String] :next_token
457
+ # Token for the next set of results.
458
+ #
459
+ # @option params [Array<Types::Filter>] :filters
460
+ # One or more filters.
461
+ #
462
+ # @return [Types::ListLicenseConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
463
+ #
464
+ # * {Types::ListLicenseConfigurationsResponse#license_configurations #license_configurations} => Array&lt;Types::LicenseConfiguration&gt;
465
+ # * {Types::ListLicenseConfigurationsResponse#next_token #next_token} => String
466
+ #
467
+ # @example Request syntax with placeholder values
468
+ #
469
+ # resp = client.list_license_configurations({
470
+ # license_configuration_arns: ["String"],
471
+ # max_results: 1,
472
+ # next_token: "String",
473
+ # filters: [
474
+ # {
475
+ # name: "FilterName",
476
+ # values: ["FilterValue"],
477
+ # },
478
+ # ],
479
+ # })
480
+ #
481
+ # @example Response structure
482
+ #
483
+ # resp.license_configurations #=> Array
484
+ # resp.license_configurations[0].license_configuration_id #=> String
485
+ # resp.license_configurations[0].license_configuration_arn #=> String
486
+ # resp.license_configurations[0].name #=> String
487
+ # resp.license_configurations[0].description #=> String
488
+ # resp.license_configurations[0].license_counting_type #=> String, one of "vCPU", "Instance", "Core", "Socket"
489
+ # resp.license_configurations[0].license_rules #=> Array
490
+ # resp.license_configurations[0].license_rules[0] #=> String
491
+ # resp.license_configurations[0].license_count #=> Integer
492
+ # resp.license_configurations[0].license_count_hard_limit #=> Boolean
493
+ # resp.license_configurations[0].consumed_licenses #=> Integer
494
+ # resp.license_configurations[0].status #=> String
495
+ # resp.license_configurations[0].owner_account_id #=> String
496
+ # resp.license_configurations[0].consumed_license_summary_list #=> Array
497
+ # resp.license_configurations[0].consumed_license_summary_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
498
+ # resp.license_configurations[0].consumed_license_summary_list[0].consumed_licenses #=> Integer
499
+ # resp.license_configurations[0].managed_resource_summary_list #=> Array
500
+ # resp.license_configurations[0].managed_resource_summary_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
501
+ # resp.license_configurations[0].managed_resource_summary_list[0].association_count #=> Integer
502
+ # resp.next_token #=> String
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseConfigurations AWS API Documentation
505
+ #
506
+ # @overload list_license_configurations(params = {})
507
+ # @param [Hash] params ({})
508
+ def list_license_configurations(params = {}, options = {})
509
+ req = build_request(:list_license_configurations, params)
510
+ req.send_request(options)
511
+ end
512
+
513
+ # Returns the license configuration for a resource.
514
+ #
515
+ # @option params [required, String] :resource_arn
516
+ # ARN of an AMI or Amazon EC2 instance that has an associated license
517
+ # configuration.
518
+ #
519
+ # @option params [Integer] :max_results
520
+ # Maximum number of results to return in a single call. To retrieve the
521
+ # remaining results, make another call with the returned `NextToken`
522
+ # value.
523
+ #
524
+ # @option params [String] :next_token
525
+ # Token for the next set of results.
526
+ #
527
+ # @return [Types::ListLicenseSpecificationsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
528
+ #
529
+ # * {Types::ListLicenseSpecificationsForResourceResponse#license_specifications #license_specifications} => Array&lt;Types::LicenseSpecification&gt;
530
+ # * {Types::ListLicenseSpecificationsForResourceResponse#next_token #next_token} => String
531
+ #
532
+ # @example Request syntax with placeholder values
533
+ #
534
+ # resp = client.list_license_specifications_for_resource({
535
+ # resource_arn: "String", # required
536
+ # max_results: 1,
537
+ # next_token: "String",
538
+ # })
539
+ #
540
+ # @example Response structure
541
+ #
542
+ # resp.license_specifications #=> Array
543
+ # resp.license_specifications[0].license_configuration_arn #=> String
544
+ # resp.next_token #=> String
545
+ #
546
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListLicenseSpecificationsForResource AWS API Documentation
547
+ #
548
+ # @overload list_license_specifications_for_resource(params = {})
549
+ # @param [Hash] params ({})
550
+ def list_license_specifications_for_resource(params = {}, options = {})
551
+ req = build_request(:list_license_specifications_for_resource, params)
552
+ req.send_request(options)
553
+ end
554
+
555
+ # Returns a detailed list of resources.
556
+ #
557
+ # @option params [Integer] :max_results
558
+ # Maximum number of results to return in a single call. To retrieve the
559
+ # remaining results, make another call with the returned `NextToken`
560
+ # value.
561
+ #
562
+ # @option params [String] :next_token
563
+ # Token for the next set of results.
564
+ #
565
+ # @option params [Array<Types::InventoryFilter>] :filters
566
+ # One or more filters.
567
+ #
568
+ # @return [Types::ListResourceInventoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
569
+ #
570
+ # * {Types::ListResourceInventoryResponse#resource_inventory_list #resource_inventory_list} => Array&lt;Types::ResourceInventory&gt;
571
+ # * {Types::ListResourceInventoryResponse#next_token #next_token} => String
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ #
575
+ # resp = client.list_resource_inventory({
576
+ # max_results: 1,
577
+ # next_token: "String",
578
+ # filters: [
579
+ # {
580
+ # name: "String", # required
581
+ # condition: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, BEGINS_WITH, CONTAINS
582
+ # value: "String",
583
+ # },
584
+ # ],
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ #
589
+ # resp.resource_inventory_list #=> Array
590
+ # resp.resource_inventory_list[0].resource_id #=> String
591
+ # resp.resource_inventory_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
592
+ # resp.resource_inventory_list[0].resource_arn #=> String
593
+ # resp.resource_inventory_list[0].platform #=> String
594
+ # resp.resource_inventory_list[0].platform_version #=> String
595
+ # resp.resource_inventory_list[0].resource_owning_account_id #=> String
596
+ # resp.next_token #=> String
597
+ #
598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListResourceInventory AWS API Documentation
599
+ #
600
+ # @overload list_resource_inventory(params = {})
601
+ # @param [Hash] params ({})
602
+ def list_resource_inventory(params = {}, options = {})
603
+ req = build_request(:list_resource_inventory, params)
604
+ req.send_request(options)
605
+ end
606
+
607
+ # Lists tags attached to a resource.
608
+ #
609
+ # @option params [required, String] :resource_arn
610
+ # ARN for the resource.
611
+ #
612
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
613
+ #
614
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
615
+ #
616
+ # @example Request syntax with placeholder values
617
+ #
618
+ # resp = client.list_tags_for_resource({
619
+ # resource_arn: "String", # required
620
+ # })
621
+ #
622
+ # @example Response structure
623
+ #
624
+ # resp.tags #=> Array
625
+ # resp.tags[0].key #=> String
626
+ # resp.tags[0].value #=> String
627
+ #
628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListTagsForResource AWS API Documentation
629
+ #
630
+ # @overload list_tags_for_resource(params = {})
631
+ # @param [Hash] params ({})
632
+ def list_tags_for_resource(params = {}, options = {})
633
+ req = build_request(:list_tags_for_resource, params)
634
+ req.send_request(options)
635
+ end
636
+
637
+ # Lists all license usage records for a license configuration,
638
+ # displaying license consumption details by resource at a selected point
639
+ # in time. Use this action to audit the current license consumption for
640
+ # any license inventory and configuration.
641
+ #
642
+ # @option params [required, String] :license_configuration_arn
643
+ # ARN of the targeted `LicenseConfiguration` object.
644
+ #
645
+ # @option params [Integer] :max_results
646
+ # Maximum number of results to return in a single call. To retrieve the
647
+ # remaining results, make another call with the returned `NextToken`
648
+ # value.
649
+ #
650
+ # @option params [String] :next_token
651
+ # Token for the next set of results.
652
+ #
653
+ # @option params [Array<Types::Filter>] :filters
654
+ # List of filters to apply.
655
+ #
656
+ # @return [Types::ListUsageForLicenseConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
657
+ #
658
+ # * {Types::ListUsageForLicenseConfigurationResponse#license_configuration_usage_list #license_configuration_usage_list} => Array&lt;Types::LicenseConfigurationUsage&gt;
659
+ # * {Types::ListUsageForLicenseConfigurationResponse#next_token #next_token} => String
660
+ #
661
+ # @example Request syntax with placeholder values
662
+ #
663
+ # resp = client.list_usage_for_license_configuration({
664
+ # license_configuration_arn: "String", # required
665
+ # max_results: 1,
666
+ # next_token: "String",
667
+ # filters: [
668
+ # {
669
+ # name: "FilterName",
670
+ # values: ["FilterValue"],
671
+ # },
672
+ # ],
673
+ # })
674
+ #
675
+ # @example Response structure
676
+ #
677
+ # resp.license_configuration_usage_list #=> Array
678
+ # resp.license_configuration_usage_list[0].resource_arn #=> String
679
+ # resp.license_configuration_usage_list[0].resource_type #=> String, one of "EC2_INSTANCE", "EC2_HOST", "EC2_AMI"
680
+ # resp.license_configuration_usage_list[0].resource_status #=> String
681
+ # resp.license_configuration_usage_list[0].resource_owner_id #=> String
682
+ # resp.license_configuration_usage_list[0].association_time #=> Time
683
+ # resp.license_configuration_usage_list[0].consumed_licenses #=> Integer
684
+ # resp.next_token #=> String
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/ListUsageForLicenseConfiguration AWS API Documentation
687
+ #
688
+ # @overload list_usage_for_license_configuration(params = {})
689
+ # @param [Hash] params ({})
690
+ def list_usage_for_license_configuration(params = {}, options = {})
691
+ req = build_request(:list_usage_for_license_configuration, params)
692
+ req.send_request(options)
693
+ end
694
+
695
+ # Attach one of more tags to any resource.
696
+ #
697
+ # @option params [required, String] :resource_arn
698
+ # Resource of the ARN to be tagged.
699
+ #
700
+ # @option params [required, Array<Types::Tag>] :tags
701
+ # Names of the tags to attach to the resource.
702
+ #
703
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
704
+ #
705
+ # @example Request syntax with placeholder values
706
+ #
707
+ # resp = client.tag_resource({
708
+ # resource_arn: "String", # required
709
+ # tags: [ # required
710
+ # {
711
+ # key: "String",
712
+ # value: "String",
713
+ # },
714
+ # ],
715
+ # })
716
+ #
717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/TagResource AWS API Documentation
718
+ #
719
+ # @overload tag_resource(params = {})
720
+ # @param [Hash] params ({})
721
+ def tag_resource(params = {}, options = {})
722
+ req = build_request(:tag_resource, params)
723
+ req.send_request(options)
724
+ end
725
+
726
+ # Remove tags from a resource.
727
+ #
728
+ # @option params [required, String] :resource_arn
729
+ # ARN of the resource.
730
+ #
731
+ # @option params [required, Array<String>] :tag_keys
732
+ # List keys identifying tags to remove.
733
+ #
734
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.untag_resource({
739
+ # resource_arn: "String", # required
740
+ # tag_keys: ["String"], # required
741
+ # })
742
+ #
743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UntagResource AWS API Documentation
744
+ #
745
+ # @overload untag_resource(params = {})
746
+ # @param [Hash] params ({})
747
+ def untag_resource(params = {}, options = {})
748
+ req = build_request(:untag_resource, params)
749
+ req.send_request(options)
750
+ end
751
+
752
+ # Modifies the attributes of an existing license configuration object. A
753
+ # license configuration is an abstraction of a customer license
754
+ # agreement that can be consumed and enforced by License Manager.
755
+ # Components include specifications for the license type (Instances,
756
+ # cores, sockets, VCPUs), tenancy (shared or Dedicated Host), host
757
+ # affinity (how long a VM is associated with a host), the number of
758
+ # licenses purchased and used.
759
+ #
760
+ # @option params [required, String] :license_configuration_arn
761
+ # ARN for a license configuration.
762
+ #
763
+ # @option params [String] :license_configuration_status
764
+ # New status of the license configuration (`ACTIVE` or `INACTIVE`).
765
+ #
766
+ # @option params [Array<String>] :license_rules
767
+ # List of flexible text strings designating license rules.
768
+ #
769
+ # @option params [Integer] :license_count
770
+ # New number of licenses managed by the license configuration.
771
+ #
772
+ # @option params [Boolean] :license_count_hard_limit
773
+ # Sets the number of available licenses as a hard limit.
774
+ #
775
+ # @option params [String] :name
776
+ # New name of the license configuration.
777
+ #
778
+ # @option params [String] :description
779
+ # New human-friendly description of the license configuration.
780
+ #
781
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
782
+ #
783
+ # @example Request syntax with placeholder values
784
+ #
785
+ # resp = client.update_license_configuration({
786
+ # license_configuration_arn: "String", # required
787
+ # license_configuration_status: "AVAILABLE", # accepts AVAILABLE, DISABLED
788
+ # license_rules: ["String"],
789
+ # license_count: 1,
790
+ # license_count_hard_limit: false,
791
+ # name: "String",
792
+ # description: "String",
793
+ # })
794
+ #
795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseConfiguration AWS API Documentation
796
+ #
797
+ # @overload update_license_configuration(params = {})
798
+ # @param [Hash] params ({})
799
+ def update_license_configuration(params = {}, options = {})
800
+ req = build_request(:update_license_configuration, params)
801
+ req.send_request(options)
802
+ end
803
+
804
+ # Adds or removes license configurations for a specified AWS resource.
805
+ # This operation currently supports updating the license specifications
806
+ # of AMIs, instances, and hosts. Launch templates and AWS CloudFormation
807
+ # templates are not managed from this operation as those resources send
808
+ # the license configurations directly to a resource creation operation,
809
+ # such as `RunInstances`.
810
+ #
811
+ # @option params [required, String] :resource_arn
812
+ # ARN for an AWS server resource.
813
+ #
814
+ # @option params [Array<Types::LicenseSpecification>] :add_license_specifications
815
+ # License configuration ARNs to be added to a resource.
816
+ #
817
+ # @option params [Array<Types::LicenseSpecification>] :remove_license_specifications
818
+ # License configuration ARNs to be removed from a resource.
819
+ #
820
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
821
+ #
822
+ # @example Request syntax with placeholder values
823
+ #
824
+ # resp = client.update_license_specifications_for_resource({
825
+ # resource_arn: "String", # required
826
+ # add_license_specifications: [
827
+ # {
828
+ # license_configuration_arn: "String", # required
829
+ # },
830
+ # ],
831
+ # remove_license_specifications: [
832
+ # {
833
+ # license_configuration_arn: "String", # required
834
+ # },
835
+ # ],
836
+ # })
837
+ #
838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateLicenseSpecificationsForResource AWS API Documentation
839
+ #
840
+ # @overload update_license_specifications_for_resource(params = {})
841
+ # @param [Hash] params ({})
842
+ def update_license_specifications_for_resource(params = {}, options = {})
843
+ req = build_request(:update_license_specifications_for_resource, params)
844
+ req.send_request(options)
845
+ end
846
+
847
+ # Updates License Manager service settings.
848
+ #
849
+ # @option params [String] :s3_bucket_arn
850
+ # ARN of the Amazon S3 bucket where License Manager information is
851
+ # stored.
852
+ #
853
+ # @option params [String] :sns_topic_arn
854
+ # ARN of the Amazon SNS topic used for License Manager alerts.
855
+ #
856
+ # @option params [Types::OrganizationConfiguration] :organization_configuration
857
+ # Integrates AWS Organizations with License Manager for cross-account
858
+ # discovery.
859
+ #
860
+ # @option params [Boolean] :enable_cross_accounts_discovery
861
+ # Activates cross-account discovery.
862
+ #
863
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
864
+ #
865
+ # @example Request syntax with placeholder values
866
+ #
867
+ # resp = client.update_service_settings({
868
+ # s3_bucket_arn: "String",
869
+ # sns_topic_arn: "String",
870
+ # organization_configuration: {
871
+ # enable_integration: false, # required
872
+ # },
873
+ # enable_cross_accounts_discovery: false,
874
+ # })
875
+ #
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/license-manager-2018-08-01/UpdateServiceSettings AWS API Documentation
877
+ #
878
+ # @overload update_service_settings(params = {})
879
+ # @param [Hash] params ({})
880
+ def update_service_settings(params = {}, options = {})
881
+ req = build_request(:update_service_settings, params)
882
+ req.send_request(options)
883
+ end
884
+
885
+ # @!endgroup
886
+
887
+ # @param params ({})
888
+ # @api private
889
+ def build_request(operation_name, params = {})
890
+ handlers = @handlers.for(operation_name)
891
+ context = Seahorse::Client::RequestContext.new(
892
+ operation_name: operation_name,
893
+ operation: config.api.operation(operation_name),
894
+ client: self,
895
+ params: params,
896
+ config: config)
897
+ context[:gem_name] = 'aws-sdk-licensemanager'
898
+ context[:gem_version] = '1.0.0'
899
+ Seahorse::Client::Request.new(handlers, context)
900
+ end
901
+
902
+ # @api private
903
+ # @deprecated
904
+ def waiter_names
905
+ []
906
+ end
907
+
908
+ class << self
909
+
910
+ # @api private
911
+ attr_reader :identifier
912
+
913
+ # @api private
914
+ def errors_module
915
+ Errors
916
+ end
917
+
918
+ end
919
+ end
920
+ end