aws-sdk-ec2 1.431.0 → 1.522.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +465 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +26 -16
  5. data/lib/aws-sdk-ec2/client.rb +10867 -4155
  6. data/lib/aws-sdk-ec2/client_api.rb +2924 -510
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +14 -18
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8608
  15. data/lib/aws-sdk-ec2/image.rb +166 -95
  16. data/lib/aws-sdk-ec2/instance.rb +425 -356
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +94 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +37 -19
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +20 -1242
  26. data/lib/aws-sdk-ec2/resource.rb +944 -811
  27. data/lib/aws-sdk-ec2/route.rb +34 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +44 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +391 -359
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +13807 -4774
  35. data/lib/aws-sdk-ec2/volume.rb +157 -119
  36. data/lib/aws-sdk-ec2/vpc.rb +278 -224
  37. data/lib/aws-sdk-ec2/vpc_address.rb +31 -21
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2.rb +40 -36
  40. data/sig/classic_address.rbs +105 -0
  41. data/sig/client.rbs +14622 -0
  42. data/sig/dhcp_options.rbs +84 -0
  43. data/sig/errors.rbs +16 -0
  44. data/sig/image.rbs +228 -0
  45. data/sig/instance.rbs +564 -0
  46. data/sig/internet_gateway.rbs +91 -0
  47. data/sig/key_pair.rbs +54 -0
  48. data/sig/key_pair_info.rbs +63 -0
  49. data/sig/nat_gateway.rbs +107 -0
  50. data/sig/network_acl.rbs +144 -0
  51. data/sig/network_interface.rbs +239 -0
  52. data/sig/network_interface_association.rbs +62 -0
  53. data/sig/placement_group.rbs +78 -0
  54. data/sig/resource.rbs +1042 -0
  55. data/sig/route.rbs +113 -0
  56. data/sig/route_table.rbs +117 -0
  57. data/sig/route_table_association.rbs +69 -0
  58. data/sig/security_group.rbs +311 -0
  59. data/sig/snapshot.rbs +204 -0
  60. data/sig/subnet.rbs +436 -0
  61. data/sig/tag.rbs +63 -0
  62. data/sig/types.rbs +16812 -0
  63. data/sig/volume.rbs +210 -0
  64. data/sig/vpc.rbs +404 -0
  65. data/sig/vpc_address.rbs +101 -0
  66. data/sig/vpc_peering_connection.rbs +84 -0
  67. data/sig/waiters.rbs +664 -0
  68. metadata +44 -18
