aws-sdk-ec2 1.479.0 → 1.481.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 (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|