aws-sdk-ec2 1.479.0 → 1.481.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +11 -11
  5. data/lib/aws-sdk-ec2/client.rb +3074 -2792
  6. data/lib/aws-sdk-ec2/client_api.rb +562 -438
  7. data/lib/aws-sdk-ec2/dhcp_options.rb +6 -6
  8. data/lib/aws-sdk-ec2/endpoints.rb +55 -0
  9. data/lib/aws-sdk-ec2/image.rb +82 -82
  10. data/lib/aws-sdk-ec2/instance.rb +291 -289
  11. data/lib/aws-sdk-ec2/key_pair.rb +12 -12
  12. data/lib/aws-sdk-ec2/key_pair_info.rb +27 -27
  13. data/lib/aws-sdk-ec2/network_acl.rb +60 -60
  14. data/lib/aws-sdk-ec2/network_interface.rb +65 -65
  15. data/lib/aws-sdk-ec2/placement_group.rb +11 -14
  16. data/lib/aws-sdk-ec2/plugins/endpoints.rb +10 -0
  17. data/lib/aws-sdk-ec2/resource.rb +594 -602
  18. data/lib/aws-sdk-ec2/route.rb +30 -30
  19. data/lib/aws-sdk-ec2/route_table.rb +37 -37
  20. data/lib/aws-sdk-ec2/security_group.rb +137 -137
  21. data/lib/aws-sdk-ec2/snapshot.rb +77 -77
  22. data/lib/aws-sdk-ec2/subnet.rb +279 -287
  23. data/lib/aws-sdk-ec2/types.rb +3640 -3368
  24. data/lib/aws-sdk-ec2/volume.rb +93 -93
  25. data/lib/aws-sdk-ec2/vpc.rb +143 -146
  26. data/lib/aws-sdk-ec2/vpc_address.rb +17 -17
  27. data/lib/aws-sdk-ec2.rb +1 -1
  28. data/sig/classic_address.rbs +5 -5
  29. data/sig/client.rbs +948 -881
  30. data/sig/dhcp_options.rbs +3 -3
  31. data/sig/image.rbs +41 -41
  32. data/sig/instance.rbs +108 -108
  33. data/sig/key_pair.rbs +6 -6
  34. data/sig/key_pair_info.rbs +3 -3
  35. data/sig/network_acl.rbs +16 -16
  36. data/sig/network_interface.rbs +22 -22
  37. data/sig/placement_group.rbs +3 -3
  38. data/sig/resource.rbs +201 -201
  39. data/sig/route.rbs +9 -9
  40. data/sig/route_table.rbs +10 -10
  41. data/sig/security_group.rbs +110 -110
  42. data/sig/snapshot.rbs +34 -34
  43. data/sig/subnet.rbs +116 -116
  44. data/sig/types.rbs +525 -443
  45. data/sig/volume.rbs +33 -33
  46. data/sig/vpc.rbs +46 -46
  47. data/sig/vpc_address.rbs +8 -8
  48. data/sig/waiters.rbs +113 -113
  49. metadata +2 -2
@@ -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
@@ -223,9 +91,7 @@ module Aws::EC2
223
91
 
224
92
  # Deprecated.
225
93
  #
226
- # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024. For
227
- # workloads that require graphics acceleration, we recommend that you
228
- # use Amazon EC2 G4ad, G4dn, or G5 instances.
94
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
229
95
  #
230
96
  # </note>
231
97
  # @return [Array<Types::ElasticGpuAssociation>]
@@ -233,7 +99,11 @@ module Aws::EC2
233
99
  data[:elastic_gpu_associations]
234
100
  end
235
101
 
236
- # 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>
237
107
  # @return [Array<Types::ElasticInferenceAcceleratorAssociation>]
238
108
  def elastic_inference_accelerator_associations
239
109
  data[:elastic_inference_accelerator_associations]
@@ -436,6 +306,138 @@ module Aws::EC2
436
306
  data[:current_instance_boot_mode]
437
307
  end
438
308
 
