aws-sdk-ec2 1.431.0 → 1.522.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +465 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +26 -16
  5. data/lib/aws-sdk-ec2/client.rb +10867 -4155
  6. data/lib/aws-sdk-ec2/client_api.rb +2924 -510
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +14 -18
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8608
  15. data/lib/aws-sdk-ec2/image.rb +166 -95
  16. data/lib/aws-sdk-ec2/instance.rb +425 -356
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +94 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +37 -19
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +20 -1242
  26. data/lib/aws-sdk-ec2/resource.rb +944 -811
  27. data/lib/aws-sdk-ec2/route.rb +34 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +44 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +391 -359
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +13807 -4774
  35. data/lib/aws-sdk-ec2/volume.rb +157 -119
  36. data/lib/aws-sdk-ec2/vpc.rb +278 -224
  37. data/lib/aws-sdk-ec2/vpc_address.rb +31 -21
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2.rb +40 -36
  40. data/sig/classic_address.rbs +105 -0
  41. data/sig/client.rbs +14622 -0
  42. data/sig/dhcp_options.rbs +84 -0
  43. data/sig/errors.rbs +16 -0
  44. data/sig/image.rbs +228 -0
  45. data/sig/instance.rbs +564 -0
  46. data/sig/internet_gateway.rbs +91 -0
  47. data/sig/key_pair.rbs +54 -0
  48. data/sig/key_pair_info.rbs +63 -0
  49. data/sig/nat_gateway.rbs +107 -0
  50. data/sig/network_acl.rbs +144 -0
  51. data/sig/network_interface.rbs +239 -0
  52. data/sig/network_interface_association.rbs +62 -0
  53. data/sig/placement_group.rbs +78 -0
  54. data/sig/resource.rbs +1042 -0
  55. data/sig/route.rbs +113 -0
  56. data/sig/route_table.rbs +117 -0
  57. data/sig/route_table_association.rbs +69 -0
  58. data/sig/security_group.rbs +311 -0
  59. data/sig/snapshot.rbs +204 -0
  60. data/sig/subnet.rbs +436 -0
  61. data/sig/tag.rbs +63 -0
  62. data/sig/types.rbs +16812 -0
  63. data/sig/volume.rbs +210 -0
  64. data/sig/vpc.rbs +404 -0
  65. data/sig/vpc_address.rbs +101 -0
  66. data/sig/vpc_peering_connection.rbs +84 -0
  67. data/sig/waiters.rbs +664 -0
  68. metadata +44 -18
@@ -35,138 +35,6 @@ module Aws::EC2
35
35
  end
36
36
  alias :instance_id :id
37
37
 
38
- # The AMI launch index, which can be used to find this instance in the
39
- # launch group.
40
- # @return [Integer]
41
- def ami_launch_index
42
- data[:ami_launch_index]
43
- end
44
-
45
- # The ID of the AMI used to launch the instance.
46
- # @return [String]
47
- def image_id
48
- data[:image_id]
49
- end
50
-
51
- # The instance type.
52
- # @return [String]
53
- def instance_type
54
- data[:instance_type]
55
- end
56
-
57
- # The kernel associated with this instance, if applicable.
58
- # @return [String]
59
- def kernel_id
60
- data[:kernel_id]
61
- end
62
-
63
- # The name of the key pair, if this instance was launched with an
64
- # associated key pair.
65
- # @return [String]
66
- def key_name
67
- data[:key_name]
68
- end
69
-
70
- # The time the instance was launched.
71
- # @return [Time]
72
- def launch_time
73
- data[:launch_time]
74
- end
75
-
76
- # The monitoring for the instance.
77
- # @return [Types::Monitoring]
78
- def monitoring
79
- data[:monitoring]
80
- end
81
-
82
- # The location where the instance launched, if applicable.
83
- # @return [Types::Placement]
84
- def placement
85
- data[:placement]
86
- end
87
-
88
- # The platform. This value is `windows` for Windows instances;
89
- # otherwise, it is empty.
90
- # @return [String]
91
- def platform
92
- data[:platform]
93
- end
94
-
95
- # \[IPv4 only\] The private DNS hostname name assigned to the instance.
96
- # This DNS hostname can only be used inside the Amazon EC2 network. This
97
- # name is not available until the instance enters the `running` state.
98
- #
99
- # The Amazon-provided DNS server resolves Amazon-provided private DNS
100
- # hostnames if you've enabled DNS resolution and DNS hostnames in your
101
- # VPC. If you are not using the Amazon-provided DNS server in your VPC,
102
- # your custom domain name servers must resolve the hostname as
103
- # appropriate.
104
- # @return [String]
105
- def private_dns_name
106
- data[:private_dns_name]
107
- end
108
-
109
- # The private IPv4 address assigned to the instance.
110
- # @return [String]
111
- def private_ip_address
112
- data[:private_ip_address]
113
- end
114
-
115
- # The product codes attached to this instance, if applicable.
116
- # @return [Array<Types::ProductCode>]
117
- def product_codes
118
- data[:product_codes]
119
- end
120
-
121
- # \[IPv4 only\] The public DNS name assigned to the instance. This name
122
- # is not available until the instance enters the `running` state. This
123
- # name is only available if you've enabled DNS hostnames for your VPC.
124
- # @return [String]
125
- def public_dns_name
126
- data[:public_dns_name]
127
- end
128
-
129
- # The public IPv4 address, or the Carrier IP address assigned to the
130
- # instance, if applicable.
131
- #
132
- # A Carrier IP address only applies to an instance launched in a subnet
133
- # associated with a Wavelength Zone.
134
- # @return [String]
135
- def public_ip_address
136
- data[:public_ip_address]
137
- end
138
-
139
- # The RAM disk associated with this instance, if applicable.
140
- # @return [String]
141
- def ramdisk_id
142
- data[:ramdisk_id]
143
- end
144
-
145
- # The current state of the instance.
146
- # @return [Types::InstanceState]
147
- def state
148
- data[:state]
149
- end
150
-
151
- # The reason for the most recent state transition. This might be an
152
- # empty string.
153
- # @return [String]
154
- def state_transition_reason
155
- data[:state_transition_reason]
156
- end
157
-
158
- # The ID of the subnet in which the instance is running.
159
- # @return [String]
160
- def subnet_id
161
- data[:subnet_id]
162
- end
163
-
164
- # The ID of the VPC in which the instance is running.
165
- # @return [String]
166
- def vpc_id
167
- data[:vpc_id]
168
- end
169
-
170
38
  # The architecture of the image.
171
39
  # @return [String]
172
40
  def architecture
@@ -221,13 +89,21 @@ module Aws::EC2
221
89
  data[:instance_lifecycle]
222
90
  end
223
91
 
224
- # The Elastic GPU associated with the instance.
92
+ # Deprecated.
93
+ #
94
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
95
+ #
96
+ # </note>
225
97
  # @return [Array<Types::ElasticGpuAssociation>]
226
98
  def elastic_gpu_associations
227
99
  data[:elastic_gpu_associations]
228
100
  end
229
101
 
230
- # The elastic inference accelerator associated with the instance.
102
+ # Deprecated
103
+ #
104
+ # <note markdown="1"> Amazon Elastic Inference is no longer available.
105
+ #
106
+ # </note>
231
107
  # @return [Array<Types::ElasticInferenceAcceleratorAssociation>]
232
108
  def elastic_inference_accelerator_associations
233
109
  data[:elastic_inference_accelerator_associations]
@@ -430,6 +306,153 @@ module Aws::EC2
430
306
  data[:current_instance_boot_mode]
431
307
  end
432
308
 