data/sig/instance.rbs ADDED
@@ -0,0 +1,564 @@
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_reservation_id-instance_method
85
+ def capacity_reservation_id: () -> ::String
86
+
87
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#capacity_reservation_specification-instance_method
88
+ def capacity_reservation_specification: () -> Types::CapacityReservationSpecificationResponse
89
+
90
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#hibernation_options-instance_method
91
+ def hibernation_options: () -> Types::HibernationOptions
92
+
93
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#licenses-instance_method
94
+ def licenses: () -> ::Array[Types::LicenseConfiguration]
95
+
96
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#metadata_options-instance_method
97
+ def metadata_options: () -> Types::InstanceMetadataOptionsResponse
98
+
99
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#enclave_options-instance_method
100
+ def enclave_options: () -> Types::EnclaveOptions
101
+
102
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#boot_mode-instance_method
103
+ def boot_mode: () -> ("legacy-bios" | "uefi" | "uefi-preferred")
104
+
105
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#platform_details-instance_method
106
+ def platform_details: () -> ::String
107
+
108
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#usage_operation-instance_method
109
+ def usage_operation: () -> ::String
110
+
111
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#usage_operation_update_time-instance_method
112
+ def usage_operation_update_time: () -> ::Time
113
+
114
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_dns_name_options-instance_method
115
+ def private_dns_name_options: () -> Types::PrivateDnsNameOptionsResponse
116
+
117
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ipv_6_address-instance_method
118
+ def ipv_6_address: () -> ::String
119
+
120
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#tpm_support-instance_method
121
+ def tpm_support: () -> ::String
122
+
123
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#maintenance_options-instance_method
124
+ def maintenance_options: () -> Types::InstanceMaintenanceOptions
125
+
126
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#current_instance_boot_mode-instance_method
127
+ def current_instance_boot_mode: () -> ("legacy-bios" | "uefi")
128
+
129
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#network_performance_options-instance_method
130
+ def network_performance_options: () -> Types::InstanceNetworkPerformanceOptions
131
+
132
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#operator-instance_method
133
+ def operator: () -> Types::OperatorResponse
134
+
135
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#image_id-instance_method
136
+ def image_id: () -> ::String
137
+
138
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#state-instance_method
139
+ def state: () -> Types::InstanceState
140
+
141
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_dns_name-instance_method
142
+ def private_dns_name: () -> ::String
143
+
144
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#public_dns_name-instance_method
145
+ def public_dns_name: () -> ::String
146
+
147
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#state_transition_reason-instance_method
148
+ def state_transition_reason: () -> ::String
149
+
150
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#key_name-instance_method
151
+ def key_name: () -> ::String
152
+
153
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ami_launch_index-instance_method
154
+ def ami_launch_index: () -> ::Integer
155
+
156
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#product_codes-instance_method
157
+ def product_codes: () -> ::Array[Types::ProductCode]
158
+
159
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#instance_type-instance_method
160
+ 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")
161
+
162
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#launch_time-instance_method
163
+ def launch_time: () -> ::Time
164
+
165
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#placement-instance_method
166
+ def placement: () -> Types::Placement
167
+
168
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#kernel_id-instance_method
169
+ def kernel_id: () -> ::String
170
+
171
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#ramdisk_id-instance_method
172
+ def ramdisk_id: () -> ::String
173
+
174
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#platform-instance_method
175
+ def platform: () -> ("Windows")
176
+
177
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#monitoring-instance_method
178
+ def monitoring: () -> Types::Monitoring
179
+
180
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#subnet_id-instance_method
181
+ def subnet_id: () -> ::String
182
+
183
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc_id-instance_method
184
+ def vpc_id: () -> ::String
185
+
186
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#private_ip_address-instance_method
187
+ def private_ip_address: () -> ::String
188
+
189
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#public_ip_address-instance_method
190
+ def public_ip_address: () -> ::String
191
+
192
+ def client: () -> Client
193
+
194
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#load-instance_method
195
+ def load: () -> self
196
+ alias reload load
197
+
198
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#data-instance_method
199
+ def data: () -> Types::Instance
200
+
201
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#data_loaded?-instance_method
202
+ def data_loaded?: () -> bool
203
+
204
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#exists?-instance_method
205
+ def exists?: (?max_attempts: Integer, ?delay: Numeric, ?before_attempt: (^(Integer attempts) -> void), ?before_wait: (^(Integer attempts, untyped response) -> void)) -> bool
206
+ | (?Hash[Symbol, untyped]) -> bool
207
+
208
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_exists-instance_method
209
+ 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
210
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
211
+
212
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_running-instance_method
213
+ 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
214
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
215
+
216
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_stopped-instance_method
217
+ 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
218
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
219
+
220
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#wait_until_terminated-instance_method
221
+ 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
222
+ | (?Hash[Symbol, untyped]) ?{ (untyped waiter) -> void } -> Instance
223
+
224
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#attach_classic_link_vpc-instance_method
225
+ def attach_classic_link_vpc: (
226
+ ?dry_run: bool,
227
+ vpc_id: ::String,
228
+ groups: Array[::String]
229
+ ) -> Types::AttachClassicLinkVpcResult
230
+ | (?Hash[Symbol, untyped]) -> Types::AttachClassicLinkVpcResult
231
+
232
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#attach_volume-instance_method
233
+ def attach_volume: (
234
+ device: ::String,
235
+ volume_id: ::String,
236
+ ?dry_run: bool
237
+ ) -> Types::VolumeAttachment
238
+ | (?Hash[Symbol, untyped]) -> Types::VolumeAttachment
239
+
240
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#console_output-instance_method
241
+ def console_output: (
242
+ ?latest: bool,
243
+ ?dry_run: bool
244
+ ) -> Types::GetConsoleOutputResult
245
+ | (?Hash[Symbol, untyped]) -> Types::GetConsoleOutputResult
246
+
247
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#create_image-instance_method
248
+ def create_image: (
249
+ ?tag_specifications: Array[
250
+ {
251
+ 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")?,
252
+ tags: Array[
253
+ {
254
+ key: ::String?,
255
+ value: ::String?
256
+ },
257
+ ]?
258
+ },
259
+ ],
260
+ ?dry_run: bool,
261
+ name: ::String,
262
+ ?description: ::String,
263
+ ?no_reboot: bool,
264
+ ?block_device_mappings: Array[
265
+ {
266
+ ebs: {
267
+ delete_on_termination: bool?,
268
+ iops: ::Integer?,
269
+ snapshot_id: ::String?,
270
+ volume_size: ::Integer?,
271
+ volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3")?,
272
+ kms_key_id: ::String?,
273
+ throughput: ::Integer?,
274
+ outpost_arn: ::String?,
275
+ encrypted: bool?,
276
+ volume_initialization_rate: ::Integer?
277
+ }?,
278
+ no_device: ::String?,
279
+ device_name: ::String?,
280
+ virtual_name: ::String?
281
+ },
282
+ ]
283
+ ) -> Image
284
+ | (?Hash[Symbol, untyped]) -> Image
285
+
286
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#create_tags-instance_method
287
+ def create_tags: (
288
+ ?dry_run: bool,
289
+ tags: Array[
290
+ {
291
+ key: ::String?,
292
+ value: ::String?
293
+ },
294
+ ]
295
+ ) -> Tag::Collection
296
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
297
+
298
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#delete_tags-instance_method
299
+ def delete_tags: (
300
+ ?dry_run: bool,
301
+ ?tags: Array[
302
+ {
303
+ key: ::String?,
304
+ value: ::String?
305
+ },
306
+ ]
307
+ ) -> Tag::Collection
308
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
309
+
310
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#describe_attribute-instance_method
311
+ def describe_attribute: (
312
+ ?dry_run: bool,
313
+ attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop")
314
+ ) -> Types::InstanceAttribute
315
+ | (?Hash[Symbol, untyped]) -> Types::InstanceAttribute
316
+
317
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#detach_classic_link_vpc-instance_method
318
+ def detach_classic_link_vpc: (
319
+ ?dry_run: bool,
320
+ vpc_id: ::String
321
+ ) -> Types::DetachClassicLinkVpcResult
322
+ | (?Hash[Symbol, untyped]) -> Types::DetachClassicLinkVpcResult
323
+
324
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#detach_volume-instance_method
325
+ def detach_volume: (
326
+ ?device: ::String,
327
+ ?force: bool,
328
+ volume_id: ::String,
329
+ ?dry_run: bool
330
+ ) -> Types::VolumeAttachment
331
+ | (?Hash[Symbol, untyped]) -> Types::VolumeAttachment
332
+
333
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#modify_attribute-instance_method
334
+ def modify_attribute: (
335
+ ?source_dest_check: {
336
+ value: bool?
337
+ },
338
+ ?disable_api_stop: {
339
+ value: bool?
340
+ },
341
+ ?dry_run: bool,
342
+ ?attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop"),
343
+ ?value: ::String,
344
+ ?block_device_mappings: Array[
345
+ {
346
+ device_name: ::String?,
347
+ ebs: {
348
+ volume_id: ::String?,
349
+ delete_on_termination: bool?
350
+ }?,
351
+ virtual_name: ::String?,
352
+ no_device: ::String?
353
+ },
354
+ ],
355
+ ?disable_api_termination: {
356
+ value: bool?
357
+ },
358
+ ?instance_type: untyped,
359
+ ?kernel: untyped,
360
+ ?ramdisk: untyped,
361
+ ?user_data: {
362
+ value: ::String?
363
+ },
364
+ ?instance_initiated_shutdown_behavior: untyped,
365
+ ?groups: Array[::String],
366
+ ?ebs_optimized: {
367
+ value: bool?
368
+ },
369
+ ?sriov_net_support: untyped,
370
+ ?ena_support: {
371
+ value: bool?
372
+ }
373
+ ) -> ::Aws::EmptyStructure
374
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
375
+
376
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#monitor-instance_method
377
+ def monitor: (
378
+ ?dry_run: bool
379
+ ) -> Types::MonitorInstancesResult
380
+ | (?Hash[Symbol, untyped]) -> Types::MonitorInstancesResult
381
+
382
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#password_data-instance_method
383
+ def password_data: (
384
+ ?dry_run: bool
385
+ ) -> Types::GetPasswordDataResult
386
+ | (?Hash[Symbol, untyped]) -> Types::GetPasswordDataResult
387
+
388
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reboot-instance_method
389
+ def reboot: (
390
+ ?dry_run: bool
391
+ ) -> ::Aws::EmptyStructure
392
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
393
+
394
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#report_status-instance_method
395
+ def report_status: (
396
+ ?dry_run: bool,
397
+ status: ("ok" | "impaired"),
398
+ ?start_time: ::Time,
399
+ ?end_time: ::Time,
400
+ 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")],
401
+ ?description: ::String
402
+ ) -> ::Aws::EmptyStructure
403
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
404
+
405
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_attribute-instance_method
406
+ def reset_attribute: (
407
+ ?dry_run: bool,
408
+ attribute: ("instanceType" | "kernel" | "ramdisk" | "userData" | "disableApiTermination" | "instanceInitiatedShutdownBehavior" | "rootDeviceName" | "blockDeviceMapping" | "productCodes" | "sourceDestCheck" | "groupSet" | "ebsOptimized" | "sriovNetSupport" | "enaSupport" | "enclaveOptions" | "disableApiStop")
409
+ ) -> ::Aws::EmptyStructure
410
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
411
+
412
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#reset_kernel-instance_method
413
+ def reset_kernel: (
414
+ ?dry_run: bool
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_ramdisk-instance_method
419
+ def reset_ramdisk: (
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_source_dest_check-instance_method
425
+ def reset_source_dest_check: (
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#start-instance_method
431
+ def start: (
432
+ ?additional_info: ::String,
433
+ ?dry_run: bool
434
+ ) -> Types::StartInstancesResult
435
+ | (?Hash[Symbol, untyped]) -> Types::StartInstancesResult
436
+
437
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#stop-instance_method
438
+ def stop: (
439
+ ?hibernate: bool,
440
+ ?dry_run: bool,
441
+ ?force: bool
442
+ ) -> Types::StopInstancesResult
443
+ | (?Hash[Symbol, untyped]) -> Types::StopInstancesResult
444
+
445
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#terminate-instance_method
446
+ def terminate: (
447
+ ?dry_run: bool
448
+ ) -> Types::TerminateInstancesResult
449
+ | (?Hash[Symbol, untyped]) -> Types::TerminateInstancesResult
450
+
451
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#unmonitor-instance_method
452
+ def unmonitor: (
453
+ ?dry_run: bool
454
+ ) -> Types::UnmonitorInstancesResult
455
+ | (?Hash[Symbol, untyped]) -> Types::UnmonitorInstancesResult
456
+
457
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#classic_address-instance_method
458
+ def classic_address: () -> ClassicAddress?
459
+
460
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#image-instance_method
461
+ def image: () -> Image?
462
+
463
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#key_pair-instance_method
464
+ def key_pair: () -> KeyPairInfo?
465
+
466
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#network_interfaces-instance_method
467
+ def network_interfaces: () -> NetworkInterface::Collection
468
+
469
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#placement_group-instance_method
470
+ def placement_group: () -> PlacementGroup?
471
+
472
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#subnet-instance_method
473
+ def subnet: () -> Subnet?
474
+
475
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#volumes-instance_method
476
+ def volumes: (
477
+ ?volume_ids: Array[::String],
478
+ ?dry_run: bool,
479
+ ?filters: Array[
480
+ {
481
+ name: ::String?,
482
+ values: Array[::String]?
483
+ },
484
+ ]
485
+ ) -> Volume::Collection
486
+ | (?Hash[Symbol, untyped]) -> Volume::Collection
487
+
488
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc-instance_method
489
+ def vpc: () -> Vpc?
490
+
491
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#vpc_addresses-instance_method
492
+ def vpc_addresses: (
493
+ ?public_ips: Array[::String],
494
+ ?dry_run: bool,
495
+ ?filters: Array[
496
+ {
497
+ name: ::String?,
498
+ values: Array[::String]?
499
+ },
500
+ ],
501
+ ?allocation_ids: Array[::String]
502
+ ) -> VpcAddress::Collection
503
+ | (?Hash[Symbol, untyped]) -> VpcAddress::Collection
504
+
505
+ class Collection < ::Aws::Resources::Collection[Instance]
506
+
507
+ def batch_create_tags: (
508
+ ?dry_run: bool,
509
+ tags: Array[
510
+ {
511
+ key: ::String?,
512
+ value: ::String?
513
+ },
514
+ ]
515
+ ) -> void
516
+ | (?Hash[Symbol, untyped]) -> void
517
+
518
+ def batch_delete_tags!: (
519
+ ?dry_run: bool,
520
+ ?tags: Array[
521
+ {
522
+ key: ::String?,
523
+ value: ::String?
524
+ },
525
+ ]
526
+ ) -> void
527
+ | (?Hash[Symbol, untyped]) -> void
528
+
529
+ def batch_monitor: (
530
+ ?dry_run: bool
531
+ ) -> void
532
+ | (?Hash[Symbol, untyped]) -> void
533
+
534
+ def batch_reboot: (
535
+ ?dry_run: bool
536
+ ) -> void
537
+ | (?Hash[Symbol, untyped]) -> void
538
+
539
+ def batch_start: (
540
+ ?additional_info: ::String,
541
+ ?dry_run: bool
542
+ ) -> void
543
+ | (?Hash[Symbol, untyped]) -> void
544
+
545
+ def batch_stop: (
546
+ ?hibernate: bool,
547
+ ?dry_run: bool,
548
+ ?force: bool
549
+ ) -> void
550
+ | (?Hash[Symbol, untyped]) -> void
551
+
552
+ def batch_terminate!: (
553
+ ?dry_run: bool
554
+ ) -> void
555
+ | (?Hash[Symbol, untyped]) -> void
556
+
557
+ def batch_unmonitor: (
558
+ ?dry_run: bool
559
+ ) -> void
560
+ | (?Hash[Symbol, untyped]) -> void
561
+ end
562
+ end
563
+ end
564
+ end