309
+ # The ID of the AMI used to launch the instance.
310
+ # @return [String]
311
+ def image_id
312
+ data[:image_id]
313
+ end
314
+
315
+ # The current state of the instance.
316
+ # @return [Types::InstanceState]
317
+ def state
318
+ data[:state]
319
+ end
320
+
321
+ # \[IPv4 only\] The private DNS hostname name assigned to the instance.
322
+ # This DNS hostname can only be used inside the Amazon EC2 network. This
323
+ # name is not available until the instance enters the `running` state.
324
+ #
325
+ # The Amazon-provided DNS server resolves Amazon-provided private DNS
326
+ # hostnames if you've enabled DNS resolution and DNS hostnames in your
327
+ # VPC. If you are not using the Amazon-provided DNS server in your VPC,
328
+ # your custom domain name servers must resolve the hostname as
329
+ # appropriate.
330
+ # @return [String]
331
+ def private_dns_name
332
+ data[:private_dns_name]
333
+ end
334
+
335
+ # \[IPv4 only\] The public DNS name assigned to the instance. This name
336
+ # is not available until the instance enters the `running` state. This
337
+ # name is only available if you've enabled DNS hostnames for your VPC.
338
+ # @return [String]
339
+ def public_dns_name
340
+ data[:public_dns_name]
341
+ end
342
+
343
+ # The reason for the most recent state transition. This might be an
344
+ # empty string.
345
+ # @return [String]
346
+ def state_transition_reason
347
+ data[:state_transition_reason]
348
+ end
349
+
350
+ # The name of the key pair, if this instance was launched with an
351
+ # associated key pair.
352
+ # @return [String]
353
+ def key_name
354
+ data[:key_name]
355
+ end
356
+
357
+ # The AMI launch index, which can be used to find this instance in the
358
+ # launch group.
359
+ # @return [Integer]
360
+ def ami_launch_index
361
+ data[:ami_launch_index]
362
+ end
363
+
364
+ # The product codes attached to this instance, if applicable.
365
+ # @return [Array<Types::ProductCode>]
366
+ def product_codes
367
+ data[:product_codes]
368
+ end
369
+
370
+ # The instance type.
371
+ # @return [String]
372
+ def instance_type
373
+ data[:instance_type]
374
+ end
375
+
376
+ # The time the instance was launched.
377
+ # @return [Time]
378
+ def launch_time
379
+ data[:launch_time]
380
+ end
381
+
382
+ # The location where the instance launched, if applicable.
383
+ # @return [Types::Placement]
384
+ def placement
385
+ data[:placement]
386
+ end
387
+
388
+ # The kernel associated with this instance, if applicable.
389
+ # @return [String]
390
+ def kernel_id
391
+ data[:kernel_id]
392
+ end
393
+
394
+ # The RAM disk associated with this instance, if applicable.
395
+ # @return [String]
396
+ def ramdisk_id
397
+ data[:ramdisk_id]
398
+ end
399
+
400
+ # The platform. This value is `windows` for Windows instances;
401
+ # otherwise, it is empty.
402
+ # @return [String]
403
+ def platform
404
+ data[:platform]
405
+ end
406
+
407
+ # The monitoring for the instance.
408
+ # @return [Types::Monitoring]
409
+ def monitoring
410
+ data[:monitoring]
411
+ end
412
+
413
+ # The ID of the subnet in which the instance is running.
414
+ # @return [String]
415
+ def subnet_id
416
+ data[:subnet_id]
417
+ end
418
+
419
+ # The ID of the VPC in which the instance is running.
420
+ # @return [String]
421
+ def vpc_id
422
+ data[:vpc_id]
423
+ end
424
+
425
+ # The private IPv4 address assigned to the instance.
426
+ # @return [String]
427
+ def private_ip_address
428
+ data[:private_ip_address]
429
+ end
430
+
431
+ # The public IPv4 address, or the Carrier IP address assigned to the
432
+ # instance, if applicable.
433
+ #
434
+ # A Carrier IP address only applies to an instance launched in a subnet
435
+ # associated with a Wavelength Zone.
436
+ # @return [String]
437
+ def public_ip_address
438
+ data[:public_ip_address]
439
+ end
440
+
439
441
  # @!endgroup
440
442
 
441
443
  # @return [Client]
@@ -672,8 +674,8 @@ module Aws::EC2
672
674
  #
673
675
  # instance.attach_classic_link_vpc({