309
+ # Contains settings for the network performance options for your
310
+ # instance.
311
+ # @return [Types::InstanceNetworkPerformanceOptions]
312
+ def network_performance_options
313
+ data[:network_performance_options]
314
+ end
315
+
316
+ # The service provider that manages the instance.
317
+ # @return [Types::OperatorResponse]
318
+ def operator
319
+ data[:operator]
320
+ end
321
+
322
+ # The ID of the AMI used to launch the instance.
323
+ # @return [String]
324
+ def image_id
325
+ data[:image_id]
326
+ end
327
+
328
+ # The current state of the instance.
329
+ # @return [Types::InstanceState]
330
+ def state
331
+ data[:state]
332
+ end
333
+
334
+ # \[IPv4 only\] The private DNS hostname name assigned to the instance.
335
+ # This DNS hostname can only be used inside the Amazon EC2 network. This
336
+ # name is not available until the instance enters the `running` state.
337
+ #
338
+ # The Amazon-provided DNS server resolves Amazon-provided private DNS
339
+ # hostnames if you've enabled DNS resolution and DNS hostnames in your
340
+ # VPC. If you are not using the Amazon-provided DNS server in your VPC,
341
+ # your custom domain name servers must resolve the hostname as
342
+ # appropriate.
343
+ # @return [String]
344
+ def private_dns_name
345
+ data[:private_dns_name]
346
+ end
347
+
348
+ # \[IPv4 only\] The public DNS name assigned to the instance. This name
349
+ # is not available until the instance enters the `running` state. This
350
+ # name is only available if you've enabled DNS hostnames for your VPC.
351
+ # @return [String]
352
+ def public_dns_name
353
+ data[:public_dns_name]
354
+ end
355
+
356
+ # The reason for the most recent state transition. This might be an
357
+ # empty string.
358
+ # @return [String]
359
+ def state_transition_reason
360
+ data[:state_transition_reason]
361
+ end
362
+
363
+ # The name of the key pair, if this instance was launched with an
364
+ # associated key pair.
365
+ # @return [String]
366
+ def key_name
367
+ data[:key_name]
368
+ end
369
+
370
+ # The AMI launch index, which can be used to find this instance in the
371
+ # launch group.
372
+ # @return [Integer]
373
+ def ami_launch_index
374
+ data[:ami_launch_index]
375
+ end
376
+
377
+ # The product codes attached to this instance, if applicable.
378
+ # @return [Array<Types::ProductCode>]
379
+ def product_codes
380
+ data[:product_codes]
381
+ end
382
+
383
+ # The instance type.
384
+ # @return [String]
385
+ def instance_type
386
+ data[:instance_type]
387
+ end
388
+
389
+ # The time that the instance was last launched. To determine the time
390
+ # that instance was first launched, see the attachment time for the
391
+ # primary network interface.
392
+ # @return [Time]
393
+ def launch_time
394
+ data[:launch_time]
395
+ end
396
+
397
+ # The location where the instance launched, if applicable.
398
+ # @return [Types::Placement]
399
+ def placement
400
+ data[:placement]
401
+ end
402
+
403
+ # The kernel associated with this instance, if applicable.
404
+ # @return [String]
405
+ def kernel_id
406
+ data[:kernel_id]
407
+ end
408
+
409
+ # The RAM disk associated with this instance, if applicable.
410
+ # @return [String]
411
+ def ramdisk_id
412
+ data[:ramdisk_id]
413
+ end
414
+
415
+ # The platform. This value is `windows` for Windows instances;
416
+ # otherwise, it is empty.
417
+ # @return [String]
418
+ def platform
419
+ data[:platform]
420
+ end
421
+
422
+ # The monitoring for the instance.
423
+ # @return [Types::Monitoring]
424
+ def monitoring
425
+ data[:monitoring]
426
+ end
427
+
428
+ # The ID of the subnet in which the instance is running.
429
+ # @return [String]
430
+ def subnet_id
431
+ data[:subnet_id]
432
+ end
433
+
434
+ # The ID of the VPC in which the instance is running.
435
+ # @return [String]
436
+ def vpc_id
437
+ data[:vpc_id]
438
+ end
439
+
440
+ # The private IPv4 address assigned to the instance.
441
+ # @return [String]
442
+ def private_ip_address
443
+ data[:private_ip_address]
444
+ end
445
+
446
+ # The public IPv4 address, or the Carrier IP address assigned to the
447
+ # instance, if applicable.
448
+ #
449
+ # A Carrier IP address only applies to an instance launched in a subnet
450
+ # associated with a Wavelength Zone.
451
+ # @return [String]
452
+ def public_ip_address
453
+ data[:public_ip_address]
454
+ end
455
+
433
456
  # @!endgroup
434
457
 
435
458
  # @return [Client]
@@ -444,7 +467,7 @@ module Aws::EC2
444
467
  #
445
468
  # @return [self]
446
469
  def load
447
- resp = Aws::Plugins::UserAgent.feature('resource') do
470
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
448
471
  @client.describe_instances(instance_ids: [@id])
449
472
  end
450
473
  @data = resp.reservations[0].instances[0]
@@ -491,7 +514,7 @@ module Aws::EC2
491
514
  options, params = separate_params_and_options(options)
492
515
  waiter = Waiters::InstanceExists.new(options)
493
516
  yield_waiter_and_warn(waiter, &block) if block_given?
494
- resp = Aws::Plugins::UserAgent.feature('resource') do
517
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
495
518
  waiter.wait(params.merge(instance_ids: [@id]))
496
519
  end
