aws-sdk-licensemanager 1.0.0

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