674
676
  # dry_run: false,
675
- # groups: ["SecurityGroupId"], # required
676
677
  # vpc_id: "VpcId", # required
678
+ # groups: ["SecurityGroupId"], # required
677
679
  # })
678
680
  # @param [Hash] options ({})
679
681
  # @option options [Boolean] :dry_run
@@ -681,11 +683,11 @@ module Aws::EC2
681
683
  # without actually making the request, and provides an error response.
682
684
  # If you have the required permissions, the error response is
683
685
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
686
+ # @option options [required, String] :vpc_id
687
+ # The ID of the ClassicLink-enabled VPC.
684
688
  # @option options [required, Array<String>] :groups
685
689
  # The IDs of the security groups. You cannot specify security groups
686
690
  # from a different VPC.
687
- # @option options [required, String] :vpc_id
688
- # The ID of the ClassicLink-enabled VPC.
689
691
  # @return [Types::AttachClassicLinkVpcResult]
690
692
  def attach_classic_link_vpc(options = {})
691
693
  options = options.merge(instance_id: @id)
@@ -725,19 +727,19 @@ module Aws::EC2
725
727
  # @example Request syntax with placeholder values
726
728
  #
727
729
  # instance.console_output({
728
- # dry_run: false,
729
730
  # latest: false,
731
+ # dry_run: false,
730
732
  # })
731
733
  # @param [Hash] options ({})
734
+ # @option options [Boolean] :latest
735
+ # When enabled, retrieves the latest console output for the instance.
736
+ #
737
+ # Default: disabled (`false`)
732
738
  # @option options [Boolean] :dry_run
733
739
  # Checks whether you have the required permissions for the operation,
734
740
  # without actually making the request, and provides an error response.
735
741
  # If you have the required permissions, the error response is
736
742
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
737
- # @option options [Boolean] :latest
738
- # When enabled, retrieves the latest console output for the instance.
739
- #
740
- # Default: disabled (`false`)
741
743
  # @return [Types::GetConsoleOutputResult]
742
744
  def console_output(options = {})
743
745
  options = options.merge(instance_id: @id)
@@ -750,10 +752,23 @@ module Aws::EC2
750
752
  # @example Request syntax with placeholder values
751
753
  #
752
754
  # image = instance.create_image({
755
+ # tag_specifications: [
756
+ # {
757
+ # 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, ipam-external-resource-verification-token
758
+ # tags: [
759
+ # {
760
+ # key: "String",
761
+ # value: "String",
762
+ # },
763
+ # ],
764
+ # },
765
+ # ],
766
+ # dry_run: false,
767
+ # name: "String", # required
768
+ # description: "String",
769
+ # no_reboot: false,
753
770
  # block_device_mappings: [
754
771
  # {
755
- # device_name: "String",
756
- # virtual_name: "String",
757
772
  # ebs: {
758
773
  # delete_on_termination: false,
759
774
  # iops: 1,
@@ -766,44 +781,31 @@ module Aws::EC2
766
781
  # encrypted: false,
767
782
  # },
768
783
  # no_device: "String",
769
- # },
770
- # ],
771
- # description: "String",
772
- # dry_run: false,
773
- # name: "String", # required
774
- # no_reboot: false,
775
- # tag_specifications: [
776
- # {
777
- # 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, ipam-external-resource-verification-token
778
- # tags: [
779
- # {
780
- # key: "String",
781
- # value: "String",
782
- # },
783
- # ],
784
+ # device_name: "String",
785
+ # virtual_name: "String",
784
786
  # },
785
787
  # ],
786
788
  # })
787
789
  # @param [Hash] options ({})
788
- # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
789
- # The block device mappings.
790
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
791
+ # The tags to apply to the AMI and snapshots on creation. You can tag
792
+ # the AMI, the snapshots, or both.
790
793
  #
791
- # When using the CreateImage action:
794
+ # * To tag the AMI, the value for `ResourceType` must be `image`.
792
795
  #
793
- # * You can't change the volume size using the VolumeSize parameter. If
794
- # you want a different volume size, you must first change the volume
795
- # size of the source instance.
796
+ # * To tag the snapshots that are created of the root volume and of
797
+ # other Amazon EBS volumes that are attached to the instance, the
798
+ # value for `ResourceType` must be `snapshot`. The same tag is applied
799
+ # to all of the snapshots that are created.
796
800
  #