497
520
  Instance.new({
@@ -511,7 +534,7 @@ module Aws::EC2
511
534
  options, params = separate_params_and_options(options)
512
535
  waiter = Waiters::InstanceRunning.new(options)
513
536
  yield_waiter_and_warn(waiter, &block) if block_given?
514
- resp = Aws::Plugins::UserAgent.feature('resource') do
537
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
515
538
  waiter.wait(params.merge(instance_ids: [@id]))
516
539
  end
517
540
  Instance.new({
@@ -531,7 +554,7 @@ module Aws::EC2
531
554
  options, params = separate_params_and_options(options)
532
555
  waiter = Waiters::InstanceStopped.new(options)
533
556
  yield_waiter_and_warn(waiter, &block) if block_given?
534
- resp = Aws::Plugins::UserAgent.feature('resource') do
557
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
535
558
  waiter.wait(params.merge(instance_ids: [@id]))
536
559
  end
537
560
  Instance.new({
@@ -551,7 +574,7 @@ module Aws::EC2
551
574
  options, params = separate_params_and_options(options)
552
575
  waiter = Waiters::InstanceTerminated.new(options)
553
576
  yield_waiter_and_warn(waiter, &block) if block_given?
554
- resp = Aws::Plugins::UserAgent.feature('resource') do
577
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
555
578
  waiter.wait(params.merge(instance_ids: [@id]))
556
579
  end
557
580
  Instance.new({
@@ -655,7 +678,7 @@ module Aws::EC2
655
678
  :retry
656
679
  end
657
680
  end
658
- Aws::Plugins::UserAgent.feature('resource') do
681
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
659
682
  Aws::Waiters::Waiter.new(options).wait({})
660
683
  end
661
684
  end
@@ -666,8 +689,8 @@ module Aws::EC2
666
689
  #
667
690
  # instance.attach_classic_link_vpc({
668
691
  # dry_run: false,
669
- # groups: ["SecurityGroupId"], # required
670
692
  # vpc_id: "VpcId", # required
693
+ # groups: ["SecurityGroupId"], # required
671
694
  # })
672
695
  # @param [Hash] options ({})
673
696
  # @option options [Boolean] :dry_run
@@ -675,15 +698,15 @@ module Aws::EC2
675
698
  # without actually making the request, and provides an error response.
676
699
  # If you have the required permissions, the error response is
677
700
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
701
+ # @option options [required, String] :vpc_id
702
+ # The ID of the ClassicLink-enabled VPC.
678
703
  # @option options [required, Array<String>] :groups
679
704
  # The IDs of the security groups. You cannot specify security groups
680
705
  # from a different VPC.
681
- # @option options [required, String] :vpc_id
682
- # The ID of the ClassicLink-enabled VPC.
683
706
  # @return [Types::AttachClassicLinkVpcResult]
684
707
  def attach_classic_link_vpc(options = {})
685
708
  options = options.merge(instance_id: @id)
686
- resp = Aws::Plugins::UserAgent.feature('resource') do
709
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
687
710
  @client.attach_classic_link_vpc(options)
688
711
  end
689
712
  resp.data
@@ -710,7 +733,7 @@ module Aws::EC2
710
733
  # @return [Types::VolumeAttachment]
711
734
  def attach_volume(options = {})
712
735
  options = options.merge(instance_id: @id)
713
- resp = Aws::Plugins::UserAgent.feature('resource') do
736
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
714
737
  @client.attach_volume(options)
715
738
  end
716
739
  resp.data
@@ -719,23 +742,23 @@ module Aws::EC2
719
742
  # @example Request syntax with placeholder values
720
743
  #
721
744
  # instance.console_output({
722
- # dry_run: false,
723
745
  # latest: false,
746
+ # dry_run: false,
724
747
  # })
725
748
  # @param [Hash] options ({})
726
- # @option options [Boolean] :dry_run
727
- # Checks whether you have the required permissions for the action,
728
- # without actually making the request, and provides an error response.
729
- # If you have the required permissions, the error response is
730
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
731
749
  # @option options [Boolean] :latest
732
750
  # When enabled, retrieves the latest console output for the instance.
733
751
  #
734
752
  # Default: disabled (`false`)
753
+ # @option options [Boolean] :dry_run
754
+ # Checks whether you have the required permissions for the operation,
755
+ # without actually making the request, and provides an error response.
756
+ # If you have the required permissions, the error response is
757
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
735
758
  # @return [Types::GetConsoleOutputResult]
736
759
  def console_output(options = {})
737
760
  options = options.merge(instance_id: @id)
738
- resp = Aws::Plugins::UserAgent.feature('resource') do
761
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
739
762
  @client.get_console_output(options)
740
763
  end
741
764
  resp.data
@@ -744,10 +767,23 @@ module Aws::EC2
744
767
  # @example Request syntax with placeholder values
745
768
  #
746
769
  # image = instance.create_image({
770
+ # tag_specifications: [
771
+ # {
772
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token
773
+ # tags: [
774
+ # {
775
+ # key: "String",
776
+ # value: "String",
777
+ # },
778
+ # ],
779
+ # },
780
+ # ],
781
+ # dry_run: false,
782
+ # name: "String", # required
783
+ # description: "String",
784
+ # no_reboot: false,
747
785
  # block_device_mappings: [
748
786
  # {
749
- # device_name: "String",
750
- # virtual_name: "String",
751
787
  # ebs: {
752
788
  # delete_on_termination: false,
753
789
  # iops: 1,
@@ -758,46 +794,34 @@ module Aws::EC2
758
794
  # throughput: 1,
759
795
  # outpost_arn: "String",
760
796
  # encrypted: false,
797
+ # volume_initialization_rate: 1,
761
798
  # },
762
799
  # no_device: "String",
763
- # },
764
- # ],
765
- # description: "String",
766
- # dry_run: false,
767
- # name: "String", # required
768
- # no_reboot: false,
769
- # tag_specifications: [
770
- # {
771
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
772
- # tags: [
773
- # {
774
- # key: "String",
775
- # value: "String",
776
- # },
777
- # ],
800
+ # device_name: "String",
801
+ # virtual_name: "String",
778
802
  # },
779
803
  # ],
780
804
  # })
781
805
  # @param [Hash] options ({})
782
- # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
783
- # The block device mappings.
806
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
807
+ # The tags to apply to the AMI and snapshots on creation. You can tag
808
+ # the AMI, the snapshots, or both.
784
809
  #
785
- # When using the CreateImage action:
810
+ # * To tag the AMI, the value for `ResourceType` must be `image`.
811
+ #
812
+ # * To tag the snapshots that are created of the root volume and of
813
+ # other Amazon EBS volumes that are attached to the instance, the
814
+ # value for `ResourceType` must be `snapshot`. The same tag is applied
815
+ # to all of the snapshots that are created.
816
+ #
817
+ # If you specify other values for `ResourceType`, the request fails.
818
+ #
819
+ # To tag an AMI or snapshot after it has been created, see
820
+ # [CreateTags][1].
786
821
  #
787
- # * You can't change the volume size using the VolumeSize parameter. If
788
- # you want a different volume size, you must first change the volume
789
- # size of the source instance.
790
822
  #
791
- # * You can't modify the encryption status of existing volumes or
792
- # snapshots. To create an AMI with volumes or snapshots that have a
793
- # different encryption status (for example, where the source volume
794
- # and snapshots are unencrypted, and you want to create an AMI with
795
- # encrypted volumes or snapshots), use the CopyImage action.
796
823
  #
797
- # * The only option that can be changed for existing mappings or
798
- # snapshots is `DeleteOnTermination`.
799
- # @option options [String] :description
800
- # A description for the new image.
824
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
801
825
  # @option options [Boolean] :dry_run
802
826
  # Checks whether you have the required permissions for the action,
803
827
  # without actually making the request, and provides an error response.
@@ -809,6 +833,8 @@ module Aws::EC2
809
833
  # Constraints: 3-128 alphanumeric characters, parentheses (()), square
810
834
  # brackets (\[\]), spaces ( ), periods (.), slashes (/), dashes (-),
811
835
  # single quotes ('), at-signs (@), or underscores(\_)
836
+ # @option options [String] :description
837
+ # A description for the new image.
812
838
  # @option options [Boolean] :no_reboot
813
839
  # Indicates whether or not the instance should be automatically rebooted
814
840
  # before creating the image. Specify one of the following values:
@@ -824,29 +850,27 @@ module Aws::EC2
824
850
  # volumes before the snapshots are created.
825
851
  #
826
852
  # Default: `false`
827
- # @option options [Array<Types::TagSpecification>] :tag_specifications
828
- # The tags to apply to the AMI and snapshots on creation. You can tag
829
- # the AMI, the snapshots, or both.
830
- #
831
- # * To tag the AMI, the value for `ResourceType` must be `image`.
832
- #
833
- # * To tag the snapshots that are created of the root volume and of
834
- # other Amazon EBS volumes that are attached to the instance, the
835
- # value for `ResourceType` must be `snapshot`. The same tag is applied
836
- # to all of the snapshots that are created.
837
- #
838
- # If you specify other values for `ResourceType`, the request fails.
853
+ # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
854
+ # The block device mappings.
839
855
  #
840
- # To tag an AMI or snapshot after it has been created, see
841
- # [CreateTags][1].
856
+ # When using the CreateImage action:
842
857
  #
858
+ # * You can't change the volume size using the VolumeSize parameter. If
859
+ # you want a different volume size, you must first change the volume
860
+ # size of the source instance.
843
861
  #
862
+ # * You can't modify the encryption status of existing volumes or
863
+ # snapshots. To create an AMI with volumes or snapshots that have a
864
+ # different encryption status (for example, where the source volume
865
+ # and snapshots are unencrypted, and you want to create an AMI with
866
+ # encrypted volumes or snapshots), use the CopyImage action.
844
867
  #
845
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
868
+ # * The only option that can be changed for existing mappings or
869
+ # snapshots is `DeleteOnTermination`.
846
870
  # @return [Image]
847
871
  def create_image(options = {})
848
872
  options = options.merge(instance_id: @id)
849
- resp = Aws::Plugins::UserAgent.feature('resource') do
873
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
850
874
  @client.create_image(options)
851
875
  end
852
876
  Image.new(
@@ -880,7 +904,7 @@ module Aws::EC2
880
904
  def create_tags(options = {})
881
905
  batch = []
882
906
  options = Aws::Util.deep_merge(options, resources: [@id])
883
- resp = Aws::Plugins::UserAgent.feature('resource') do
907
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
884
908
  @client.create_tags(options)
885
909
  end
886
910
  options[:tags].each do |t|
@@ -927,7 +951,7 @@ module Aws::EC2
927
951
  def delete_tags(options = {})
928
952
  batch = []
929
953
  options = Aws::Util.deep_merge(options, resources: [@id])
930
- resp = Aws::Plugins::UserAgent.feature('resource') do
954
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
931
955
  @client.delete_tags(options)
932
956
  end
933
957
  options[:tags].each do |t|
@@ -944,23 +968,23 @@ module Aws::EC2
944
968
  # @example Request syntax with placeholder values
945
969
  #
946
970
  # instance.describe_attribute({
947
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
948
971
  # dry_run: false,
972
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
949
973
  # })
950
974
  # @param [Hash] options ({})
951
- # @option options [required, String] :attribute
952
- # The instance attribute.
953
- #
954
- # Note: The `enaSupport` attribute is not supported at this time.
955
975
  # @option options [Boolean] :dry_run
956
- # Checks whether you have the required permissions for the action,
976
+ # Checks whether you have the required permissions for the operation,
957
977
  # without actually making the request, and provides an error response.
958
978
  # If you have the required permissions, the error response is
959
979
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
980
+ # @option options [required, String] :attribute
981
+ # The instance attribute.
982
+ #
983
+ # Note that the `enaSupport` attribute is not supported.
960
984
  # @return [Types::InstanceAttribute]
961
985
  def describe_attribute(options = {})
962
986
  options = options.merge(instance_id: @id)
963
- resp = Aws::Plugins::UserAgent.feature('resource') do
987
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
964
988
  @client.describe_instance_attribute(options)
965
989
  end
966
990
  resp.data
@@ -983,7 +1007,7 @@ module Aws::EC2
983
1007
  # @return [Types::DetachClassicLinkVpcResult]
984
1008
  def detach_classic_link_vpc(options = {})
985
1009
  options = options.merge(instance_id: @id)
986
- resp = Aws::Plugins::UserAgent.feature('resource') do
1010
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
987
1011
  @client.detach_classic_link_vpc(options)
988
1012
  end
989
1013
  resp.data
@@ -1019,7 +1043,7 @@ module Aws::EC2
1019
1043
  # @return [Types::VolumeAttachment]
1020
1044
  def detach_volume(options = {})
1021
1045
  options = options.merge(instance_id: @id)
1022
- resp = Aws::Plugins::UserAgent.feature('resource') do
1046
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1023
1047
  @client.detach_volume(options)
1024
1048
  end
1025
1049
  resp.data
@@ -1031,39 +1055,39 @@ module Aws::EC2
1031
1055
  # source_dest_check: {
1032
1056
  # value: false,
1033
1057
  # },
1058
+ # disable_api_stop: {
1059
+ # value: false,
1060
+ # },
1061
+ # dry_run: false,
1034
1062
  # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1063
+ # value: "String",
1035
1064
  # block_device_mappings: [
1036
1065
  # {
1037
1066
  # device_name: "String",
1038
1067
  # ebs: {
1039
- # delete_on_termination: false,
1040
1068
  # volume_id: "VolumeId",
1069
+ # delete_on_termination: false,
1041
1070
  # },
1042
- # no_device: "String",
1043
1071
  # virtual_name: "String",
1072
+ # no_device: "String",
1044
1073
  # },
1045
1074
  # ],
1046
1075
  # disable_api_termination: {
1047
1076
  # value: false,
1048
1077
  # },
1049
- # dry_run: false,
1050
- # ebs_optimized: {
1051
- # value: false,
1052
- # },
1053
- # ena_support: {
1054
- # value: false,
1055
- # },
1056
- # groups: ["SecurityGroupId"],
1057
- # instance_initiated_shutdown_behavior: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1058
1078
  # instance_type: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1059
1079
  # kernel: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1060
1080
  # ramdisk: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1061
- # sriov_net_support: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1062
1081
  # user_data: {
1063
1082
  # value: "data",
1064
1083
  # },
1065
- # value: "String",
1066
- # disable_api_stop: {
1084
+ # instance_initiated_shutdown_behavior: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1085
+ # groups: ["SecurityGroupId"],
1086
+ # ebs_optimized: {
1087
+ # value: false,
1088
+ # },
1089
+ # sriov_net_support: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1090
+ # ena_support: {
1067
1091
  # value: false,
1068
1092
  # },
1069
1093
  # })
@@ -1075,20 +1099,48 @@ module Aws::EC2
1075
1099
  # enabled; otherwise, they are disabled. The default value is `true`.
1076
1100
  # You must disable source/destination checks if the instance runs
1077
1101
  # services such as network address translation, routing, or firewalls.
1102
+ # @option options [Types::AttributeBooleanValue] :disable_api_stop
1103
+ # Indicates whether an instance is enabled for stop protection. For more
1104
+ # information, see [Enable stop protection for your instance][1].
1105
+ #
1106
+ #
1107
+ #
1108
+ #
1109
+ #
1110
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html
1111
+ # @option options [Boolean] :dry_run
1112
+ # Checks whether you have the required permissions for the operation,
1113
+ # without actually making the request, and provides an error response.
1114
+ # If you have the required permissions, the error response is
1115
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1078
1116
  # @option options [String] :attribute
1079
1117
  # The name of the attribute to modify.
1080
1118
  #
1119
+ # <note markdown="1"> When changing the instance type: If the original instance type is
1120
+ # configured for configurable bandwidth, and the desired instance type
1121
+ # doesn't support configurable bandwidth, first set the existing
1122
+ # bandwidth configuration to `default` using the
1123
+ # ModifyInstanceNetworkPerformanceOptions operation.
1124
+ #
1125
+ # </note>
1126
+ #
1081
1127
  # You can modify the following attributes only: `disableApiTermination`
1082
1128
  # \| `instanceType` \| `kernel` \| `ramdisk` \|
1083
1129
  # `instanceInitiatedShutdownBehavior` \| `blockDeviceMapping` \|
1084
1130
  # `userData` \| `sourceDestCheck` \| `groupSet` \| `ebsOptimized` \|
1085
1131
  # `sriovNetSupport` \| `enaSupport` \| `nvmeSupport` \| `disableApiStop`
1086
1132
  # \| `enclaveOptions`
1133
+ # @option options [String] :value
1134
+ # A new value for the attribute. Use only with the `kernel`, `ramdisk`,
1135
+ # `userData`, `disableApiTermination`, or
1136
+ # `instanceInitiatedShutdownBehavior` attribute.
1087
1137
  # @option options [Array<Types::InstanceBlockDeviceMappingSpecification>] :block_device_mappings
1088
1138
  # Modifies the `DeleteOnTermination` attribute for volumes that are
1089
1139
  # currently attached. The volume must be owned by the caller. If no
1090
1140
  # value is specified for `DeleteOnTermination`, the default is `true`
1091
- # and the volume is deleted when the instance is terminated.
1141
+ # and the volume is deleted when the instance is terminated. You can't
1142
+ # modify the `DeleteOnTermination` attribute for volumes that are
1143
+ # attached to Fargate tasks.
1092
1144
  #
1093
1145
  # To add instance store volumes to an Amazon EBS-backed instance, you
1094
1146
  # must add them when you launch the instance. For more information, see
@@ -1099,33 +1151,10 @@ module Aws::EC2
1099
1151
  #
1100
1152
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM
1101
1153
  # @option options [Types::AttributeBooleanValue] :disable_api_termination
1102
- # If the value is `true`, you can't terminate the instance using the
1103
- # Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use
1104
- # this parameter for Spot Instances.
1105
- # @option options [Boolean] :dry_run
1106
- # Checks whether you have the required permissions for the action,
1107
- # without actually making the request, and provides an error response.
1108
- # If you have the required permissions, the error response is
1109
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1110
- # @option options [Types::AttributeBooleanValue] :ebs_optimized
1111
- # Specifies whether the instance is optimized for Amazon EBS I/O. This
1112
- # optimization provides dedicated throughput to Amazon EBS and an
1113
- # optimized configuration stack to provide optimal EBS I/O performance.
1114
- # This optimization isn't available with all instance types. Additional
1115
- # usage charges apply when using an EBS Optimized instance.
1116
- # @option options [Types::AttributeBooleanValue] :ena_support
1117
- # Set to `true` to enable enhanced networking with ENA for the instance.
1118
- #
1119
- # This option is supported only for HVM instances. Specifying this
1120
- # option with a PV instance can make it unreachable.
1121
- # @option options [Array<String>] :groups
1122
- # Replaces the security groups of the instance with the specified
1123
- # security groups. You must specify the ID of at least one security
1124
- # group, even if it's just the default security group for the VPC.
1125
- # @option options [Types::AttributeValue] :instance_initiated_shutdown_behavior
1126
- # Specifies whether an instance stops or terminates when you initiate
1127
- # shutdown from the instance (using the operating system command for
1128
- # system shutdown).
1154
+ # Enable or disable termination protection for the instance. If the
1155
+ # value is `true`, you can't terminate the instance using the Amazon
1156
+ # EC2 console, command line interface, or API. You can't enable
1157
+ # termination protection for Spot Instances.
1129
1158
  # @option options [Types::AttributeValue] :instance_type
1130
1159
  # Changes the instance type to the specified value. For more
1131
1160
  # information, see [Instance types][1] in the *Amazon EC2 User Guide*.
@@ -1151,6 +1180,29 @@ module Aws::EC2
1151
1180
  #
1152
1181
  #
1153
1182
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1183
+ # @option options [Types::BlobAttributeValue] :user_data
1184
+ # Changes the instance's user data to the specified value. User data
1185
+ # must be base64-encoded. Depending on the tool or SDK that you're
1186
+ # using, the base64-encoding might be performed for you. For more
1187
+ # information, see [Work with instance user data][1].
1188
+ #
1189
+ #
1190
+ #
1191
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html
1192
+ # @option options [Types::AttributeValue] :instance_initiated_shutdown_behavior
1193
+ # Specifies whether an instance stops or terminates when you initiate
1194
+ # shutdown from the instance (using the operating system command for
1195
+ # system shutdown).
1196
+ # @option options [Array<String>] :groups
1197
+ # Replaces the security groups of the instance with the specified
1198
+ # security groups. You must specify the ID of at least one security
1199
+ # group, even if it's just the default security group for the VPC.
1200
+ # @option options [Types::AttributeBooleanValue] :ebs_optimized
1201
+ # Specifies whether the instance is optimized for Amazon EBS I/O. This
1202
+ # optimization provides dedicated throughput to Amazon EBS and an
1203
+ # optimized configuration stack to provide optimal EBS I/O performance.
1204
+ # This optimization isn't available with all instance types. Additional
1205
+ # usage charges apply when using an EBS Optimized instance.
1154
1206
  # @option options [Types::AttributeValue] :sriov_net_support
1155
1207
  # Set to `simple` to enable enhanced networking with the Intel 82599
1156
1208
  # Virtual Function interface for the instance.
@@ -1160,28 +1212,15 @@ module Aws::EC2
1160
1212
  #
1161
1213
  # This option is supported only for HVM instances. Specifying this
1162
1214
  # option with a PV instance can make it unreachable.
1163
- # @option options [Types::BlobAttributeValue] :user_data
1164
- # Changes the instance's user data to the specified value. If you are
1165
- # using an Amazon Web Services SDK or command line tool, base64-encoding
1166
- # is performed for you, and you can load the text from a file.
1167
- # Otherwise, you must provide base64-encoded text.
1168
- # @option options [String] :value
1169
- # A new value for the attribute. Use only with the `kernel`, `ramdisk`,
1170
- # `userData`, `disableApiTermination`, or
1171
- # `instanceInitiatedShutdownBehavior` attribute.
1172
- # @option options [Types::AttributeBooleanValue] :disable_api_stop
1173
- # Indicates whether an instance is enabled for stop protection. For more
1174
- # information, see [Stop Protection][1].
1175
- #
1176
- #
1177
- #
1178
- #
1215
+ # @option options [Types::AttributeBooleanValue] :ena_support
1216
+ # Set to `true` to enable enhanced networking with ENA for the instance.
1179
1217
  #
1180
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection
1218
+ # This option is supported only for HVM instances. Specifying this
1219
+ # option with a PV instance can make it unreachable.
1181
1220
  # @return [EmptyStructure]
1182
1221
  def modify_attribute(options = {})
1183
1222
  options = options.merge(instance_id: @id)
1184
- resp = Aws::Plugins::UserAgent.feature('resource') do
1223
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1185
1224
  @client.modify_instance_attribute(options)
1186
1225
  end
1187
1226
  resp.data
@@ -1194,14 +1233,14 @@ module Aws::EC2
1194
1233
  # })
1195
1234
  # @param [Hash] options ({})
1196
1235
  # @option options [Boolean] :dry_run
1197
- # Checks whether you have the required permissions for the action,
1236
+ # Checks whether you have the required permissions for the operation,
1198
1237
  # without actually making the request, and provides an error response.
1199
1238
  # If you have the required permissions, the error response is
1200
1239
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1201
1240
  # @return [Types::MonitorInstancesResult]
1202
1241
  def monitor(options = {})
1203
1242
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1204
- resp = Aws::Plugins::UserAgent.feature('resource') do
1243
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1205
1244
  @client.monitor_instances(options)
1206
1245
  end
1207
1246
  resp.data
@@ -1214,14 +1253,14 @@ module Aws::EC2
1214
1253
  # })
1215
1254
  # @param [Hash] options ({})
1216
1255
  # @option options [Boolean] :dry_run
1217
- # Checks whether you have the required permissions for the action,
1256
+ # Checks whether you have the required permissions for the operation,
1218
1257
  # without actually making the request, and provides an error response.
1219
1258
  # If you have the required permissions, the error response is
1220
1259
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1221
1260
  # @return [Types::GetPasswordDataResult]
1222
1261
  def password_data(options = {})
1223
1262
  options = options.merge(instance_id: @id)
1224
- resp = Aws::Plugins::UserAgent.feature('resource') do
1263
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1225
1264
  @client.get_password_data(options)
1226
1265
  end
1227
1266
  resp.data
@@ -1234,14 +1273,14 @@ module Aws::EC2
1234
1273
  # })
1235
1274
  # @param [Hash] options ({})
1236
1275
  # @option options [Boolean] :dry_run
1237
- # Checks whether you have the required permissions for the action,
1276
+ # Checks whether you have the required permissions for the operation,
1238
1277
  # without actually making the request, and provides an error response.
1239
1278
  # If you have the required permissions, the error response is
1240
1279
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1241
1280
  # @return [EmptyStructure]
1242
1281
  def reboot(options = {})
1243
1282
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1244
- resp = Aws::Plugins::UserAgent.feature('resource') do
1283
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1245
1284
  @client.reboot_instances(options)
1246
1285
  end
1247
1286
  resp.data
@@ -1250,21 +1289,23 @@ module Aws::EC2
1250
1289
  # @example Request syntax with placeholder values
1251
1290
  #
1252
1291
  # instance.report_status({
1253
- # description: "String",
1254
1292
  # dry_run: false,
1293
+ # status: "ok", # required, accepts ok, impaired
1294
+ # start_time: Time.now,
1255
1295
  # end_time: Time.now,
1256
1296
  # reason_codes: ["instance-stuck-in-state"], # required, accepts instance-stuck-in-state, unresponsive, not-accepting-credentials, password-not-available, performance-network, performance-instance-store, performance-ebs-volume, performance-other, other
1257
- # start_time: Time.now,
1258
- # status: "ok", # required, accepts ok, impaired
1297
+ # description: "ReportInstanceStatusRequestDescription",
1259
1298
  # })
1260
1299
  # @param [Hash] options ({})
1261
- # @option options [String] :description
1262
- # Descriptive text about the health state of your instance.
1263
1300
  # @option options [Boolean] :dry_run
1264
- # Checks whether you have the required permissions for the action,
1301
+ # Checks whether you have the required permissions for the operation,
1265
1302
  # without actually making the request, and provides an error response.
1266
1303
  # If you have the required permissions, the error response is
1267
1304
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1305
+ # @option options [required, String] :status
1306
+ # The status of all instances listed.
1307
+ # @option options [Time,DateTime,Date,Integer,String] :start_time
1308
+ # The time at which the reported instance health state began.
1268
1309
  # @option options [Time,DateTime,Date,Integer,String] :end_time
1269
1310
  # The time at which the reported instance health state ended.
1270
1311
  # @option options [required, Array<String>] :reason_codes
@@ -1294,14 +1335,12 @@ module Aws::EC2
1294
1335
  # problems.
1295
1336
  #
1296
1337
  # * `other`: \[explain using the description parameter\]
1297
- # @option options [Time,DateTime,Date,Integer,String] :start_time
1298
- # The time at which the reported instance health state began.
1299
- # @option options [required, String] :status
1300
- # The status of all instances listed.
1338
+ # @option options [String] :description
1339
+ # Descriptive text about the health state of your instance.
1301
1340
  # @return [EmptyStructure]
1302
1341
  def report_status(options = {})
1303
1342
  options = Aws::Util.deep_merge(options, instances: [@id])
1304
- resp = Aws::Plugins::UserAgent.feature('resource') do
1343
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1305
1344
  @client.report_instance_status(options)
1306
1345
  end
1307
1346
  resp.data
@@ -1310,24 +1349,24 @@ module Aws::EC2
1310
1349
  # @example Request syntax with placeholder values
1311
1350
  #
1312
1351
  # instance.reset_attribute({
1313
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1314
1352
  # dry_run: false,
1353
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1315
1354
  # })
1316
1355
  # @param [Hash] options ({})
1356
+ # @option options [Boolean] :dry_run
1357
+ # Checks whether you have the required permissions for the operation,
1358
+ # without actually making the request, and provides an error response.
1359
+ # If you have the required permissions, the error response is
1360
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1317
1361
  # @option options [required, String] :attribute
1318
1362
  # The attribute to reset.
1319
1363
  #
1320
1364
  # You can only reset the following attributes: `kernel` \| `ramdisk` \|
1321
1365
  # `sourceDestCheck`.
1322
- # @option options [Boolean] :dry_run
1323
- # Checks whether you have the required permissions for the action,
1324
- # without actually making the request, and provides an error response.
1325
- # If you have the required permissions, the error response is
1326
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1327
1366
  # @return [EmptyStructure]
1328
1367
  def reset_attribute(options = {})
1329
1368
  options = options.merge(instance_id: @id)
1330
- resp = Aws::Plugins::UserAgent.feature('resource') do
1369
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1331
1370
  @client.reset_instance_attribute(options)
1332
1371
  end
1333
1372
  resp.data
@@ -1340,7 +1379,7 @@ module Aws::EC2
1340
1379
  # })
1341
1380
  # @param [Hash] options ({})
1342
1381
  # @option options [Boolean] :dry_run
1343
- # Checks whether you have the required permissions for the action,
1382
+ # Checks whether you have the required permissions for the operation,
1344
1383
  # without actually making the request, and provides an error response.
1345
1384
  # If you have the required permissions, the error response is
1346
1385
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1350,7 +1389,7 @@ module Aws::EC2
1350
1389
  instance_id: @id,
1351
1390
  attribute: "kernel"
1352
1391
  )
1353
- resp = Aws::Plugins::UserAgent.feature('resource') do
1392
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1354
1393
  @client.reset_instance_attribute(options)
1355
1394
  end
1356
1395
  resp.data
@@ -1363,7 +1402,7 @@ module Aws::EC2
1363
1402
  # })
1364
1403
  # @param [Hash] options ({})
1365
1404
  # @option options [Boolean] :dry_run
1366
- # Checks whether you have the required permissions for the action,
1405
+ # Checks whether you have the required permissions for the operation,
1367
1406
  # without actually making the request, and provides an error response.
1368
1407
  # If you have the required permissions, the error response is
1369
1408
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1373,7 +1412,7 @@ module Aws::EC2
1373
1412
  instance_id: @id,
1374
1413
  attribute: "ramdisk"
1375
1414
  )
1376
- resp = Aws::Plugins::UserAgent.feature('resource') do
1415
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1377
1416
  @client.reset_instance_attribute(options)
1378
1417
  end
1379
1418
  resp.data
@@ -1386,7 +1425,7 @@ module Aws::EC2
1386
1425
  # })
1387
1426
  # @param [Hash] options ({})
1388
1427
  # @option options [Boolean] :dry_run
1389
- # Checks whether you have the required permissions for the action,
1428
+ # Checks whether you have the required permissions for the operation,
1390
1429
  # without actually making the request, and provides an error response.
1391
1430
  # If you have the required permissions, the error response is
1392
1431
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1396,7 +1435,7 @@ module Aws::EC2
1396
1435
  instance_id: @id,
1397
1436
  attribute: "sourceDestCheck"
1398
1437
  )
1399
- resp = Aws::Plugins::UserAgent.feature('resource') do
1438
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1400
1439
  @client.reset_instance_attribute(options)
1401
1440
  end
1402
1441
  resp.data
@@ -1412,14 +1451,14 @@ module Aws::EC2
1412
1451
  # @option options [String] :additional_info
1413
1452
  # Reserved.
1414
1453
  # @option options [Boolean] :dry_run
1415
- # Checks whether you have the required permissions for the action,
1454
+ # Checks whether you have the required permissions for the operation,
1416
1455
  # without actually making the request, and provides an error response.
1417
1456
  # If you have the required permissions, the error response is
1418
1457
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1419
1458
  # @return [Types::StartInstancesResult]
1420
1459
  def start(options = {})
1421
1460
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1422
- resp = Aws::Plugins::UserAgent.feature('resource') do
1461
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1423
1462
  @client.start_instances(options)
1424
1463
  end
1425
1464
  resp.data
@@ -1445,21 +1484,31 @@ module Aws::EC2
1445
1484
  #
1446
1485
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
1447
1486
  # @option options [Boolean] :dry_run
1448
- # Checks whether you have the required permissions for the action,
1487
+ # Checks whether you have the required permissions for the operation,
1449
1488
  # without actually making the request, and provides an error response.
1450
1489
  # If you have the required permissions, the error response is
1451
1490
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1452
1491
  # @option options [Boolean] :force
1453
- # Forces the instances to stop. The instances do not have an opportunity
1454
- # to flush file system caches or file system metadata. If you use this
1455
- # option, you must perform file system check and repair procedures. This
1456
- # option is not recommended for Windows instances.
1492
+ # Forces the instance to stop. The instance will first attempt a
1493
+ # graceful shutdown, which includes flushing file system caches and
1494
+ # metadata. If the graceful shutdown fails to complete within the
1495
+ # timeout period, the instance shuts down forcibly without flushing the
1496
+ # file system caches and metadata.
1497
+ #
1498
+ # After using this option, you must perform file system check and repair
1499
+ # procedures. This option is not recommended for Windows instances. For
1500
+ # more information, see [Troubleshoot Amazon EC2 instance stop
1501
+ # issues][1] in the *Amazon EC2 User Guide*.
1457
1502
  #
1458
1503
  # Default: `false`
1504
+ #
1505
+ #
1506
+ #
1507
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html
1459
1508
  # @return [Types::StopInstancesResult]
1460
1509
  def stop(options = {})
1461
1510
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1462
- resp = Aws::Plugins::UserAgent.feature('resource') do
1511
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1463
1512
  @client.stop_instances(options)
1464
1513
  end
1465
1514
  resp.data
@@ -1472,14 +1521,14 @@ module Aws::EC2
1472
1521
  # })
1473
1522
  # @param [Hash] options ({})
1474
1523
  # @option options [Boolean] :dry_run
1475
- # Checks whether you have the required permissions for the action,
1524
+ # Checks whether you have the required permissions for the operation,
1476
1525
  # without actually making the request, and provides an error response.
1477
1526
  # If you have the required permissions, the error response is
1478
1527
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1479
1528
  # @return [Types::TerminateInstancesResult]
1480
1529
  def terminate(options = {})
1481
1530
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1482
- resp = Aws::Plugins::UserAgent.feature('resource') do
1531
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1483
1532
  @client.terminate_instances(options)
1484
1533
  end
1485
1534
  resp.data
@@ -1492,14 +1541,14 @@ module Aws::EC2
1492
1541
  # })
1493
1542
  # @param [Hash] options ({})
1494
1543
  # @option options [Boolean] :dry_run
1495
- # Checks whether you have the required permissions for the action,
1544
+ # Checks whether you have the required permissions for the operation,
1496
1545
  # without actually making the request, and provides an error response.
1497
1546
  # If you have the required permissions, the error response is
1498
1547
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1499
1548
  # @return [Types::UnmonitorInstancesResult]
1500
1549
  def unmonitor(options = {})
1501
1550
  options = Aws::Util.deep_merge(options, instance_ids: [@id])
1502
- resp = Aws::Plugins::UserAgent.feature('resource') do
1551
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1503
1552
  @client.unmonitor_instances(options)
1504
1553
  end
1505
1554
  resp.data
@@ -1583,16 +1632,24 @@ module Aws::EC2
1583
1632
  # @example Request syntax with placeholder values
1584
1633
  #
1585
1634
  # volumes = instance.volumes({
1635
+ # volume_ids: ["VolumeId"],
1636
+ # dry_run: false,
1586
1637
  # filters: [
1587
1638
  # {
1588
1639
  # name: "String",
1589
1640
  # values: ["String"],
1590
1641
  # },
1591
1642
  # ],
1592
- # volume_ids: ["VolumeId"],
1593
- # dry_run: false,
1594
1643
  # })
1595
1644
  # @param [Hash] options ({})
1645
+ # @option options [Array<String>] :volume_ids
1646
+ # The volume IDs. If not specified, then all volumes are included in the
1647
+ # response.
1648
+ # @option options [Boolean] :dry_run
1649
+ # Checks whether you have the required permissions for the action,
1650
+ # without actually making the request, and provides an error response.
1651
+ # If you have the required permissions, the error response is
1652
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1596
1653
  # @option options [Array<Types::Filter>] :filters
1597
1654
  # The filters.
1598
1655
  #
@@ -1619,13 +1676,19 @@ module Aws::EC2
1619
1676
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
1620
1677
  # `false`)
1621
1678
  #
1622
- # * `multi-attach-enabled` - Indicates whether the volume is enabled for
1623
- # Multi-Attach (`true` \| `false`)
1624
- #
1625
1679
  # * `fast-restored` - Indicates whether the volume was created from a
1626
1680
  # snapshot that is enabled for fast snapshot restore (`true` \|
1627
1681
  # `false`).
1628
1682
  #
1683
+ # * `multi-attach-enabled` - Indicates whether the volume is enabled for
1684
+ # Multi-Attach (`true` \| `false`)
1685
+ #
1686
+ # * `operator.managed` - A Boolean that indicates whether this is a
1687
+ # managed volume.
1688
+ #
1689
+ # * `operator.principal` - The principal that manages the volume. Only
1690
+ # valid for managed volumes, where `managed` is `true`.
1691
+ #
1629
1692
  # * `size` - The size of the volume, in GiB.
1630
1693
  #
1631
1694
  # * `snapshot-id` - The snapshot from which the volume was created.
@@ -1647,13 +1710,6 @@ module Aws::EC2
1647
1710
  #
1648
1711
  # * `volume-type` - The Amazon EBS volume type (`gp2` \| `gp3` \| `io1`
1649
1712
  # \| `io2` \| `st1` \| `sc1`\| `standard`)
1650
- # @option options [Array<String>] :volume_ids
1651
- # The volume IDs.
1652
- # @option options [Boolean] :dry_run
1653
- # Checks whether you have the required permissions for the action,
1654
- # without actually making the request, and provides an error response.
1655
- # If you have the required permissions, the error response is
1656
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1657
1713
  # @return [Volume::Collection]
1658
1714
  def volumes(options = {})
1659
1715
  batches = Enumerator.new do |y|
@@ -1661,7 +1717,7 @@ module Aws::EC2
1661
1717
  name: "attachment.instance-id",
1662
1718
  values: [@id]
1663
1719
  }])
1664
- resp = Aws::Plugins::UserAgent.feature('resource') do
1720
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1665
1721
  @client.describe_volumes(options)
1666
1722
  end
1667
1723
  resp.each_page do |page|
@@ -1694,17 +1750,26 @@ module Aws::EC2
1694
1750
  # @example Request syntax with placeholder values
1695
1751
  #
1696
1752
  # vpc_addresses = instance.vpc_addresses({
1753
+ # public_ips: ["String"],
1754
+ # dry_run: false,
1697
1755
  # filters: [
1698
1756
  # {
1699
1757
  # name: "String",
1700
1758
  # values: ["String"],
1701
1759
  # },
1702
1760
  # ],
1703
- # public_ips: ["String"],
1704
1761
  # allocation_ids: ["AllocationId"],
1705
- # dry_run: false,
1706
1762
  # })
1707
1763
  # @param [Hash] options ({})
1764
+ # @option options [Array<String>] :public_ips
1765
+ # One or more Elastic IP addresses.
1766
+ #
1767
+ # Default: Describes all your Elastic IP addresses.
1768
+ # @option options [Boolean] :dry_run
1769
+ # Checks whether you have the required permissions for the action,
1770
+ # without actually making the request, and provides an error response.
1771
+ # If you have the required permissions, the error response is
1772
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1708
1773
  # @option options [Array<Types::Filter>] :filters
1709
1774
  # One or more filters. Filter names and values are case-sensitive.
1710
1775
  #
@@ -1739,17 +1804,8 @@ module Aws::EC2
1739
1804
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1740
1805
  # filter to find all resources assigned a tag with a specific key,
1741
1806
  # regardless of the tag value.
1742
- # @option options [Array<String>] :public_ips
1743
- # One or more Elastic IP addresses.
1744
- #
1745
- # Default: Describes all your Elastic IP addresses.
1746
1807
  # @option options [Array<String>] :allocation_ids
1747
1808
  # Information about the allocation IDs.
1748
- # @option options [Boolean] :dry_run
1749
- # Checks whether you have the required permissions for the action,
1750
- # without actually making the request, and provides an error response.
1751
- # If you have the required permissions, the error response is
1752
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1753
1809
  # @return [VpcAddress::Collection]
1754
1810
  def vpc_addresses(options = {})
1755
1811
  batches = Enumerator.new do |y|
@@ -1758,7 +1814,7 @@ module Aws::EC2
1758
1814
  name: "instance-id",
1759
1815
  values: [@id]
1760
1816
  }])
