aws-sdk-ec2 1.402.0 → 1.547.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +735 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +32 -20
  5. data/lib/aws-sdk-ec2/client.rb +14212 -4429
  6. data/lib/aws-sdk-ec2/client_api.rb +4004 -515
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +16 -20
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8314
  15. data/lib/aws-sdk-ec2/image.rb +207 -98
  16. data/lib/aws-sdk-ec2/instance.rb +514 -348
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +150 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +123 -42
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +23 -1202
  26. data/lib/aws-sdk-ec2/resource.rb +1118 -864
  27. data/lib/aws-sdk-ec2/route.rb +50 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +47 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +534 -406
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +18252 -4766
  35. data/lib/aws-sdk-ec2/volume.rb +160 -116
  36. data/lib/aws-sdk-ec2/vpc.rb +387 -262
  37. data/lib/aws-sdk-ec2/vpc_address.rb +37 -25
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2/waiters.rb +146 -38
  40. data/lib/aws-sdk-ec2.rb +40 -36
  41. data/sig/classic_address.rbs +108 -0
  42. data/sig/client.rbs +14833 -0
  43. data/sig/dhcp_options.rbs +84 -0
  44. data/sig/errors.rbs +16 -0
  45. data/sig/image.rbs +232 -0
  46. data/sig/instance.rbs +576 -0
  47. data/sig/internet_gateway.rbs +91 -0
  48. data/sig/key_pair.rbs +54 -0
  49. data/sig/key_pair_info.rbs +63 -0
  50. data/sig/nat_gateway.rbs +107 -0
  51. data/sig/network_acl.rbs +144 -0
  52. data/sig/network_interface.rbs +249 -0
  53. data/sig/network_interface_association.rbs +62 -0
  54. data/sig/placement_group.rbs +78 -0
  55. data/sig/resource.rbs +1049 -0
  56. data/sig/route.rbs +120 -0
  57. data/sig/route_table.rbs +118 -0
  58. data/sig/route_table_association.rbs +69 -0
  59. data/sig/security_group.rbs +311 -0
  60. data/sig/snapshot.rbs +204 -0
  61. data/sig/subnet.rbs +442 -0
  62. data/sig/tag.rbs +63 -0
  63. data/sig/types.rbs +17078 -0
  64. data/sig/volume.rbs +213 -0
  65. data/sig/vpc.rbs +404 -0
  66. data/sig/vpc_address.rbs +104 -0
  67. data/sig/vpc_peering_connection.rbs +84 -0
  68. data/sig/waiters.rbs +700 -0
  69. metadata +45 -19