797
- # * You can't modify the encryption status of existing volumes or
798
- # snapshots. To create an AMI with volumes or snapshots that have a
799
- # different encryption status (for example, where the source volume
800
- # and snapshots are unencrypted, and you want to create an AMI with
801
- # encrypted volumes or snapshots), use the CopyImage action.
801
+ # If you specify other values for `ResourceType`, the request fails.
802
802
  #
803
- # * The only option that can be changed for existing mappings or
804
- # snapshots is `DeleteOnTermination`.
805
- # @option options [String] :description
806
- # A description for the new image.
803
+ # To tag an AMI or snapshot after it has been created, see
804
+ # [CreateTags][1].
805
+ #
806
+ #
807
+ #
808
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
807
809
  # @option options [Boolean] :dry_run
808
810
  # Checks whether you have the required permissions for the action,
809
811
  # without actually making the request, and provides an error response.
@@ -815,6 +817,8 @@ module Aws::EC2
815
817
  # Constraints: 3-128 alphanumeric characters, parentheses (()), square
816
818
  # brackets (\[\]), spaces ( ), periods (.), slashes (/), dashes (-),
817
819
  # single quotes ('), at-signs (@), or underscores(\_)
820
+ # @option options [String] :description
821
+ # A description for the new image.
818
822
  # @option options [Boolean] :no_reboot
819
823
  # Indicates whether or not the instance should be automatically rebooted
820
824
  # before creating the image. Specify one of the following values:
@@ -830,25 +834,23 @@ module Aws::EC2
830
834
  # volumes before the snapshots are created.
831
835
  #
832
836
  # Default: `false`
833
- # @option options [Array<Types::TagSpecification>] :tag_specifications
834
- # The tags to apply to the AMI and snapshots on creation. You can tag
835
- # the AMI, the snapshots, or both.
836
- #
837
- # * To tag the AMI, the value for `ResourceType` must be `image`.
838
- #
839
- # * To tag the snapshots that are created of the root volume and of
840
- # other Amazon EBS volumes that are attached to the instance, the
841
- # value for `ResourceType` must be `snapshot`. The same tag is applied
842
- # to all of the snapshots that are created.
843
- #
844
- # If you specify other values for `ResourceType`, the request fails.
837
+ # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
838
+ # The block device mappings.
845
839
  #
846
- # To tag an AMI or snapshot after it has been created, see
847
- # [CreateTags][1].
840
+ # When using the CreateImage action:
848
841
  #
842
+ # * You can't change the volume size using the VolumeSize parameter. If
843
+ # you want a different volume size, you must first change the volume
844
+ # size of the source instance.
849
845
  #
846
+ # * You can't modify the encryption status of existing volumes or
847
+ # snapshots. To create an AMI with volumes or snapshots that have a
848
+ # different encryption status (for example, where the source volume
849
+ # and snapshots are unencrypted, and you want to create an AMI with
850
+ # encrypted volumes or snapshots), use the CopyImage action.
850
851
  #
851
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
852
+ # * The only option that can be changed for existing mappings or
853
+ # snapshots is `DeleteOnTermination`.
852
854
  # @return [Image]
853
855
  def create_image(options = {})
854
856
  options = options.merge(instance_id: @id)
@@ -950,19 +952,19 @@ module Aws::EC2
950
952
  # @example Request syntax with placeholder values
951
953
  #
952
954
  # instance.describe_attribute({
953
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
954
955
  # dry_run: false,
956
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
955
957
  # })
956
958
  # @param [Hash] options ({})
957
- # @option options [required, String] :attribute
958
- # The instance attribute.
959
- #
960
- # Note: The `enaSupport` attribute is not supported at this time.
961
959
  # @option options [Boolean] :dry_run
962
960
  # Checks whether you have the required permissions for the operation,
963
961
  # without actually making the request, and provides an error response.
964
962
  # If you have the required permissions, the error response is
965
963
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
964
+ # @option options [required, String] :attribute
965
+ # The instance attribute.
966
+ #
967
+ # Note: The `enaSupport` attribute is not supported at this time.
966
968
  # @return [Types::InstanceAttribute]