1761
- resp = Aws::Plugins::UserAgent.feature('resource') do
1817
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1762
1818
  @client.describe_addresses(options)
1763
1819
  end
1764
1820
  resp.data.addresses.each do |a|
@@ -1853,7 +1909,7 @@ module Aws::EC2
1853
1909
  batch.each do |item|
1854
1910
  params[:resources] << item.id
1855
1911
  end
1856
- Aws::Plugins::UserAgent.feature('resource') do
1912
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1857
1913
  batch[0].client.create_tags(params)
1858
1914
  end
1859
1915
  end
@@ -1897,7 +1953,7 @@ module Aws::EC2
1897
1953
  batch.each do |item|
1898
1954
  params[:resources] << item.id
1899
1955
  end
1900
- Aws::Plugins::UserAgent.feature('resource') do
1956
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1901
1957
  batch[0].client.delete_tags(params)
1902
1958
  end
1903
1959
  end
@@ -1911,7 +1967,7 @@ module Aws::EC2
1911
1967
  # })
1912
1968
  # @param options ({})
1913
1969
  # @option options [Boolean] :dry_run
1914
- # Checks whether you have the required permissions for the action,
1970
+ # Checks whether you have the required permissions for the operation,
1915
1971
  # without actually making the request, and provides an error response.