data/sig/instance.rbs ADDED
@@ -0,0 +1,576 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module EC2
10
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html
11
+ class Instance
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#initialize-instance_method
13
+ def initialize: (String id, Hash[Symbol, untyped] options) -> void
14
+ | (id: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#id-instance_method
18
+ def id: () -> String
19
+ alias instance_id id
20
+
21
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#architecture-instance_method
22
+ def architecture: () -> ("i386" | "x86_64" | "arm64" | "x86_64_mac" | "arm64_mac")
23
+
24
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#block_device_mappings-instance_method
25
+ def block_device_mappings: () -> ::Array[Types::InstanceBlockDeviceMapping]
26
+
27
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#client_token-instance_method
28
+ def client_token: () -> ::String
29
+
30
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ebs_optimized-instance_method
31
+ def ebs_optimized: () -> bool
32
+
33
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ena_support-instance_method
34
+ def ena_support: () -> bool
35
+
36
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#hypervisor-instance_method
37
+ def hypervisor: () -> ("ovm" | "xen")
38
+
39
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#iam_instance_profile-instance_method
40
+ def iam_instance_profile: () -> Types::IamInstanceProfile
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#instance_lifecycle-instance_method
43
+ def instance_lifecycle: () -> ("spot" | "scheduled" | "capacity-block")
44
+
45
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#elastic_gpu_associations-instance_method
46
+ def elastic_gpu_associations: () -> ::Array[Types::ElasticGpuAssociation]
47
+
48
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#elastic_inference_accelerator_associations-instance_method
49
+ def elastic_inference_accelerator_associations: () -> ::Array[Types::ElasticInferenceAcceleratorAssociation]
50
+
51
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#outpost_arn-instance_method
52
+ def outpost_arn: () -> ::String
53
+
54
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#root_device_name-instance_method
55
+ def root_device_name: () -> ::String
56
+
57
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#root_device_type-instance_method
58
+ def root_device_type: () -> ("ebs" | "instance-store")
59
+
60
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#security_groups-instance_method
61
+ def security_groups: () -> ::Array[Types::GroupIdentifier]
62
+
63
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#source_dest_check-instance_method
64
+ def source_dest_check: () -> bool
65
+
66
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#spot_instance_request_id-instance_method
67
+ def spot_instance_request_id: () -> ::String
68
+
69
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#sriov_net_support-instance_method
70
+ def sriov_net_support: () -> ::String
71
+
72
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#state_reason-instance_method
73
+ def state_reason: () -> Types::StateReason
74
+
75
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#tags-instance_method
76
+ def tags: () -> ::Array[Types::Tag]
77
+
78
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#virtualization_type-instance_method
79
+ def virtualization_type: () -> ("hvm" | "paravirtual")
80
+
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#cpu_options-instance_method
82
+ def cpu_options: () -> Types::CpuOptions
83
+
84
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#capacity_block_id-instance_method
85
+ def capacity_block_id: () -> ::String
86
+
87
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#capacity_reservation_id-instance_method
88
+ def capacity_reservation_id: () -> ::String
89
+
90
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#capacity_reservation_specification-instance_method
91
+ def capacity_reservation_specification: () -> Types::CapacityReservationSpecificationResponse
92
+
93
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#hibernation_options-instance_method
94
+ def hibernation_options: () -> Types::HibernationOptions
95
+
96
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#licenses-instance_method
97
+ def licenses: () -> ::Array[Types::LicenseConfiguration]
98
+
99
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#metadata_options-instance_method
100
+ def metadata_options: () -> Types::InstanceMetadataOptionsResponse
101
+
102
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#enclave_options-instance_method
103
+ def enclave_options: () -> Types::EnclaveOptions
104
+
105
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#boot_mode-instance_method
106
+ def boot_mode: () -> ("legacy-bios" | "uefi" | "uefi-preferred")
107
+
108
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#platform_details-instance_method
109
+ def platform_details: () -> ::String
110
+
111
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#usage_operation-instance_method
112
+ def usage_operation: () -> ::String
113
+
114
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#usage_operation_update_time-instance_method
115
+ def usage_operation_update_time: () -> ::Time
116
+
117
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_dns_name_options-instance_method
118
+ def private_dns_name_options: () -> Types::PrivateDnsNameOptionsResponse
119
+
120
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ipv_6_address-instance_method
121
+ def ipv_6_address: () -> ::String
122
+
123
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#tpm_support-instance_method
124
+ def tpm_support: () -> ::String
125
+
126
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#maintenance_options-instance_method
127
+ def maintenance_options: () -> Types::InstanceMaintenanceOptions
128
+
129
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#current_instance_boot_mode-instance_method
130
+ def current_instance_boot_mode: () -> ("legacy-bios" | "uefi")
131
+
132
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#network_performance_options-instance_method
133
+ def network_performance_options: () -> Types::InstanceNetworkPerformanceOptions
134
+
135
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#operator-instance_method
136
+ def operator: () -> Types::OperatorResponse
137
+
138
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#image_id-instance_method
139
+ def image_id: () -> ::String
140
+
141
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#state-instance_method
142
+ def state: () -> Types::InstanceState
143
+
144
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_dns_name-instance_method
145
+ def private_dns_name: () -> ::String
146
+
147
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#public_dns_name-instance_method
148
+ def public_dns_name: () -> ::String
149
+
150
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#state_transition_reason-instance_method
151
+ def state_transition_reason: () -> ::String
152
+
153
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#key_name-instance_method
154
+ def key_name: () -> ::String
155
+
156
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ami_launch_index-instance_method
157
+ def ami_launch_index: () -> ::Integer
158
+
159
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#product_codes-instance_method
160
+ def product_codes: () -> ::Array[Types::ProductCode]
161
+
162
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#instance_type-instance_method
163
+ def instance_type: () -> ("a1.medium" | "a1.large" | "a1.xlarge" | "a1.2xlarge" | "a1.4xlarge" | "a1.metal" | "c1.medium" | "c1.xlarge" | "c3.large" | "c3.xlarge" | "c3.2xlarge" | "c3.4xlarge" | "c3.8xlarge" | "c4.large" | "c4.xlarge" | "c4.2xlarge" | "c4.4xlarge" | "c4.8xlarge" | "c5.large" | "c5.xlarge" | "c5.2xlarge" | "c5.4xlarge" | "c5.9xlarge" | "c5.12xlarge" | "c5.18xlarge" | "c5.24xlarge" | "c5.metal" | "c5a.large" | "c5a.xlarge" | "c5a.2xlarge" | "c5a.4xlarge" | "c5a.8xlarge" | "c5a.12xlarge" | "c5a.16xlarge" | "c5a.24xlarge" | "c5ad.large" | "c5ad.xlarge" | "c5ad.2xlarge" | "c5ad.4xlarge" | "c5ad.8xlarge" | "c5ad.12xlarge" | "c5ad.16xlarge" | "c5ad.24xlarge" | "c5d.large" | "c5d.xlarge" | "c5d.2xlarge" | "c5d.4xlarge" | "c5d.9xlarge" | "c5d.12xlarge" | "c5d.18xlarge" | "c5d.24xlarge" | "c5d.metal" | "c5n.large" | "c5n.xlarge" | "c5n.2xlarge" | "c5n.4xlarge" | "c5n.9xlarge" | "c5n.18xlarge" | "c5n.metal" | "c6g.medium" | "c6g.large" | "c6g.xlarge" | "c6g.2xlarge" | "c6g.4xlarge" | "c6g.8xlarge" | "c6g.12xlarge" | "c6g.16xlarge" | "c6g.metal" | "c6gd.medium" | "c6gd.large" | "c6gd.xlarge" | "c6gd.2xlarge" | "c6gd.4xlarge" | "c6gd.8xlarge" | "c6gd.12xlarge" | "c6gd.16xlarge" | "c6gd.metal" | "c6gn.medium" | "c6gn.large" | "c6gn.xlarge" | "c6gn.2xlarge" | "c6gn.4xlarge" | "c6gn.8xlarge" | "c6gn.12xlarge" | "c6gn.16xlarge" | "c6i.large" | "c6i.xlarge" | "c6i.2xlarge" | "c6i.4xlarge" | "c6i.8xlarge" | "c6i.12xlarge" | "c6i.16xlarge" | "c6i.24xlarge" | "c6i.32xlarge" | "c6i.metal" | "cc1.4xlarge" | "cc2.8xlarge" | "cg1.4xlarge" | "cr1.8xlarge" | "d2.xlarge" | "d2.2xlarge" | "d2.4xlarge" | "d2.8xlarge" | "d3.xlarge" | "d3.2xlarge" | "d3.4xlarge" | "d3.8xlarge" | "d3en.xlarge" | "d3en.2xlarge" | "d3en.4xlarge" | "d3en.6xlarge" | "d3en.8xlarge" | "d3en.12xlarge" | "dl1.24xlarge" | "f1.2xlarge" | "f1.4xlarge" | "f1.16xlarge" | "g2.2xlarge" | "g2.8xlarge" | "g3.4xlarge" | "g3.8xlarge" | "g3.16xlarge" | "g3s.xlarge" | "g4ad.xlarge" | "g4ad.2xlarge" | "g4ad.4xlarge" | "g4ad.8xlarge" | "g4ad.16xlarge" | "g4dn.xlarge" | "g4dn.2xlarge" | "g4dn.4xlarge" | "g4dn.8xlarge" | "g4dn.12xlarge" | "g4dn.16xlarge" | "g4dn.metal" | "g5.xlarge" | "g5.2xlarge" | "g5.4xlarge" | "g5.8xlarge" | "g5.12xlarge" | "g5.16xlarge" | "g5.24xlarge" | "g5.48xlarge" | "g5g.xlarge" | "g5g.2xlarge" | "g5g.4xlarge" | "g5g.8xlarge" | "g5g.16xlarge" | "g5g.metal" | "hi1.4xlarge" | "hpc6a.48xlarge" | "hs1.8xlarge" | "h1.2xlarge" | "h1.4xlarge" | "h1.8xlarge" | "h1.16xlarge" | "i2.xlarge" | "i2.2xlarge" | "i2.4xlarge" | "i2.8xlarge" | "i3.large" | "i3.xlarge" | "i3.2xlarge" | "i3.4xlarge" | "i3.8xlarge" | "i3.16xlarge" | "i3.metal" | "i3en.large" | "i3en.xlarge" | "i3en.2xlarge" | "i3en.3xlarge" | "i3en.6xlarge" | "i3en.12xlarge" | "i3en.24xlarge" | "i3en.metal" | "im4gn.large" | "im4gn.xlarge" | "im4gn.2xlarge" | "im4gn.4xlarge" | "im4gn.8xlarge" | "im4gn.16xlarge" | "inf1.xlarge" | "inf1.2xlarge" | "inf1.6xlarge" | "inf1.24xlarge" | "is4gen.medium" | "is4gen.large" | "is4gen.xlarge" | "is4gen.2xlarge" | "is4gen.4xlarge" | "is4gen.8xlarge" | "m1.small" | "m1.medium" | "m1.large" | "m1.xlarge" | "m2.xlarge" | "m2.2xlarge" | "m2.4xlarge" | "m3.medium" | "m3.large" | "m3.xlarge" | "m3.2xlarge" | "m4.large" | "m4.xlarge" | "m4.2xlarge" | "m4.4xlarge" | "m4.10xlarge" | "m4.16xlarge" | "m5.large" | "m5.xlarge" | "m5.2xlarge" | "m5.4xlarge" | "m5.8xlarge" | "m5.12xlarge" | "m5.16xlarge" | "m5.24xlarge" | "m5.metal" | "m5a.large" | "m5a.xlarge" | "m5a.2xlarge" | "m5a.4xlarge" | "m5a.8xlarge" | "m5a.12xlarge" | "m5a.16xlarge" | "m5a.24xlarge" | "m5ad.large" | "m5ad.xlarge" | "m5ad.2xlarge" | "m5ad.4xlarge" | "m5ad.8xlarge" | "m5ad.12xlarge" | "m5ad.16xlarge" | "m5ad.24xlarge" | "m5d.large" | "m5d.xlarge" | "m5d.2xlarge" | "m5d.4xlarge" | "m5d.8xlarge" | "m5d.12xlarge" | "m5d.16xlarge" | "m5d.24xlarge" | "m5d.metal" | "m5dn.large" | "m5dn.xlarge" | "m5dn.2xlarge" | "m5dn.4xlarge" | "m5dn.8xlarge" | "m5dn.12xlarge" | "m5dn.16xlarge" | "m5dn.24xlarge" | "m5dn.metal" | "m5n.large" | "m5n.xlarge" | "m5n.2xlarge" | "m5n.4xlarge" | "m5n.8xlarge" | "m5n.12xlarge" | "m5n.16xlarge" | "m5n.24xlarge" | "m5n.metal" | "m5zn.large" | "m5zn.xlarge" | "m5zn.2xlarge" | "m5zn.3xlarge" | "m5zn.6xlarge" | "m5zn.12xlarge" | "m5zn.metal" | "m6a.large" | "m6a.xlarge" | "m6a.2xlarge" | "m6a.4xlarge" | "m6a.8xlarge" | "m6a.12xlarge" | "m6a.16xlarge" | "m6a.24xlarge" | "m6a.32xlarge" | "m6a.48xlarge" | "m6g.metal" | "m6g.medium" | "m6g.large" | "m6g.xlarge" | "m6g.2xlarge" | "m6g.4xlarge" | "m6g.8xlarge" | "m6g.12xlarge" | "m6g.16xlarge" | "m6gd.metal" | "m6gd.medium" | "m6gd.large" | "m6gd.xlarge" | "m6gd.2xlarge" | "m6gd.4xlarge" | "m6gd.8xlarge" | "m6gd.12xlarge" | "m6gd.16xlarge" | "m6i.large" | "m6i.xlarge" | "m6i.2xlarge" | "m6i.4xlarge" | "m6i.8xlarge" | "m6i.12xlarge" | "m6i.16xlarge" | "m6i.24xlarge" | "m6i.32xlarge" | "m6i.metal" | "mac1.metal" | "p2.xlarge" | "p2.8xlarge" | "p2.16xlarge" | "p3.2xlarge" | "p3.8xlarge" | "p3.16xlarge" | "p3dn.24xlarge" | "p4d.24xlarge" | "r3.large" | "r3.xlarge" | "r3.2xlarge" | "r3.4xlarge" | "r3.8xlarge" | "r4.large" | "r4.xlarge" | "r4.2xlarge" | "r4.4xlarge" | "r4.8xlarge" | "r4.16xlarge" | "r5.large" | "r5.xlarge" | "r5.2xlarge" | "r5.4xlarge" | "r5.8xlarge" | "r5.12xlarge" | "r5.16xlarge" | "r5.24xlarge" | "r5.metal" | "r5a.large" | "r5a.xlarge" | "r5a.2xlarge" | "r5a.4xlarge" | "r5a.8xlarge" | "r5a.12xlarge" | "r5a.16xlarge" | "r5a.24xlarge" | "r5ad.large" | "r5ad.xlarge" | "r5ad.2xlarge" | "r5ad.4xlarge" | "r5ad.8xlarge" | "r5ad.12xlarge" | "r5ad.16xlarge" | "r5ad.24xlarge" | "r5b.large" | "r5b.xlarge" | "r5b.2xlarge" | "r5b.4xlarge" | "r5b.8xlarge" | "r5b.12xlarge" | "r5b.16xlarge" | "r5b.24xlarge" | "r5b.metal" | "r5d.large" | "r5d.xlarge" | "r5d.2xlarge" | "r5d.4xlarge" | "r5d.8xlarge" | "r5d.12xlarge" | "r5d.16xlarge" | "r5d.24xlarge" | "r5d.metal" | "r5dn.large" | "r5dn.xlarge" | "r5dn.2xlarge" | "r5dn.4xlarge" | "r5dn.8xlarge" | "r5dn.12xlarge" | "r5dn.16xlarge" | "r5dn.24xlarge" | "r5dn.metal" | "r5n.large" | "r5n.xlarge" | "r5n.2xlarge" | "r5n.4xlarge" | "r5n.8xlarge" | "r5n.12xlarge" | "r5n.16xlarge" | "r5n.24xlarge" | "r5n.metal" | "r6g.medium" | "r6g.large" | "r6g.xlarge" | "r6g.2xlarge" | "r6g.4xlarge" | "r6g.8xlarge" | "r6g.12xlarge" | "r6g.16xlarge" | "r6g.metal" | "r6gd.medium" | "r6gd.large" | "r6gd.xlarge" | "r6gd.2xlarge" | "r6gd.4xlarge" | "r6gd.8xlarge" | "r6gd.12xlarge" | "r6gd.16xlarge" | "r6gd.metal" | "r6i.large" | "r6i.xlarge" | "r6i.2xlarge" | "r6i.4xlarge" | "r6i.8xlarge" | "r6i.12xlarge" | "r6i.16xlarge" | "r6i.24xlarge" | "r6i.32xlarge" | "r6i.metal" | "t1.micro" | "t2.nano" | "t2.micro" | "t2.small" | "t2.medium" | "t2.large" | "t2.xlarge" | "t2.2xlarge" | "t3.nano" | "t3.micro" | "t3.small" | "t3.medium" | "t3.large" | "t3.xlarge" | "t3.2xlarge" | "t3a.nano" | "t3a.micro" | "t3a.small" | "t3a.medium" | "t3a.large" | "t3a.xlarge" | "t3a.2xlarge" | "t4g.nano" | "t4g.micro" | "t4g.small" | "t4g.medium" | "t4g.large" | "t4g.xlarge" | "t4g.2xlarge" | "u-6tb1.56xlarge" | "u-6tb1.112xlarge" | "u-9tb1.112xlarge" | "u-12tb1.112xlarge" | "u-6tb1.metal" | "u-9tb1.metal" | "u-12tb1.metal" | "u-18tb1.metal" | "u-24tb1.metal" | "vt1.3xlarge" | "vt1.6xlarge" | "vt1.24xlarge" | "x1.16xlarge" | "x1.32xlarge" | "x1e.xlarge" | "x1e.2xlarge" | "x1e.4xlarge" | "x1e.8xlarge" | "x1e.16xlarge" | "x1e.32xlarge" | "x2iezn.2xlarge" | "x2iezn.4xlarge" | "x2iezn.6xlarge" | "x2iezn.8xlarge" | "x2iezn.12xlarge" | "x2iezn.metal" | "x2gd.medium" | "x2gd.large" | "x2gd.xlarge" | "x2gd.2xlarge" | "x2gd.4xlarge" | "x2gd.8xlarge" | "x2gd.12xlarge" | "x2gd.16xlarge" | "x2gd.metal" | "z1d.large" | "z1d.xlarge" | "z1d.2xlarge" | "z1d.3xlarge" | "z1d.6xlarge" | "z1d.12xlarge" | "z1d.metal" | "x2idn.16xlarge" | "x2idn.24xlarge" | "x2idn.32xlarge" | "x2iedn.xlarge" | "x2iedn.2xlarge" | "x2iedn.4xlarge" | "x2iedn.8xlarge" | "x2iedn.16xlarge" | "x2iedn.24xlarge" | "x2iedn.32xlarge" | "c6a.large" | "c6a.xlarge" | "c6a.2xlarge" | "c6a.4xlarge" | "c6a.8xlarge" | "c6a.12xlarge" | "c6a.16xlarge" | "c6a.24xlarge" | "c6a.32xlarge" | "c6a.48xlarge" | "c6a.metal" | "m6a.metal" | "i4i.large" | "i4i.xlarge" | "i4i.2xlarge" | "i4i.4xlarge" | "i4i.8xlarge" | "i4i.16xlarge" | "i4i.32xlarge" | "i4i.metal" | "x2idn.metal" | "x2iedn.metal" | "c7g.medium" | "c7g.large" | "c7g.xlarge" | "c7g.2xlarge" | "c7g.4xlarge" | "c7g.8xlarge" | "c7g.12xlarge" | "c7g.16xlarge" | "mac2.metal" | "c6id.large" | "c6id.xlarge" | "c6id.2xlarge" | "c6id.4xlarge" | "c6id.8xlarge" | "c6id.12xlarge" | "c6id.16xlarge" | "c6id.24xlarge" | "c6id.32xlarge" | "c6id.metal" | "m6id.large" | "m6id.xlarge" | "m6id.2xlarge" | "m6id.4xlarge" | "m6id.8xlarge" | "m6id.12xlarge" | "m6id.16xlarge" | "m6id.24xlarge" | "m6id.32xlarge" | "m6id.metal" | "r6id.large" | "r6id.xlarge" | "r6id.2xlarge" | "r6id.4xlarge" | "r6id.8xlarge" | "r6id.12xlarge" | "r6id.16xlarge" | "r6id.24xlarge" | "r6id.32xlarge" | "r6id.metal" | "r6a.large" | "r6a.xlarge" | "r6a.2xlarge" | "r6a.4xlarge" | "r6a.8xlarge" | "r6a.12xlarge" | "r6a.16xlarge" | "r6a.24xlarge" | "r6a.32xlarge" | "r6a.48xlarge" | "r6a.metal" | "p4de.24xlarge" | "u-3tb1.56xlarge" | "u-18tb1.112xlarge" | "u-24tb1.112xlarge" | "trn1.2xlarge" | "trn1.32xlarge" | "hpc6id.32xlarge" | "c6in.large" | "c6in.xlarge" | "c6in.2xlarge" | "c6in.4xlarge" | "c6in.8xlarge" | "c6in.12xlarge" | "c6in.16xlarge" | "c6in.24xlarge" | "c6in.32xlarge" | "m6in.large" | "m6in.xlarge" | "m6in.2xlarge" | "m6in.4xlarge" | "m6in.8xlarge" | "m6in.12xlarge" | "m6in.16xlarge" | "m6in.24xlarge" | "m6in.32xlarge" | "m6idn.large" | "m6idn.xlarge" | "m6idn.2xlarge" | "m6idn.4xlarge" | "m6idn.8xlarge" | "m6idn.12xlarge" | "m6idn.16xlarge" | "m6idn.24xlarge" | "m6idn.32xlarge" | "r6in.large" | "r6in.xlarge" | "r6in.2xlarge" | "r6in.4xlarge" | "r6in.8xlarge" | "r6in.12xlarge" | "r6in.16xlarge" | "r6in.24xlarge" | "r6in.32xlarge" | "r6idn.large" | "r6idn.xlarge" | "r6idn.2xlarge" | "r6idn.4xlarge" | "r6idn.8xlarge" | "r6idn.12xlarge" | "r6idn.16xlarge" | "r6idn.24xlarge" | "r6idn.32xlarge" | "c7g.metal" | "m7g.medium" | "m7g.large" | "m7g.xlarge" | "m7g.2xlarge" | "m7g.4xlarge" | "m7g.8xlarge" | "m7g.12xlarge" | "m7g.16xlarge" | "m7g.metal" | "r7g.medium" | "r7g.large" | "r7g.xlarge" | "r7g.2xlarge" | "r7g.4xlarge" | "r7g.8xlarge" | "r7g.12xlarge" | "r7g.16xlarge" | "r7g.metal" | "c6in.metal" | "m6in.metal" | "m6idn.metal" | "r6in.metal" | "r6idn.metal" | "inf2.xlarge" | "inf2.8xlarge" | "inf2.24xlarge" | "inf2.48xlarge" | "trn1n.32xlarge" | "i4g.large" | "i4g.xlarge" | "i4g.2xlarge" | "i4g.4xlarge" | "i4g.8xlarge" | "i4g.16xlarge" | "hpc7g.4xlarge" | "hpc7g.8xlarge" | "hpc7g.16xlarge" | "c7gn.medium" | "c7gn.large" | "c7gn.xlarge" | "c7gn.2xlarge" | "c7gn.4xlarge" | "c7gn.8xlarge" | "c7gn.12xlarge" | "c7gn.16xlarge" | "p5.48xlarge" | "m7i.large" | "m7i.xlarge" | "m7i.2xlarge" | "m7i.4xlarge" | "m7i.8xlarge" | "m7i.12xlarge" | "m7i.16xlarge" | "m7i.24xlarge" | "m7i.48xlarge" | "m7i-flex.large" | "m7i-flex.xlarge" | "m7i-flex.2xlarge" | "m7i-flex.4xlarge" | "m7i-flex.8xlarge" | "m7a.medium" | "m7a.large" | "m7a.xlarge" | "m7a.2xlarge" | "m7a.4xlarge" | "m7a.8xlarge" | "m7a.12xlarge" | "m7a.16xlarge" | "m7a.24xlarge" | "m7a.32xlarge" | "m7a.48xlarge" | "m7a.metal-48xl" | "hpc7a.12xlarge" | "hpc7a.24xlarge" | "hpc7a.48xlarge" | "hpc7a.96xlarge" | "c7gd.medium" | "c7gd.large" | "c7gd.xlarge" | "c7gd.2xlarge" | "c7gd.4xlarge" | "c7gd.8xlarge" | "c7gd.12xlarge" | "c7gd.16xlarge" | "m7gd.medium" | "m7gd.large" | "m7gd.xlarge" | "m7gd.2xlarge" | "m7gd.4xlarge" | "m7gd.8xlarge" | "m7gd.12xlarge" | "m7gd.16xlarge" | "r7gd.medium" | "r7gd.large" | "r7gd.xlarge" | "r7gd.2xlarge" | "r7gd.4xlarge" | "r7gd.8xlarge" | "r7gd.12xlarge" | "r7gd.16xlarge" | "r7a.medium" | "r7a.large" | "r7a.xlarge" | "r7a.2xlarge" | "r7a.4xlarge" | "r7a.8xlarge" | "r7a.12xlarge" | "r7a.16xlarge" | "r7a.24xlarge" | "r7a.32xlarge" | "r7a.48xlarge" | "c7i.large" | "c7i.xlarge" | "c7i.2xlarge" | "c7i.4xlarge" | "c7i.8xlarge" | "c7i.12xlarge" | "c7i.16xlarge" | "c7i.24xlarge" | "c7i.48xlarge" | "mac2-m2pro.metal" | "r7iz.large" | "r7iz.xlarge" | "r7iz.2xlarge" | "r7iz.4xlarge" | "r7iz.8xlarge" | "r7iz.12xlarge" | "r7iz.16xlarge" | "r7iz.32xlarge" | "c7a.medium" | "c7a.large" | "c7a.xlarge" | "c7a.2xlarge" | "c7a.4xlarge" | "c7a.8xlarge" | "c7a.12xlarge" | "c7a.16xlarge" | "c7a.24xlarge" | "c7a.32xlarge" | "c7a.48xlarge" | "c7a.metal-48xl" | "r7a.metal-48xl" | "r7i.large" | "r7i.xlarge" | "r7i.2xlarge" | "r7i.4xlarge" | "r7i.8xlarge" | "r7i.12xlarge" | "r7i.16xlarge" | "r7i.24xlarge" | "r7i.48xlarge" | "dl2q.24xlarge" | "mac2-m2.metal" | "i4i.12xlarge" | "i4i.24xlarge" | "c7i.metal-24xl" | "c7i.metal-48xl" | "m7i.metal-24xl" | "m7i.metal-48xl" | "r7i.metal-24xl" | "r7i.metal-48xl" | "r7iz.metal-16xl" | "r7iz.metal-32xl" | "c7gd.metal" | "m7gd.metal" | "r7gd.metal" | "g6.xlarge" | "g6.2xlarge" | "g6.4xlarge" | "g6.8xlarge" | "g6.12xlarge" | "g6.16xlarge" | "g6.24xlarge" | "g6.48xlarge" | "gr6.4xlarge" | "gr6.8xlarge" | "c7i-flex.large" | "c7i-flex.xlarge" | "c7i-flex.2xlarge" | "c7i-flex.4xlarge" | "c7i-flex.8xlarge" | "u7i-12tb.224xlarge" | "u7in-16tb.224xlarge" | "u7in-24tb.224xlarge" | "u7in-32tb.224xlarge" | "u7ib-12tb.224xlarge" | "c7gn.metal" | "r8g.medium" | "r8g.large" | "r8g.xlarge" | "r8g.2xlarge" | "r8g.4xlarge" | "r8g.8xlarge" | "r8g.12xlarge" | "r8g.16xlarge" | "r8g.24xlarge" | "r8g.48xlarge" | "r8g.metal-24xl" | "r8g.metal-48xl" | "mac2-m1ultra.metal" | "g6e.xlarge" | "g6e.2xlarge" | "g6e.4xlarge" | "g6e.8xlarge" | "g6e.12xlarge" | "g6e.16xlarge" | "g6e.24xlarge" | "g6e.48xlarge" | "c8g.medium" | "c8g.large" | "c8g.xlarge" | "c8g.2xlarge" | "c8g.4xlarge" | "c8g.8xlarge" | "c8g.12xlarge" | "c8g.16xlarge" | "c8g.24xlarge" | "c8g.48xlarge" | "c8g.metal-24xl" | "c8g.metal-48xl" | "m8g.medium" | "m8g.large" | "m8g.xlarge" | "m8g.2xlarge" | "m8g.4xlarge" | "m8g.8xlarge" | "m8g.12xlarge" | "m8g.16xlarge" | "m8g.24xlarge" | "m8g.48xlarge" | "m8g.metal-24xl" | "m8g.metal-48xl" | "x8g.medium" | "x8g.large" | "x8g.xlarge" | "x8g.2xlarge" | "x8g.4xlarge" | "x8g.8xlarge" | "x8g.12xlarge" | "x8g.16xlarge" | "x8g.24xlarge" | "x8g.48xlarge" | "x8g.metal-24xl" | "x8g.metal-48xl" | "i7ie.large" | "i7ie.xlarge" | "i7ie.2xlarge" | "i7ie.3xlarge" | "i7ie.6xlarge" | "i7ie.12xlarge" | "i7ie.18xlarge" | "i7ie.24xlarge" | "i7ie.48xlarge" | "i8g.large" | "i8g.xlarge" | "i8g.2xlarge" | "i8g.4xlarge" | "i8g.8xlarge" | "i8g.12xlarge" | "i8g.16xlarge" | "i8g.24xlarge" | "i8g.metal-24xl" | "u7i-6tb.112xlarge" | "u7i-8tb.112xlarge" | "u7inh-32tb.480xlarge" | "p5e.48xlarge" | "p5en.48xlarge" | "f2.12xlarge" | "f2.48xlarge" | "trn2.48xlarge" | "c7i-flex.12xlarge" | "c7i-flex.16xlarge" | "m7i-flex.12xlarge" | "m7i-flex.16xlarge" | "i7ie.metal-24xl" | "i7ie.metal-48xl" | "i8g.48xlarge" | "c8gd.medium" | "c8gd.large" | "c8gd.xlarge" | "c8gd.2xlarge" | "c8gd.4xlarge" | "c8gd.8xlarge" | "c8gd.12xlarge" | "c8gd.16xlarge" | "c8gd.24xlarge" | "c8gd.48xlarge" | "c8gd.metal-24xl" | "c8gd.metal-48xl" | "i7i.large" | "i7i.xlarge" | "i7i.2xlarge" | "i7i.4xlarge" | "i7i.8xlarge" | "i7i.12xlarge" | "i7i.16xlarge" | "i7i.24xlarge" | "i7i.48xlarge" | "i7i.metal-24xl" | "i7i.metal-48xl" | "p6-b200.48xlarge" | "m8gd.medium" | "m8gd.large" | "m8gd.xlarge" | "m8gd.2xlarge" | "m8gd.4xlarge" | "m8gd.8xlarge" | "m8gd.12xlarge" | "m8gd.16xlarge" | "m8gd.24xlarge" | "m8gd.48xlarge" | "m8gd.metal-24xl" | "m8gd.metal-48xl" | "r8gd.medium" | "r8gd.large" | "r8gd.xlarge" | "r8gd.2xlarge" | "r8gd.4xlarge" | "r8gd.8xlarge" | "r8gd.12xlarge" | "r8gd.16xlarge" | "r8gd.24xlarge" | "r8gd.48xlarge" | "r8gd.metal-24xl" | "r8gd.metal-48xl" | "c8gn.medium" | "c8gn.large" | "c8gn.xlarge" | "c8gn.2xlarge" | "c8gn.4xlarge" | "c8gn.8xlarge" | "c8gn.12xlarge" | "c8gn.16xlarge" | "c8gn.24xlarge" | "c8gn.48xlarge" | "c8gn.metal-24xl" | "c8gn.metal-48xl" | "f2.6xlarge" | "p6e-gb200.36xlarge")
164
+
165
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#launch_time-instance_method
166
+ def launch_time: () -> ::Time
167
+
168
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#placement-instance_method
169
+ def placement: () -> Types::Placement
170
+
171
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#kernel_id-instance_method
172
+ def kernel_id: () -> ::String
173
+
174
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ramdisk_id-instance_method
175
+ def ramdisk_id: () -> ::String
176
+
177
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#platform-instance_method
178
+ def platform: () -> ("Windows")
179
+
180
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#monitoring-instance_method
181
+ def monitoring: () -> Types::Monitoring
182
+
183
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#subnet_id-instance_method
184
+ def subnet_id: () -> ::String
185
+
186
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc_id-instance_method
187
+ def vpc_id: () -> ::String
188
+
189
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_ip_address-instance_method
190
+ def private_ip_address: () -> ::String
191
+
192
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#public_ip_address-instance_method
193
+ def public_ip_address: () -> ::String
194
+
195
+ def client: () -> Client
196
+
197
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#load-instance_method
198
+ def load: () -> self
199
+ alias reload load
200
+
201
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#data-instance_method
202
+ def data: () -> Types::Instance
203
+
204
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#data_loaded?-instance_method
205
+ def data_loaded?: () -> bool
206
+
207
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#exists?-instance_method
208
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
209
+ | (?Hash[Symbol, untyped]) -> bool
210
+
211
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_exists-instance_method
212
+ def wait_until_exists: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
213
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
214
+
215
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_running-instance_method
216
+ def wait_until_running: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
217
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
218
+
219
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_stopped-instance_method
220
+ def wait_until_stopped: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
221
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
222
+
223
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_terminated-instance_method
224
+ def wait_until_terminated: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) ?{ (untyped waiter) -> void } -> Instance
225
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
226
+
227
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#attach_classic_link_vpc-instance_method
228
+ def attach_classic_link_vpc: (
229
+ ?dry_run: bool,
230
+ vpc_id: ::String,
231
+ groups: Array[::String]
232
+ ) -> Types::AttachClassicLinkVpcResult
233
+ | (?Hash[Symbol, untyped]) -> Types::AttachClassicLinkVpcResult
234
+
235
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#attach_volume-instance_method
236
+ def attach_volume: (
237
+ device: ::String,
238
+ volume_id: ::String,
239
+ ?dry_run: bool
240
+ ) -> Types::VolumeAttachment
241
+ | (?Hash[Symbol, untyped]) -> Types::VolumeAttachment
242
+
243
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#console_output-instance_method
244
+ def console_output: (
245
+ ?latest: bool,
246
+ ?dry_run: bool
247
+ ) -> Types::GetConsoleOutputResult
248
+ | (?Hash[Symbol, untyped]) -> Types::GetConsoleOutputResult
249
+
250
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#create_image-instance_method
251
+ def create_image: (
252
+ ?tag_specifications: Array[
253
+ {
254
+ resource_type: ("capacity-reservation" | "client-vpn-endpoint" | "customer-gateway" | "carrier-gateway" | "coip-pool" | "declarative-policies-report" | "dedicated-host" | "dhcp-options" | "egress-only-internet-gateway" | "elastic-ip" | "elastic-gpu" | "export-image-task" | "export-instance-task" | "fleet" | "fpga-image" | "host-reservation" | "image" | "import-image-task" | "import-snapshot-task" | "instance" | "instance-event-window" | "internet-gateway" | "ipam" | "ipam-pool" | "ipam-scope" | "ipv4pool-ec2" | "ipv6pool-ec2" | "key-pair" | "launch-template" | "local-gateway" | "local-gateway-route-table" | "local-gateway-virtual-interface" | "local-gateway-virtual-interface-group" | "local-gateway-route-table-vpc-association" | "local-gateway-route-table-virtual-interface-group-association" | "natgateway" | "network-acl" | "network-interface" | "network-insights-analysis" | "network-insights-path" | "network-insights-access-scope" | "network-insights-access-scope-analysis" | "outpost-lag" | "placement-group" | "prefix-list" | "replace-root-volume-task" | "reserved-instances" | "route-table" | "security-group" | "security-group-rule" | "service-link-virtual-interface" | "snapshot" | "spot-fleet-request" | "spot-instances-request" | "subnet" | "subnet-cidr-reservation" | "traffic-mirror-filter" | "traffic-mirror-session" | "traffic-mirror-target" | "transit-gateway" | "transit-gateway-attachment" | "transit-gateway-connect-peer" | "transit-gateway-multicast-domain" | "transit-gateway-policy-table" | "transit-gateway-route-table" | "transit-gateway-route-table-announcement" | "volume" | "vpc" | "vpc-endpoint" | "vpc-endpoint-connection" | "vpc-endpoint-service" | "vpc-endpoint-service-permission" | "vpc-peering-connection" | "vpn-connection" | "vpn-gateway" | "vpc-flow-log" | "capacity-reservation-fleet" | "traffic-mirror-filter-rule" | "vpc-endpoint-connection-device-type" | "verified-access-instance" | "verified-access-group" | "verified-access-endpoint" | "verified-access-policy" | "verified-access-trust-provider" | "vpn-connection-device-type" | "vpc-block-public-access-exclusion" | "route-server" | "route-server-endpoint" | "route-server-peer" | "ipam-resource-discovery" | "ipam-resource-discovery-association" | "instance-connect-endpoint" | "verified-access-endpoint-target" | "ipam-external-resource-verification-token" | "capacity-block" | "mac-modification-task")?,
255
+ tags: Array[
256
+ {
257
+ key: ::String?,
258
+ value: ::String?
259
+ },
260
+ ]?
261
+ },
262
+ ],
263
+ ?snapshot_location: ("regional" | "local"),
264
+ ?dry_run: bool,
265
+ name: ::String,
266
+ ?description: ::String,
267
+ ?no_reboot: bool,
268
+ ?block_device_mappings: Array[
269
+ {
270
+ ebs: {
271
+ delete_on_termination: bool?,
272
+ iops: ::Integer?,
273
+ snapshot_id: ::String?,
274
+ volume_size: ::Integer?,
275
+ volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3")?,
276
+ kms_key_id: ::String?,
277
+ throughput: ::Integer?,
278
+ outpost_arn: ::String?,
279
+ availability_zone: ::String?,
280
+ encrypted: bool?,
281
+ volume_initialization_rate: ::Integer?,
282
+ availability_zone_id: ::String?
283
+ }?,
284
+ no_device: ::String?,
285
+ device_name: ::String?,
286
+ virtual_name: ::String?
287
+ },
288
+ ]
289
+ ) -> Image
290
+ | (?Hash[Symbol, untyped]) -> Image
291
+
292
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#create_tags-instance_method
293
+ def create_tags: (
294
+ ?dry_run: bool,
295
+ tags: Array[
296
+ {
297
+ key: ::String?,
298
+ value: ::String?
299
+ },
300
+ ]
301
+ ) -> Tag::Collection
302
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
303
+
304
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#delete_tags-instance_method
305
+ def delete_tags: (
306
+ ?dry_run: bool,
307
+ ?tags: Array[
308
+ {
309
+ key: ::String?,
310
+ value: ::String?
311
+ },
312
+ ]
313
+ ) -> Tag::Collection
314
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
315
+
316
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#describe_attribute-instance_method
317
+ def describe_attribute: (
318
+ ?dry_run: bool,
319
+ attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop")
320
+ ) -> Types::InstanceAttribute
321
+ | (?Hash[Symbol, untyped]) -> Types::InstanceAttribute
322
+
323
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#detach_classic_link_vpc-instance_method
324
+ def detach_classic_link_vpc: (
325
+ ?dry_run: bool,
326
+ vpc_id: ::String
327
+ ) -> Types::DetachClassicLinkVpcResult
328
+ | (?Hash[Symbol, untyped]) -> Types::DetachClassicLinkVpcResult
329
+
330
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#detach_volume-instance_method
331
+ def detach_volume: (
332
+ ?device: ::String,
333
+ ?force: bool,
334
+ volume_id: ::String,
335
+ ?dry_run: bool
336
+ ) -> Types::VolumeAttachment
337
+ | (?Hash[Symbol, untyped]) -> Types::VolumeAttachment
338
+
339
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#modify_attribute-instance_method
340
+ def modify_attribute: (
341
+ ?source_dest_check: {
342
+ value: bool?
343
+ },
344
+ ?disable_api_stop: {
345
+ value: bool?
346
+ },
347
+ ?dry_run: bool,
348
+ ?attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop"),
349
+ ?value: ::String,
350
+ ?block_device_mappings: Array[
351
+ {
352
+ device_name: ::String?,
353
+ ebs: {
354
+ volume_id: ::String?,
355
+ delete_on_termination: bool?
356
+ }?,
357
+ virtual_name: ::String?,
358
+ no_device: ::String?
359
+ },
360
+ ],
361
+ ?disable_api_termination: {
362
+ value: bool?
363
+ },
364
+ ?instance_type: untyped,
365
+ ?kernel: untyped,
366
+ ?ramdisk: untyped,
367
+ ?user_data: {
368
+ value: ::String?
369
+ },
370
+ ?instance_initiated_shutdown_behavior: untyped,
371
+ ?groups: Array[::String],
372
+ ?ebs_optimized: {
373
+ value: bool?
374
+ },
375
+ ?sriov_net_support: untyped,
376
+ ?ena_support: {
377
+ value: bool?
378
+ }
379
+ ) -> ::Aws::EmptyStructure
380
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
381
+
382
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#monitor-instance_method
383
+ def monitor: (
384
+ ?dry_run: bool
385
+ ) -> Types::MonitorInstancesResult
386
+ | (?Hash[Symbol, untyped]) -> Types::MonitorInstancesResult
387
+
388
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#password_data-instance_method
389
+ def password_data: (
390
+ ?dry_run: bool
391
+ ) -> Types::GetPasswordDataResult
392
+ | (?Hash[Symbol, untyped]) -> Types::GetPasswordDataResult
393
+
394
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reboot-instance_method
395
+ def reboot: (
396
+ ?dry_run: bool
397
+ ) -> ::Aws::EmptyStructure
398
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
399
+
400
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#report_status-instance_method
401
+ def report_status: (
402
+ ?dry_run: bool,
403
+ status: ("ok" | "impaired"),
404
+ ?start_time: ::Time,
405
+ ?end_time: ::Time,
406
+ reason_codes: Array[("instance-stuck-in-state" | "unresponsive" | "not-accepting-credentials" | "password-not-available" | "performance-network" | "performance-instance-store" | "performance-ebs-volume" | "performance-other" | "other")],
407
+ ?description: ::String
408
+ ) -> ::Aws::EmptyStructure
409
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
410
+
411
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_attribute-instance_method
412
+ def reset_attribute: (
413
+ ?dry_run: bool,
414
+ attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop")
415
+ ) -> ::Aws::EmptyStructure
416
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
417
+
418
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_kernel-instance_method
419
+ def reset_kernel: (
420
+ ?dry_run: bool
421
+ ) -> ::Aws::EmptyStructure
422
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
423
+
424
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_ramdisk-instance_method
425
+ def reset_ramdisk: (
426
+ ?dry_run: bool
427
+ ) -> ::Aws::EmptyStructure
428
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
429
+
430
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_source_dest_check-instance_method
431
+ def reset_source_dest_check: (
432
+ ?dry_run: bool
433
+ ) -> ::Aws::EmptyStructure
434
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
435
+
436
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#start-instance_method
437
+ def start: (
438
+ ?additional_info: ::String,
439
+ ?dry_run: bool
440
+ ) -> Types::StartInstancesResult
441
+ | (?Hash[Symbol, untyped]) -> Types::StartInstancesResult
442
+
443
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#stop-instance_method
444
+ def stop: (
445
+ ?hibernate: bool,
446
+ ?skip_os_shutdown: bool,
447
+ ?dry_run: bool,
448
+ ?force: bool
449
+ ) -> Types::StopInstancesResult
450
+ | (?Hash[Symbol, untyped]) -> Types::StopInstancesResult
451
+
452
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#terminate-instance_method
453
+ def terminate: (
454
+ ?force: bool,
455
+ ?skip_os_shutdown: bool,
456
+ ?dry_run: bool
457
+ ) -> Types::TerminateInstancesResult
458
+ | (?Hash[Symbol, untyped]) -> Types::TerminateInstancesResult
459
+
460
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#unmonitor-instance_method
461
+ def unmonitor: (
462
+ ?dry_run: bool
463
+ ) -> Types::UnmonitorInstancesResult
464
+ | (?Hash[Symbol, untyped]) -> Types::UnmonitorInstancesResult
465
+
466
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#classic_address-instance_method
467
+ def classic_address: () -> ClassicAddress?
468
+
469
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#image-instance_method
470
+ def image: () -> Image?
471
+
472
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#key_pair-instance_method
473
+ def key_pair: () -> KeyPairInfo?
474
+
475
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#network_interfaces-instance_method
476
+ def network_interfaces: () -> NetworkInterface::Collection
477
+
478
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#placement_group-instance_method
479
+ def placement_group: () -> PlacementGroup?
480
+
481
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#subnet-instance_method
482
+ def subnet: () -> Subnet?
483
+
484
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#volumes-instance_method
485
+ def volumes: (
486
+ ?volume_ids: Array[::String],
487
+ ?dry_run: bool,
488
+ ?filters: Array[
489
+ {
490
+ name: ::String?,
491
+ values: Array[::String]?
492
+ },
493
+ ]
494
+ ) -> Volume::Collection
495
+ | (?Hash[Symbol, untyped]) -> Volume::Collection
496
+
497
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc-instance_method
498
+ def vpc: () -> Vpc?
499
+
500
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc_addresses-instance_method
501
+ def vpc_addresses: (
502
+ ?public_ips: Array[::String],
503
+ ?dry_run: bool,
504
+ ?filters: Array[
505
+ {
506
+ name: ::String?,
507
+ values: Array[::String]?
508
+ },
509
+ ],
510
+ ?allocation_ids: Array[::String]
511
+ ) -> VpcAddress::Collection
512
+ | (?Hash[Symbol, untyped]) -> VpcAddress::Collection
513
+
514
+ class Collection < ::Aws::Resources::Collection[Instance]
515
+
516
+ def batch_create_tags: (
517
+ ?dry_run: bool,
518
+ tags: Array[
519
+ {
520
+ key: ::String?,
521
+ value: ::String?
522
+ },
523
+ ]
524
+ ) -> void
525
+ | (?Hash[Symbol, untyped]) -> void
526
+
527
+ def batch_delete_tags!: (
528
+ ?dry_run: bool,
529
+ ?tags: Array[
530
+ {
531
+ key: ::String?,
532
+ value: ::String?
533
+ },
534
+ ]
535
+ ) -> void
536
+ | (?Hash[Symbol, untyped]) -> void
537
+
538
+ def batch_monitor: (
539
+ ?dry_run: bool
540
+ ) -> void
541
+ | (?Hash[Symbol, untyped]) -> void
542
+
543
+ def batch_reboot: (
544
+ ?dry_run: bool
545
+ ) -> void
546
+ | (?Hash[Symbol, untyped]) -> void
547
+
548
+ def batch_start: (
549
+ ?additional_info: ::String,
550
+ ?dry_run: bool
551
+ ) -> void
552
+ | (?Hash[Symbol, untyped]) -> void
553
+
554
+ def batch_stop: (
555
+ ?hibernate: bool,
556
+ ?skip_os_shutdown: bool,
557
+ ?dry_run: bool,
558
+ ?force: bool
559
+ ) -> void
560
+ | (?Hash[Symbol, untyped]) -> void
561
+
562
+ def batch_terminate!: (
563
+ ?force: bool,
564
+ ?skip_os_shutdown: bool,
565
+ ?dry_run: bool
566
+ ) -> void
567
+ | (?Hash[Symbol, untyped]) -> void
568
+
569
+ def batch_unmonitor: (
570
+ ?dry_run: bool
571
+ ) -> void
572
+ | (?Hash[Symbol, untyped]) -> void
573
+ end
574
+ end
575
+ end
576
+ end