967
969
  def describe_attribute(options = {})
968
970
  options = options.merge(instance_id: @id)
@@ -1037,39 +1039,39 @@ module Aws::EC2
1037
1039
  # source_dest_check: {
1038
1040
  # value: false,
1039
1041
  # },
1042
+ # disable_api_stop: {
1043
+ # value: false,
1044
+ # },
1045
+ # dry_run: false,
1040
1046
  # attribute: "instanceType", # accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1047
+ # value: "String",
1041
1048
  # block_device_mappings: [
1042
1049
  # {
1043
1050
  # device_name: "String",
1044
1051
  # ebs: {
1045
- # delete_on_termination: false,
1046
1052
  # volume_id: "VolumeId",
1053
+ # delete_on_termination: false,
1047
1054
  # },
1048
- # no_device: "String",
1049
1055
  # virtual_name: "String",
1056
+ # no_device: "String",
1050
1057
  # },
1051
1058
  # ],
1052
1059
  # disable_api_termination: {
1053
1060
  # value: false,
1054
1061
  # },
1055
- # dry_run: false,
1056
- # ebs_optimized: {
1057
- # value: false,
1058
- # },
1059
- # ena_support: {
1060
- # value: false,
1061
- # },
1062
- # groups: ["SecurityGroupId"],
1063
- # instance_initiated_shutdown_behavior: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1064
1062
  # instance_type: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1065
1063
  # kernel: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1066
1064
  # ramdisk: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1067
- # sriov_net_support: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1068
1065
  # user_data: {
1069
1066
  # value: "data",
1070
1067
  # },
1071
- # value: "String",
1072
- # disable_api_stop: {
1068
+ # instance_initiated_shutdown_behavior: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1069
+ # groups: ["SecurityGroupId"],
1070
+ # ebs_optimized: {
1071
+ # value: false,
1072
+ # },
1073
+ # sriov_net_support: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
1074
+ # ena_support: {
1073
1075
  # value: false,
1074
1076
  # },
1075
1077
  # })
@@ -1081,6 +1083,20 @@ module Aws::EC2
1081
1083
  # enabled; otherwise, they are disabled. The default value is `true`.
1082
1084
  # You must disable source/destination checks if the instance runs
1083
1085
  # services such as network address translation, routing, or firewalls.
1086
+ # @option options [Types::AttributeBooleanValue] :disable_api_stop
1087
+ # Indicates whether an instance is enabled for stop protection. For more
1088
+ # information, see [Enable stop protection for your instance][1].
1089
+ #
1090
+ #
1091
+ #
1092
+ #
1093
+ #
1094
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html
1095
+ # @option options [Boolean] :dry_run
1096
+ # Checks whether you have the required permissions for the operation,
1097
+ # without actually making the request, and provides an error response.
1098
+ # If you have the required permissions, the error response is
1099
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1084
1100
  # @option options [String] :attribute
1085
1101
  # The name of the attribute to modify.
1086
1102
  #
@@ -1090,6 +1106,10 @@ module Aws::EC2
1090
1106
  # `userData` \| `sourceDestCheck` \| `groupSet` \| `ebsOptimized` \|
1091
1107
  # `sriovNetSupport` \| `enaSupport` \| `nvmeSupport` \| `disableApiStop`
1092
1108
  # \| `enclaveOptions`
1109
+ # @option options [String] :value
1110
+ # A new value for the attribute. Use only with the `kernel`, `ramdisk`,
1111
+ # `userData`, `disableApiTermination`, or
1112
+ # `instanceInitiatedShutdownBehavior` attribute.
1093
1113
  # @option options [Array<Types::InstanceBlockDeviceMappingSpecification>] :block_device_mappings
1094
1114
  # Modifies the `DeleteOnTermination` attribute for volumes that are
1095
1115
  # currently attached. The volume must be owned by the caller. If no
@@ -1110,30 +1130,6 @@ module Aws::EC2
1110
1130
  # If the value is `true`, you can't terminate the instance using the
1111
1131
  # Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use
1112
1132
  # this parameter for Spot Instances.