1916
1972
  # If you have the required permissions, the error response is
1917
1973
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1923,7 +1979,7 @@ module Aws::EC2
1923
1979
  batch.each do |item|
1924
1980
  params[:instance_ids] << item.id
1925
1981
  end
1926
- Aws::Plugins::UserAgent.feature('resource') do
1982
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1927
1983
  batch[0].client.monitor_instances(params)
1928
1984
  end
1929
1985
  end
@@ -1937,7 +1993,7 @@ module Aws::EC2
1937
1993
  # })
1938
1994
  # @param options ({})
1939
1995
  # @option options [Boolean] :dry_run
1940
- # Checks whether you have the required permissions for the action,
1996
+ # Checks whether you have the required permissions for the operation,
1941
1997
  # without actually making the request, and provides an error response.
1942
1998
  # If you have the required permissions, the error response is
1943
1999
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1949,7 +2005,7 @@ module Aws::EC2
1949
2005
  batch.each do |item|
1950
2006
  params[:instance_ids] << item.id
1951
2007
  end
1952
- Aws::Plugins::UserAgent.feature('resource') do
2008
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1953
2009
  batch[0].client.reboot_instances(params)
1954
2010
  end
1955
2011
  end
@@ -1966,7 +2022,7 @@ module Aws::EC2
1966
2022
  # @option options [String] :additional_info
