aws-sdk-ec2 1.479.0 → 1.480.0

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