1113
- # @option options [Boolean] :dry_run
1114
- # Checks whether you have the required permissions for the operation,
1115
- # without actually making the request, and provides an error response.
1116
- # If you have the required permissions, the error response is
1117
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1118
- # @option options [Types::AttributeBooleanValue] :ebs_optimized
1119
- # Specifies whether the instance is optimized for Amazon EBS I/O. This
1120
- # optimization provides dedicated throughput to Amazon EBS and an
1121
- # optimized configuration stack to provide optimal EBS I/O performance.
1122
- # This optimization isn't available with all instance types. Additional
1123
- # usage charges apply when using an EBS Optimized instance.
1124
- # @option options [Types::AttributeBooleanValue] :ena_support
1125
- # Set to `true` to enable enhanced networking with ENA for the instance.
1126
- #
1127
- # This option is supported only for HVM instances. Specifying this
1128
- # option with a PV instance can make it unreachable.
1129
- # @option options [Array<String>] :groups
1130
- # Replaces the security groups of the instance with the specified
1131
- # security groups. You must specify the ID of at least one security
1132
- # group, even if it's just the default security group for the VPC.
1133
- # @option options [Types::AttributeValue] :instance_initiated_shutdown_behavior
1134
- # Specifies whether an instance stops or terminates when you initiate
1135
- # shutdown from the instance (using the operating system command for
1136
- # system shutdown).
1137
1133
  # @option options [Types::AttributeValue] :instance_type
1138
1134
  # Changes the instance type to the specified value. For more
1139
1135
  # information, see [Instance types][1] in the *Amazon EC2 User Guide*.
@@ -1159,15 +1155,6 @@ module Aws::EC2
1159
1155
  #
1160
1156
  #
1161
1157
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1162
- # @option options [Types::AttributeValue] :sriov_net_support
1163
- # Set to `simple` to enable enhanced networking with the Intel 82599
1164
- # Virtual Function interface for the instance.
1165
- #
1166
- # There is no way to disable enhanced networking with the Intel 82599
1167
- # Virtual Function interface at this time.
1168
- #
1169
- # This option is supported only for HVM instances. Specifying this
1170
- # option with a PV instance can make it unreachable.
1171
1158
  # @option options [Types::BlobAttributeValue] :user_data
1172
1159
  # Changes the instance's user data to the specified value. User data
1173
1160
  # must be base64-encoded. Depending on the tool or SDK that you're
@@ -1177,19 +1164,34 @@ module Aws::EC2
1177
1164
  #
1178
1165
  #
1179
1166
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html
1180
- # @option options [String] :value
1181
- # A new value for the attribute. Use only with the `kernel`, `ramdisk`,
1182
- # `userData`, `disableApiTermination`, or
1183
- # `instanceInitiatedShutdownBehavior` attribute.
1184
- # @option options [Types::AttributeBooleanValue] :disable_api_stop
1185
- # Indicates whether an instance is enabled for stop protection. For more
1186
- # information, see [Enable stop protection for your instance][1].
1187
- #
1188
- #
1167
+ # @option options [Types::AttributeValue] :instance_initiated_shutdown_behavior
1168
+ # Specifies whether an instance stops or terminates when you initiate
1169
+ # shutdown from the instance (using the operating system command for
1170
+ # system shutdown).
1171
+ # @option options [Array<String>] :groups
1172
+ # Replaces the security groups of the instance with the specified
1173
+ # security groups. You must specify the ID of at least one security
1174
+ # group, even if it's just the default security group for the VPC.
1175
+ # @option options [Types::AttributeBooleanValue] :ebs_optimized
1176
+ # Specifies whether the instance is optimized for Amazon EBS I/O. This
1177
+ # optimization provides dedicated throughput to Amazon EBS and an
1178
+ # optimized configuration stack to provide optimal EBS I/O performance.
1179
+ # This optimization isn't available with all instance types. Additional
1180
+ # usage charges apply when using an EBS Optimized instance.
1181
+ # @option options [Types::AttributeValue] :sriov_net_support
1182
+ # Set to `simple` to enable enhanced networking with the Intel 82599
1183
+ # Virtual Function interface for the instance.
1189
1184
  #