1967
2023
  # Reserved.
1968
2024
  # @option options [Boolean] :dry_run
1969
- # Checks whether you have the required permissions for the action,
2025
+ # Checks whether you have the required permissions for the operation,
1970
2026
  # without actually making the request, and provides an error response.
1971
2027
  # If you have the required permissions, the error response is
1972
2028
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -1978,7 +2034,7 @@ module Aws::EC2
1978
2034
  batch.each do |item|
1979
2035
  params[:instance_ids] << item.id
1980
2036
  end
1981
- Aws::Plugins::UserAgent.feature('resource') do
2037
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1982
2038
  batch[0].client.start_instances(params)
1983
2039
  end
1984
2040
  end
@@ -2005,17 +2061,27 @@ module Aws::EC2
2005
2061
  #
2006
2062
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html
2007
2063
  # @option options [Boolean] :dry_run
2008
- # Checks whether you have the required permissions for the action,
2064
+ # Checks whether you have the required permissions for the operation,
2009
2065
  # without actually making the request, and provides an error response.
2010
2066
  # If you have the required permissions, the error response is
2011
2067
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2012
2068
  # @option options [Boolean] :force
2013
- # Forces the instances to stop. The instances do not have an opportunity
2014
- # to flush file system caches or file system metadata. If you use this
2015
- # option, you must perform file system check and repair procedures. This
2016
- # option is not recommended for Windows instances.
2069
+ # Forces the instance to stop. The instance will first attempt a
2070
+ # graceful shutdown, which includes flushing file system caches and
2071
+ # metadata. If the graceful shutdown fails to complete within the
2072
+ # timeout period, the instance shuts down forcibly without flushing the
2073
+ # file system caches and metadata.
2074
+ #
2075
+ # After using this option, you must perform file system check and repair
2076
+ # procedures. This option is not recommended for Windows instances. For
2077
+ # more information, see [Troubleshoot Amazon EC2 instance stop
2078
+ # issues][1] in the *Amazon EC2 User Guide*.
2017
2079
  #