1185
+ # There is no way to disable enhanced networking with the Intel 82599
1186
+ # Virtual Function interface at this time.
1190
1187
  #
1188
+ # This option is supported only for HVM instances. Specifying this
1189
+ # option with a PV instance can make it unreachable.
1190
+ # @option options [Types::AttributeBooleanValue] :ena_support
1191
+ # Set to `true` to enable enhanced networking with ENA for the instance.
1191
1192
  #
1192
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html
1193
+ # This option is supported only for HVM instances. Specifying this
1194
+ # option with a PV instance can make it unreachable.
1193
1195
  # @return [EmptyStructure]
1194
1196
  def modify_attribute(options = {})
1195
1197
  options = options.merge(instance_id: @id)
@@ -1262,21 +1264,23 @@ module Aws::EC2
1262
1264
  # @example Request syntax with placeholder values
1263
1265
  #
1264
1266
  # instance.report_status({
1265
- # description: "String",
1266
1267
  # dry_run: false,
1268
+ # status: "ok", # required, accepts ok, impaired
1269
+ # start_time: Time.now,
1267
1270
  # end_time: Time.now,
1268
1271
  # 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
1269
- # start_time: Time.now,
1270
- # status: "ok", # required, accepts ok, impaired
1272
+ # description: "ReportInstanceStatusRequestDescription",
1271
1273
  # })
1272
1274
  # @param [Hash] options ({})
1273
- # @option options [String] :description
1274
- # Descriptive text about the health state of your instance.
1275
1275
  # @option options [Boolean] :dry_run
1276
1276
  # Checks whether you have the required permissions for the operation,
1277
1277
  # without actually making the request, and provides an error response.
1278
1278
  # If you have the required permissions, the error response is
1279
1279
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1280
+ # @option options [required, String] :status
1281
+ # The status of all instances listed.
1282
+ # @option options [Time,DateTime,Date,Integer,String] :start_time
1283
+ # The time at which the reported instance health state began.
1280
1284
  # @option options [Time,DateTime,Date,Integer,String] :end_time
1281
1285
  # The time at which the reported instance health state ended.
1282
1286
  # @option options [required, Array<String>] :reason_codes
@@ -1306,10 +1310,8 @@ module Aws::EC2
1306
1310
  # problems.
1307
1311
  #
1308
1312
  # * `other`: \[explain using the description parameter\]
1309
- # @option options [Time,DateTime,Date,Integer,String] :start_time
1310
- # The time at which the reported instance health state began.
1311
- # @option options [required, String] :status
1312
- # The status of all instances listed.
1313
+ # @option options [String] :description
1314
+ # Descriptive text about the health state of your instance.
1313
1315
  # @return [EmptyStructure]
1314
1316
  def report_status(options = {})
1315
1317
  options = Aws::Util.deep_merge(options, instances: [@id])
@@ -1322,20 +1324,20 @@ module Aws::EC2
1322
1324
  # @example Request syntax with placeholder values
1323
1325
  #
1324
1326
  # instance.reset_attribute({
1325
- # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1326
1327
  # dry_run: false,
1328
+ # attribute: "instanceType", # required, accepts instanceType, kernel, ramdisk, userData, disableApiTermination, instanceInitiatedShutdownBehavior, rootDeviceName, blockDeviceMapping, productCodes, sourceDestCheck, groupSet, ebsOptimized, sriovNetSupport, enaSupport, enclaveOptions, disableApiStop
1327
1329
  # })
1328
1330
  # @param [Hash] options ({})
1329
- # @option options [required, String] :attribute
1330
- # The attribute to reset.
1331
- #
1332
- # You can only reset the following attributes: `kernel` \| `ramdisk` \|
1333
- # `sourceDestCheck`.
1334
1331
  # @option options [Boolean] :dry_run
1335
1332
  # Checks whether you have the required permissions for the operation,
1336
1333
  # without actually making the request, and provides an error response.
1337
1334
  # If you have the required permissions, the error response is
1338
1335
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1336
+ # @option options [required, String] :attribute
1337
+ # The attribute to reset.
1338
+ #
1339
+ # You can only reset the following attributes: `kernel` \| `ramdisk` \|
1340
+ # `sourceDestCheck`.
1339
1341
  # @return [EmptyStructure]