2018
2080
  # Default: `false`
2081
+ #
2082
+ #
2083
+ #
2084
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html
2019
2085
  # @return [void]
2020
2086
  def batch_stop(options = {})
2021
2087
  batch_enum.each do |batch|
@@ -2024,7 +2090,7 @@ module Aws::EC2
2024
2090
  batch.each do |item|
2025
2091
  params[:instance_ids] << item.id
2026
2092
  end
2027
- Aws::Plugins::UserAgent.feature('resource') do
2093
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2028
2094
  batch[0].client.stop_instances(params)
2029
2095
  end
2030
2096
  end
@@ -2038,7 +2104,7 @@ module Aws::EC2
2038
2104
  # })
2039
2105
  # @param options ({})
2040
2106
  # @option options [Boolean] :dry_run
2041
- # Checks whether you have the required permissions for the action,
2107
+ # Checks whether you have the required permissions for the operation,
2042
2108
  # without actually making the request, and provides an error response.
2043
2109
  # If you have the required permissions, the error response is
2044
2110
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -2050,7 +2116,7 @@ module Aws::EC2
2050
2116
  batch.each do |item|
2051
2117
  params[:instance_ids] << item.id
2052
2118
  end
2053
- Aws::Plugins::UserAgent.feature('resource') do
2119
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2054
2120
  batch[0].client.terminate_instances(params)
2055
2121
  end
2056
2122
  end
@@ -2064,7 +2130,7 @@ module Aws::EC2
2064
2130
  # })
2065
2131
  # @param options ({})
2066
2132
  # @option options [Boolean] :dry_run
2067
- # Checks whether you have the required permissions for the action,
2133
+ # Checks whether you have the required permissions for the operation,
2068
2134
  # without actually making the request, and provides an error response.
2069
2135
  # If you have the required permissions, the error response is
2070
2136
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
@@ -2076,7 +2142,7 @@ module Aws::EC2
2076
2142
  batch.each do |item|
2077
2143
  params[:instance_ids] << item.id
2078
2144
  end
2079
- Aws::Plugins::UserAgent.feature('resource') do
2145
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2080
2146
  batch[0].client.unmonitor_instances(params)
2081
2147
  end
2082
2148
  end
@@ -2088,3 +2154,6 @@ module Aws::EC2
2088
2154
  end
2089
2155
  end
2090
2156
  end
2157
+
2158
+ # Load customizations if they exist
2159
+ require 'aws-sdk-ec2/customizations/instance'