1340
1342
  def reset_attribute(options = {})
1341
1343
  options = options.merge(instance_id: @id)
@@ -1595,16 +1597,24 @@ module Aws::EC2
1595
1597
  # @example Request syntax with placeholder values
1596
1598
  #
1597
1599
  # volumes = instance.volumes({
1600
+ # volume_ids: ["VolumeId"],
1601
+ # dry_run: false,
1598
1602
  # filters: [
1599
1603
  # {
1600
1604
  # name: "String",
1601
1605
  # values: ["String"],
1602
1606
  # },
1603
1607
  # ],
1604
- # volume_ids: ["VolumeId"],
1605
- # dry_run: false,
1606
1608
  # })
1607
1609
  # @param [Hash] options ({})
1610
+ # @option options [Array<String>] :volume_ids
1611
+ # The volume IDs. If not specified, then all volumes are included in the
1612
+ # response.
1613
+ # @option options [Boolean] :dry_run
1614
+ # Checks whether you have the required permissions for the action,
1615
+ # without actually making the request, and provides an error response.
1616
+ # If you have the required permissions, the error response is
1617
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1608
1618
  # @option options [Array<Types::Filter>] :filters
1609
1619
  # The filters.
1610
1620
  #
@@ -1659,14 +1669,6 @@ module Aws::EC2
1659
1669
  #
1660
1670
  # * `volume-type` - The Amazon EBS volume type (`gp2` \| `gp3` \| `io1`
1661
1671
  # \| `io2` \| `st1` \| `sc1`\| `standard`)
1662
- # @option options [Array<String>] :volume_ids
1663
- # The volume IDs. If not specified, then all volumes are included in the
1664
- # response.
1665
- # @option options [Boolean] :dry_run
1666
- # Checks whether you have the required permissions for the action,
1667
- # without actually making the request, and provides an error response.
1668
- # If you have the required permissions, the error response is
1669
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1670
1672
  # @return [Volume::Collection]
1671
1673
  def volumes(options = {})
1672
1674
  batches = Enumerator.new do |y|
@@ -1707,17 +1709,26 @@ module Aws::EC2
1707
1709
  # @example Request syntax with placeholder values
1708
1710
  #
1709
1711
  # vpc_addresses = instance.vpc_addresses({
1712
+ # public_ips: ["String"],
1713
+ # dry_run: false,
1710
1714
  # filters: [
1711
1715
  # {
1712
1716
  # name: "String",
1713
1717
  # values: ["String"],
1714
1718
  # },
1715
1719
  # ],
1716
- # public_ips: ["String"],
1717
1720
  # allocation_ids: ["AllocationId"],
1718
- # dry_run: false,
1719
1721
  # })
1720
1722
  # @param [Hash] options ({})
1723
+ # @option options [Array<String>] :public_ips
1724
+ # One or more Elastic IP addresses.
1725
+ #
1726
+ # Default: Describes all your Elastic IP addresses.
1727
+ # @option options [Boolean] :dry_run
1728
+ # Checks whether you have the required permissions for the action,
1729
+ # without actually making the request, and provides an error response.
1730
+ # If you have the required permissions, the error response is
1731
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1721
1732
  # @option options [Array<Types::Filter>] :filters
1722
1733
  # One or more filters. Filter names and values are case-sensitive.
1723
1734
  #
@@ -1752,17 +1763,8 @@ module Aws::EC2
1752
1763
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1753
1764
  # filter to find all resources assigned a tag with a specific key,
1754
1765
  # regardless of the tag value.
1755
- # @option options [Array<String>] :public_ips
1756
- # One or more Elastic IP addresses.
1757
- #
1758
- # Default: Describes all your Elastic IP addresses.
1759
1766
  # @option options [Array<String>] :allocation_ids
1760
1767
  # Information about the allocation IDs.
1761
- # @option options [Boolean] :dry_run
1762
- # Checks whether you have the required permissions for the action,
1763
- # without actually making the request, and provides an error response.
1764
- # If you have the required permissions, the error response is
1765
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1766
1768
  # @return [VpcAddress::Collection]
1767
1769
  def vpc_addresses(options = {})
1768
1770
  batches = Enumerator.new do |y|