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/resource.rbs ADDED
@@ -0,0 +1,1049 @@
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/Resource.html
11
+ class Resource
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#initialize-instance_method
13
+ def initialize: (
14
+ ?client: Client,
15
+ ?credentials: untyped,
16
+ ?region: String,
17
+ ?access_key_id: String,
18
+ ?account_id: String,
19
+ ?active_endpoint_cache: bool,
20
+ ?adaptive_retry_wait_to_fill: bool,
21
+ ?auth_scheme_preference: Array[String],
22
+ ?client_side_monitoring: bool,
23
+ ?client_side_monitoring_client_id: String,
24
+ ?client_side_monitoring_host: String,
25
+ ?client_side_monitoring_port: Integer,
26
+ ?client_side_monitoring_publisher: untyped,
27
+ ?convert_params: bool,
28
+ ?correct_clock_skew: bool,
29
+ ?defaults_mode: String,
30
+ ?disable_host_prefix_injection: bool,
31
+ ?disable_request_compression: bool,
32
+ ?endpoint: String,
33
+ ?endpoint_cache_max_entries: Integer,
34
+ ?endpoint_cache_max_threads: Integer,
35
+ ?endpoint_cache_poll_interval: Integer,
36
+ ?endpoint_discovery: bool,
37
+ ?ignore_configured_endpoint_urls: bool,
38
+ ?log_formatter: untyped,
39
+ ?log_level: Symbol,
40
+ ?logger: untyped,
41
+ ?max_attempts: Integer,
42
+ ?profile: String,
43
+ ?request_checksum_calculation: String,
44
+ ?request_min_compression_size_bytes: Integer,
45
+ ?response_checksum_validation: String,
46
+ ?retry_backoff: Proc,
47
+ ?retry_base_delay: Float,
48
+ ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer),
49
+ ?retry_limit: Integer,
50
+ ?retry_max_delay: Integer,
51
+ ?retry_mode: ("legacy" | "standard" | "adaptive"),
52
+ ?sdk_ua_app_id: String,
53
+ ?secret_access_key: String,
54
+ ?session_token: String,
55
+ ?sigv4a_signing_region_set: Array[String],
56
+ ?stub_responses: untyped,
57
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
58
+ ?token_provider: untyped,
59
+ ?use_dualstack_endpoint: bool,
60
+ ?use_fips_endpoint: bool,
61
+ ?validate_params: bool,
62
+ ?endpoint_provider: untyped,
63
+ ?http_proxy: String,
64
+ ?http_open_timeout: (Float | Integer),
65
+ ?http_read_timeout: (Float | Integer),
66
+ ?http_idle_timeout: (Float | Integer),
67
+ ?http_continue_timeout: (Float | Integer),
68
+ ?ssl_timeout: (Float | Integer | nil),
69
+ ?http_wire_trace: bool,
70
+ ?ssl_verify_peer: bool,
71
+ ?ssl_ca_bundle: String,
72
+ ?ssl_ca_directory: String,
73
+ ?ssl_ca_store: String,
74
+ ?on_chunk_received: Proc,
75
+ ?on_chunk_sent: Proc,
76
+ ?raise_response_errors: bool
77
+ ) -> void
78
+ | (?Hash[Symbol, untyped]) -> void
79
+
80
+ def client: () -> Client
81
+
82
+
83
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_dhcp_options-instance_method
84
+ def create_dhcp_options: (
85
+ dhcp_configurations: Array[
86
+ {
87
+ key: ::String?,
88
+ values: Array[::String]?
89
+ },
90
+ ],
91
+ ?tag_specifications: Array[
92
+ {
93
+ 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")?,
94
+ tags: Array[
95
+ {
96
+ key: ::String?,
97
+ value: ::String?
98
+ },
99
+ ]?
100
+ },
101
+ ],
102
+ ?dry_run: bool
103
+ ) -> DhcpOptions
104
+ | (?Hash[Symbol, untyped]) -> DhcpOptions
105
+
106
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_instances-instance_method
107
+ def create_instances: (
108
+ ?block_device_mappings: Array[
109
+ {
110
+ ebs: {
111
+ delete_on_termination: bool?,
112
+ iops: ::Integer?,
113
+ snapshot_id: ::String?,
114
+ volume_size: ::Integer?,
115
+ volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3")?,
116
+ kms_key_id: ::String?,
117
+ throughput: ::Integer?,
118
+ outpost_arn: ::String?,
119
+ availability_zone: ::String?,
120
+ encrypted: bool?,
121
+ volume_initialization_rate: ::Integer?,
122
+ availability_zone_id: ::String?
123
+ }?,
124
+ no_device: ::String?,
125
+ device_name: ::String?,
126
+ virtual_name: ::String?
127
+ },
128
+ ],
129
+ ?image_id: ::String,
130
+ ?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"),
131
+ ?ipv_6_address_count: ::Integer,
132
+ ?ipv_6_addresses: Array[
133
+ {
134
+ ipv_6_address: ::String?,
135
+ is_primary_ipv_6: bool?
136
+ },
137
+ ],
138
+ ?kernel_id: ::String,
139
+ ?key_name: ::String,
140
+ max_count: ::Integer,
141
+ min_count: ::Integer,
142
+ ?monitoring: {
143
+ enabled: bool
144
+ },
145
+ ?placement: {
146
+ availability_zone_id: ::String?,
147
+ affinity: ::String?,
148
+ group_name: ::String?,
149
+ partition_number: ::Integer?,
150
+ host_id: ::String?,
151
+ tenancy: ("default" | "dedicated" | "host")?,
152
+ spread_domain: ::String?,
153
+ host_resource_group_arn: ::String?,
154
+ group_id: ::String?,
155
+ availability_zone: ::String?
156
+ },
157
+ ?ramdisk_id: ::String,
158
+ ?security_group_ids: Array[::String],
159
+ ?security_groups: Array[::String],
160
+ ?subnet_id: ::String,
161
+ ?user_data: ::String,
162
+ ?elastic_gpu_specification: Array[
163
+ {
164
+ type: ::String
165
+ },
166
+ ],
167
+ ?elastic_inference_accelerators: Array[
168
+ {
169
+ type: ::String,
170
+ count: ::Integer?
171
+ },
172
+ ],
173
+ ?tag_specifications: Array[
174
+ {
175
+ 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")?,
176
+ tags: Array[
177
+ {
178
+ key: ::String?,
179
+ value: ::String?
180
+ },
181
+ ]?
182
+ },
183
+ ],
184
+ ?launch_template: {
185
+ launch_template_id: ::String?,
186
+ launch_template_name: ::String?,
187
+ version: ::String?
188
+ },
189
+ ?instance_market_options: {
190
+ market_type: ("spot" | "capacity-block")?,
191
+ spot_options: {
192
+ max_price: ::String?,
193
+ spot_instance_type: ("one-time" | "persistent")?,
194
+ block_duration_minutes: ::Integer?,
195
+ valid_until: ::Time?,
196
+ instance_interruption_behavior: ("hibernate" | "stop" | "terminate")?
197
+ }?
198
+ },
199
+ ?credit_specification: {
200
+ cpu_credits: ::String
201
+ },
202
+ ?cpu_options: {
203
+ core_count: ::Integer?,
204
+ threads_per_core: ::Integer?,
205
+ amd_sev_snp: ("enabled" | "disabled")?
206
+ },
207
+ ?capacity_reservation_specification: {
208
+ capacity_reservation_preference: ("capacity-reservations-only" | "open" | "none")?,
209
+ capacity_reservation_target: {
210
+ capacity_reservation_id: ::String?,
211
+ capacity_reservation_resource_group_arn: ::String?
212
+ }?
213
+ },
214
+ ?hibernation_options: {
215
+ configured: bool?
216
+ },
217
+ ?license_specifications: Array[
218
+ {
219
+ license_configuration_arn: ::String?
220
+ },
221
+ ],
222
+ ?metadata_options: {
223
+ http_tokens: ("optional" | "required")?,
224
+ http_put_response_hop_limit: ::Integer?,
225
+ http_endpoint: ("disabled" | "enabled")?,
226
+ http_protocol_ipv_6: ("disabled" | "enabled")?,
227
+ instance_metadata_tags: ("disabled" | "enabled")?
228
+ },
229
+ ?enclave_options: {
230
+ enabled: bool?
231
+ },
232
+ ?private_dns_name_options: {
233
+ hostname_type: ("ip-name" | "resource-name")?,
234
+ enable_resource_name_dns_a_record: bool?,
235
+ enable_resource_name_dns_aaaa_record: bool?
236
+ },
237
+ ?maintenance_options: {
238
+ auto_recovery: ("disabled" | "default")?
239
+ },
240
+ ?disable_api_stop: bool,
241
+ ?enable_primary_ipv_6: bool,
242
+ ?network_performance_options: {
243
+ bandwidth_weighting: ("default" | "vpc-1" | "ebs-1")?
244
+ },
245
+ ?operator: {
246
+ principal: ::String?
247
+ },
248
+ ?dry_run: bool,
249
+ ?disable_api_termination: bool,
250
+ ?instance_initiated_shutdown_behavior: ("stop" | "terminate"),
251
+ ?private_ip_address: ::String,
252
+ ?client_token: ::String,
253
+ ?additional_info: ::String,
254
+ ?network_interfaces: Array[
255
+ {
256
+ associate_public_ip_address: bool?,
257
+ delete_on_termination: bool?,
258
+ description: ::String?,
259
+ device_index: ::Integer?,
260
+ groups: Array[::String]?,
261
+ ipv_6_address_count: ::Integer?,
262
+ ipv_6_addresses: Array[
263
+ {
264
+ ipv_6_address: ::String?,
265
+ is_primary_ipv_6: bool?
266
+ },
267
+ ]?,
268
+ network_interface_id: ::String?,
269
+ private_ip_address: ::String?,
270
+ private_ip_addresses: Array[
271
+ {
272
+ primary: bool?,
273
+ private_ip_address: ::String?
274
+ },
275
+ ]?,
276
+ secondary_private_ip_address_count: ::Integer?,
277
+ subnet_id: ::String?,
278
+ associate_carrier_ip_address: bool?,
279
+ interface_type: ::String?,
280
+ network_card_index: ::Integer?,
281
+ ipv_4_prefixes: Array[
282
+ {
283
+ ipv_4_prefix: ::String?
284
+ },
285
+ ]?,
286
+ ipv_4_prefix_count: ::Integer?,
287
+ ipv_6_prefixes: Array[
288
+ {
289
+ ipv_6_prefix: ::String?
290
+ },
291
+ ]?,
292
+ ipv_6_prefix_count: ::Integer?,
293
+ primary_ipv_6: bool?,
294
+ ena_srd_specification: {
295
+ ena_srd_enabled: bool?,
296
+ ena_srd_udp_specification: {
297
+ ena_srd_udp_enabled: bool?
298
+ }?
299
+ }?,
300
+ connection_tracking_specification: {
301
+ tcp_established_timeout: ::Integer?,
302
+ udp_stream_timeout: ::Integer?,
303
+ udp_timeout: ::Integer?
304
+ }?,
305
+ ena_queue_count: ::Integer?
306
+ },
307
+ ],
308
+ ?iam_instance_profile: {
309
+ arn: ::String?,
310
+ name: ::String?
311
+ },
312
+ ?ebs_optimized: bool
313
+ ) -> Instance::Collection
314
+ | (?Hash[Symbol, untyped]) -> Instance::Collection
315
+
316
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_internet_gateway-instance_method
317
+ def create_internet_gateway: (
318
+ ?tag_specifications: Array[
319
+ {
320
+ 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")?,
321
+ tags: Array[
322
+ {
323
+ key: ::String?,
324
+ value: ::String?
325
+ },
326
+ ]?
327
+ },
328
+ ],
329
+ ?dry_run: bool
330
+ ) -> InternetGateway
331
+ | (?Hash[Symbol, untyped]) -> InternetGateway
332
+
333
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_key_pair-instance_method
334
+ def create_key_pair: (
335
+ key_name: ::String,
336
+ ?key_type: ("rsa" | "ed25519"),
337
+ ?tag_specifications: Array[
338
+ {
339
+ 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")?,
340
+ tags: Array[
341
+ {
342
+ key: ::String?,
343
+ value: ::String?
344
+ },
345
+ ]?
346
+ },
347
+ ],
348
+ ?key_format: ("pem" | "ppk"),
349
+ ?dry_run: bool
350
+ ) -> KeyPair
351
+ | (?Hash[Symbol, untyped]) -> KeyPair
352
+
353
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_nat_gateway-instance_method
354
+ def create_nat_gateway: (
355
+ ?allocation_id: ::String,
356
+ ?client_token: ::String,
357
+ ?dry_run: bool,
358
+ subnet_id: ::String,
359
+ ?tag_specifications: Array[
360
+ {
361
+ 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")?,
362
+ tags: Array[
363
+ {
364
+ key: ::String?,
365
+ value: ::String?
366
+ },
367
+ ]?
368
+ },
369
+ ],
370
+ ?connectivity_type: ("private" | "public"),
371
+ ?private_ip_address: ::String,
372
+ ?secondary_allocation_ids: Array[::String],
373
+ ?secondary_private_ip_addresses: Array[::String],
374
+ ?secondary_private_ip_address_count: ::Integer
375
+ ) -> NatGateway
376
+ | (?Hash[Symbol, untyped]) -> NatGateway
377
+
378
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_network_acl-instance_method
379
+ def create_network_acl: (
380
+ ?tag_specifications: Array[
381
+ {
382
+ 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")?,
383
+ tags: Array[
384
+ {
385
+ key: ::String?,
386
+ value: ::String?
387
+ },
388
+ ]?
389
+ },
390
+ ],
391
+ ?client_token: ::String,
392
+ ?dry_run: bool,
393
+ vpc_id: ::String
394
+ ) -> NetworkAcl
395
+ | (?Hash[Symbol, untyped]) -> NetworkAcl
396
+
397
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_network_interface-instance_method
398
+ def create_network_interface: (
399
+ ?ipv_4_prefixes: Array[
400
+ {
401
+ ipv_4_prefix: ::String?
402
+ },
403
+ ],
404
+ ?ipv_4_prefix_count: ::Integer,
405
+ ?ipv_6_prefixes: Array[
406
+ {
407
+ ipv_6_prefix: ::String?
408
+ },
409
+ ],
410
+ ?ipv_6_prefix_count: ::Integer,
411
+ ?interface_type: ("efa" | "efa-only" | "branch" | "trunk"),
412
+ ?tag_specifications: Array[
413
+ {
414
+ 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")?,
415
+ tags: Array[
416
+ {
417
+ key: ::String?,
418
+ value: ::String?
419
+ },
420
+ ]?
421
+ },
422
+ ],
423
+ ?client_token: ::String,
424
+ ?enable_primary_ipv_6: bool,
425
+ ?connection_tracking_specification: {
426
+ tcp_established_timeout: ::Integer?,
427
+ udp_stream_timeout: ::Integer?,
428
+ udp_timeout: ::Integer?
429
+ },
430
+ ?operator: {
431
+ principal: ::String?
432
+ },
433
+ subnet_id: ::String,
434
+ ?description: ::String,
435
+ ?private_ip_address: ::String,
436
+ ?groups: Array[::String],
437
+ ?private_ip_addresses: Array[
438
+ {
439
+ primary: bool?,
440
+ private_ip_address: ::String?
441
+ },
442
+ ],
443
+ ?secondary_private_ip_address_count: ::Integer,
444
+ ?ipv_6_addresses: Array[
445
+ {
446
+ ipv_6_address: ::String?,
447
+ is_primary_ipv_6: bool?
448
+ },
449
+ ],
450
+ ?ipv_6_address_count: ::Integer,
451
+ ?dry_run: bool
452
+ ) -> NetworkInterface
453
+ | (?Hash[Symbol, untyped]) -> NetworkInterface
454
+
455
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_placement_group-instance_method
456
+ def create_placement_group: (
457
+ ?partition_count: ::Integer,
458
+ ?tag_specifications: Array[
459
+ {
460
+ 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")?,
461
+ tags: Array[
462
+ {
463
+ key: ::String?,
464
+ value: ::String?
465
+ },
466
+ ]?
467
+ },
468
+ ],
469
+ ?spread_level: ("host" | "rack"),
470
+ ?dry_run: bool,
471
+ ?group_name: ::String,
472
+ ?strategy: ("cluster" | "spread" | "partition")
473
+ ) -> PlacementGroup
474
+ | (?Hash[Symbol, untyped]) -> PlacementGroup
475
+
476
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_route_table-instance_method
477
+ def create_route_table: (
478
+ ?tag_specifications: Array[
479
+ {
480
+ 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")?,
481
+ tags: Array[
482
+ {
483
+ key: ::String?,
484
+ value: ::String?
485
+ },
486
+ ]?
487
+ },
488
+ ],
489
+ ?client_token: ::String,
490
+ ?dry_run: bool,
491
+ vpc_id: ::String
492
+ ) -> RouteTable
493
+ | (?Hash[Symbol, untyped]) -> RouteTable
494
+
495
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_security_group-instance_method
496
+ def create_security_group: (
497
+ description: ::String,
498
+ group_name: ::String,
499
+ ?vpc_id: ::String,
500
+ ?tag_specifications: Array[
501
+ {
502
+ 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")?,
503
+ tags: Array[
504
+ {
505
+ key: ::String?,
506
+ value: ::String?
507
+ },
508
+ ]?
509
+ },
510
+ ],
511
+ ?dry_run: bool
512
+ ) -> SecurityGroup
513
+ | (?Hash[Symbol, untyped]) -> SecurityGroup
514
+
515
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_snapshot-instance_method
516
+ def create_snapshot: (
517
+ ?description: ::String,
518
+ ?outpost_arn: ::String,
519
+ volume_id: ::String,
520
+ ?tag_specifications: Array[
521
+ {
522
+ 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")?,
523
+ tags: Array[
524
+ {
525
+ key: ::String?,
526
+ value: ::String?
527
+ },
528
+ ]?
529
+ },
530
+ ],
531
+ ?location: ("regional" | "local"),
532
+ ?dry_run: bool
533
+ ) -> Snapshot
534
+ | (?Hash[Symbol, untyped]) -> Snapshot
535
+
536
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_subnet-instance_method
537
+ def create_subnet: (
538
+ ?tag_specifications: Array[
539
+ {
540
+ 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")?,
541
+ tags: Array[
542
+ {
543
+ key: ::String?,
544
+ value: ::String?
545
+ },
546
+ ]?
547
+ },
548
+ ],
549
+ ?availability_zone: ::String,
550
+ ?availability_zone_id: ::String,
551
+ ?cidr_block: ::String,
552
+ ?ipv_6_cidr_block: ::String,
553
+ ?outpost_arn: ::String,
554
+ vpc_id: ::String,
555
+ ?ipv_6_native: bool,
556
+ ?ipv_4_ipam_pool_id: ::String,
557
+ ?ipv_4_netmask_length: ::Integer,
558
+ ?ipv_6_ipam_pool_id: ::String,
559
+ ?ipv_6_netmask_length: ::Integer,
560
+ ?dry_run: bool
561
+ ) -> Subnet
562
+ | (?Hash[Symbol, untyped]) -> Subnet
563
+
564
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_tags-instance_method
565
+ def create_tags: (
566
+ ?dry_run: bool,
567
+ resources: Array[::String],
568
+ tags: Array[
569
+ {
570
+ key: ::String?,
571
+ value: ::String?
572
+ },
573
+ ]
574
+ ) -> ::Aws::EmptyStructure
575
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
576
+
577
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#delete_tags-instance_method
578
+ def delete_tags: (
579
+ ?dry_run: bool,
580
+ resources: Array[::String],
581
+ ?tags: Array[
582
+ {
583
+ key: ::String?,
584
+ value: ::String?
585
+ },
586
+ ]
587
+ ) -> ::Aws::EmptyStructure
588
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
589
+
590
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_volume-instance_method
591
+ def create_volume: (
592
+ ?availability_zone: ::String,
593
+ ?availability_zone_id: ::String,
594
+ ?encrypted: bool,
595
+ ?iops: ::Integer,
596
+ ?kms_key_id: ::String,
597
+ ?outpost_arn: ::String,
598
+ ?size: ::Integer,
599
+ ?snapshot_id: ::String,
600
+ ?volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3"),
601
+ ?tag_specifications: Array[
602
+ {
603
+ 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")?,
604
+ tags: Array[
605
+ {
606
+ key: ::String?,
607
+ value: ::String?
608
+ },
609
+ ]?
610
+ },
611
+ ],
612
+ ?multi_attach_enabled: bool,
613
+ ?throughput: ::Integer,
614
+ ?client_token: ::String,
615
+ ?volume_initialization_rate: ::Integer,
616
+ ?operator: {
617
+ principal: ::String?
618
+ },
619
+ ?dry_run: bool
620
+ ) -> Volume
621
+ | (?Hash[Symbol, untyped]) -> Volume
622
+
623
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_vpc-instance_method
624
+ def create_vpc: (
625
+ ?cidr_block: ::String,
626
+ ?ipv_6_pool: ::String,
627
+ ?ipv_6_cidr_block: ::String,
628
+ ?ipv_4_ipam_pool_id: ::String,
629
+ ?ipv_4_netmask_length: ::Integer,
630
+ ?ipv_6_ipam_pool_id: ::String,
631
+ ?ipv_6_netmask_length: ::Integer,
632
+ ?ipv_6_cidr_block_network_border_group: ::String,
633
+ ?tag_specifications: Array[
634
+ {
635
+ 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")?,
636
+ tags: Array[
637
+ {
638
+ key: ::String?,
639
+ value: ::String?
640
+ },
641
+ ]?
642
+ },
643
+ ],
644
+ ?dry_run: bool,
645
+ ?instance_tenancy: ("default" | "dedicated" | "host"),
646
+ ?amazon_provided_ipv_6_cidr_block: bool
647
+ ) -> Vpc
648
+ | (?Hash[Symbol, untyped]) -> Vpc
649
+
650
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#create_vpc_peering_connection-instance_method
651
+ def create_vpc_peering_connection: (
652
+ ?peer_region: ::String,
653
+ ?tag_specifications: Array[
654
+ {
655
+ 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")?,
656
+ tags: Array[
657
+ {
658
+ key: ::String?,
659
+ value: ::String?
660
+ },
661
+ ]?
662
+ },
663
+ ],
664
+ ?dry_run: bool,
665
+ vpc_id: ::String,
666
+ ?peer_vpc_id: ::String,
667
+ ?peer_owner_id: ::String
668
+ ) -> VpcPeeringConnection
669
+ | (?Hash[Symbol, untyped]) -> VpcPeeringConnection
670
+
671
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#disassociate_route_table-instance_method
672
+ def disassociate_route_table: (
673
+ ?dry_run: bool,
674
+ association_id: ::String
675
+ ) -> ::Aws::EmptyStructure
676
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
677
+
678
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#import_key_pair-instance_method
679
+ def import_key_pair: (
680
+ ?tag_specifications: Array[
681
+ {
682
+ 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")?,
683
+ tags: Array[
684
+ {
685
+ key: ::String?,
686
+ value: ::String?
687
+ },
688
+ ]?
689
+ },
690
+ ],
691
+ ?dry_run: bool,
692
+ key_name: ::String,
693
+ public_key_material: ::String
694
+ ) -> KeyPairInfo
695
+ | (?Hash[Symbol, untyped]) -> KeyPairInfo
696
+
697
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#register_image-instance_method
698
+ def register_image: (
699
+ ?image_location: ::String,
700
+ ?billing_products: Array[::String],
701
+ ?boot_mode: ("legacy-bios" | "uefi" | "uefi-preferred"),
702
+ ?tpm_support: ("v2.0"),
703
+ ?uefi_data: ::String,
704
+ ?imds_support: ("v2.0"),
705
+ ?tag_specifications: Array[
706
+ {
707
+ 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")?,
708
+ tags: Array[
709
+ {
710
+ key: ::String?,
711
+ value: ::String?
712
+ },
713
+ ]?
714
+ },
715
+ ],
716
+ ?dry_run: bool,
717
+ name: ::String,
718
+ ?description: ::String,
719
+ ?architecture: ("i386" | "x86_64" | "arm64" | "x86_64_mac" | "arm64_mac"),
720
+ ?kernel_id: ::String,
721
+ ?ramdisk_id: ::String,
722
+ ?root_device_name: ::String,
723
+ ?block_device_mappings: Array[
724
+ {
725
+ ebs: {
726
+ delete_on_termination: bool?,
727
+ iops: ::Integer?,
728
+ snapshot_id: ::String?,
729
+ volume_size: ::Integer?,
730
+ volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3")?,
731
+ kms_key_id: ::String?,
732
+ throughput: ::Integer?,
733
+ outpost_arn: ::String?,
734
+ availability_zone: ::String?,
735
+ encrypted: bool?,
736
+ volume_initialization_rate: ::Integer?,
737
+ availability_zone_id: ::String?
738
+ }?,
739
+ no_device: ::String?,
740
+ device_name: ::String?,
741
+ virtual_name: ::String?
742
+ },
743
+ ],
744
+ ?virtualization_type: ::String,
745
+ ?sriov_net_support: ::String,
746
+ ?ena_support: bool
747
+ ) -> Image
748
+ | (?Hash[Symbol, untyped]) -> Image
749
+
750
+
751
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#classic_addresses-instance_method
752
+ def classic_addresses: (
753
+ ?public_ips: Array[::String],
754
+ ?dry_run: bool,
755
+ ?filters: Array[
756
+ {
757
+ name: ::String?,
758
+ values: Array[::String]?
759
+ },
760
+ ],
761
+ ?allocation_ids: Array[::String]
762
+ ) -> ClassicAddress::Collection
763
+ | (?Hash[Symbol, untyped]) -> ClassicAddress::Collection
764
+
765
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#dhcp_options-instance_method
766
+ def dhcp_options: (String id) -> DhcpOptions
767
+
768
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#dhcp_options_sets-instance_method
769
+ def dhcp_options_sets: (
770
+ ?dhcp_options_ids: Array[::String],
771
+ ?dry_run: bool,
772
+ ?filters: Array[
773
+ {
774
+ name: ::String?,
775
+ values: Array[::String]?
776
+ },
777
+ ]
778
+ ) -> DhcpOptions::Collection
779
+ | (?Hash[Symbol, untyped]) -> DhcpOptions::Collection
780
+
781
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#image-instance_method
782
+ def image: (String id) -> Image
783
+
784
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#images-instance_method
785
+ def images: (
786
+ ?executable_users: Array[::String],
787
+ ?image_ids: Array[::String],
788
+ ?owners: Array[::String],
789
+ ?include_deprecated: bool,
790
+ ?include_disabled: bool,
791
+ ?dry_run: bool,
792
+ ?filters: Array[
793
+ {
794
+ name: ::String?,
795
+ values: Array[::String]?
796
+ },
797
+ ]
798
+ ) -> Image::Collection
799
+ | (?Hash[Symbol, untyped]) -> Image::Collection
800
+
801
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#instance-instance_method
802
+ def instance: (String id) -> Instance
803
+
804
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#instances-instance_method
805
+ def instances: (
806
+ ?instance_ids: Array[::String],
807
+ ?dry_run: bool,
808
+ ?filters: Array[
809
+ {
810
+ name: ::String?,
811
+ values: Array[::String]?
812
+ },
813
+ ]
814
+ ) -> Instance::Collection
815
+ | (?Hash[Symbol, untyped]) -> Instance::Collection
816
+
817
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#internet_gateway-instance_method
818
+ def internet_gateway: (String id) -> InternetGateway
819
+
820
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#internet_gateways-instance_method
821
+ def internet_gateways: (
822
+ ?dry_run: bool,
823
+ ?internet_gateway_ids: Array[::String],
824
+ ?filters: Array[
825
+ {
826
+ name: ::String?,
827
+ values: Array[::String]?
828
+ },
829
+ ]
830
+ ) -> InternetGateway::Collection
831
+ | (?Hash[Symbol, untyped]) -> InternetGateway::Collection
832
+
833
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#key_pair-instance_method
834
+ def key_pair: (String name) -> KeyPairInfo
835
+
836
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#key_pairs-instance_method
837
+ def key_pairs: (
838
+ ?key_names: Array[::String],
839
+ ?key_pair_ids: Array[::String],
840
+ ?include_public_key: bool,
841
+ ?dry_run: bool,
842
+ ?filters: Array[
843
+ {
844
+ name: ::String?,
845
+ values: Array[::String]?
846
+ },
847
+ ]
848
+ ) -> KeyPairInfo::Collection
849
+ | (?Hash[Symbol, untyped]) -> KeyPairInfo::Collection
850
+
851
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#nat_gateway-instance_method
852
+ def nat_gateway: (String id) -> NatGateway
853
+
854
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#nat_gateways-instance_method
855
+ def nat_gateways: (
856
+ ?dry_run: bool,
857
+ ?filter: Array[
858
+ {
859
+ name: ::String?,
860
+ values: Array[::String]?
861
+ },
862
+ ],
863
+ ?nat_gateway_ids: Array[::String]
864
+ ) -> NatGateway::Collection
865
+ | (?Hash[Symbol, untyped]) -> NatGateway::Collection
866
+
867
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#network_acl-instance_method
868
+ def network_acl: (String id) -> NetworkAcl
869
+
870
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#network_acls-instance_method
871
+ def network_acls: (
872
+ ?dry_run: bool,
873
+ ?network_acl_ids: Array[::String],
874
+ ?filters: Array[
875
+ {
876
+ name: ::String?,
877
+ values: Array[::String]?
878
+ },
879
+ ]
880
+ ) -> NetworkAcl::Collection
881
+ | (?Hash[Symbol, untyped]) -> NetworkAcl::Collection
882
+
883
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#network_interface-instance_method
884
+ def network_interface: (String id) -> NetworkInterface
885
+
886
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#network_interfaces-instance_method
887
+ def network_interfaces: (
888
+ ?dry_run: bool,
889
+ ?network_interface_ids: Array[::String],
890
+ ?filters: Array[
891
+ {
892
+ name: ::String?,
893
+ values: Array[::String]?
894
+ },
895
+ ]
896
+ ) -> NetworkInterface::Collection
897
+ | (?Hash[Symbol, untyped]) -> NetworkInterface::Collection
898
+
899
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#placement_group-instance_method
900
+ def placement_group: (String name) -> PlacementGroup
901
+
902
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#placement_groups-instance_method
903
+ def placement_groups: (
904
+ ?group_ids: Array[::String],
905
+ ?dry_run: bool,
906
+ ?group_names: Array[::String],
907
+ ?filters: Array[
908
+ {
909
+ name: ::String?,
910
+ values: Array[::String]?
911
+ },
912
+ ]
913
+ ) -> PlacementGroup::Collection
914
+ | (?Hash[Symbol, untyped]) -> PlacementGroup::Collection
915
+
916
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#route_table-instance_method
917
+ def route_table: (String id) -> RouteTable
918
+
919
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#route_table_association-instance_method
920
+ def route_table_association: (String id) -> RouteTableAssociation
921
+
922
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#route_tables-instance_method
923
+ def route_tables: (
924
+ ?dry_run: bool,
925
+ ?route_table_ids: Array[::String],
926
+ ?filters: Array[
927
+ {
928
+ name: ::String?,
929
+ values: Array[::String]?
930
+ },
931
+ ]
932
+ ) -> RouteTable::Collection
933
+ | (?Hash[Symbol, untyped]) -> RouteTable::Collection
934
+
935
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#security_group-instance_method
936
+ def security_group: (String id) -> SecurityGroup
937
+
938
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#security_groups-instance_method
939
+ def security_groups: (
940
+ ?group_ids: Array[::String],
941
+ ?group_names: Array[::String],
942
+ ?dry_run: bool,
943
+ ?filters: Array[
944
+ {
945
+ name: ::String?,
946
+ values: Array[::String]?
947
+ },
948
+ ]
949
+ ) -> SecurityGroup::Collection
950
+ | (?Hash[Symbol, untyped]) -> SecurityGroup::Collection
951
+
952
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#snapshot-instance_method
953
+ def snapshot: (String id) -> Snapshot
954
+
955
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#snapshots-instance_method
956
+ def snapshots: (
957
+ ?owner_ids: Array[::String],
958
+ ?restorable_by_user_ids: Array[::String],
959
+ ?snapshot_ids: Array[::String],
960
+ ?dry_run: bool,
961
+ ?filters: Array[
962
+ {
963
+ name: ::String?,
964
+ values: Array[::String]?
965
+ },
966
+ ]
967
+ ) -> Snapshot::Collection
968
+ | (?Hash[Symbol, untyped]) -> Snapshot::Collection
969
+
970
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#subnet-instance_method
971
+ def subnet: (String id) -> Subnet
972
+
973
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#subnets-instance_method
974
+ def subnets: (
975
+ ?filters: Array[
976
+ {
977
+ name: ::String?,
978
+ values: Array[::String]?
979
+ },
980
+ ],
981
+ ?subnet_ids: Array[::String],
982
+ ?dry_run: bool
983
+ ) -> Subnet::Collection
984
+ | (?Hash[Symbol, untyped]) -> Subnet::Collection
985
+
986
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#volume-instance_method
987
+ def volume: (String id) -> Volume
988
+
989
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#volumes-instance_method
990
+ def volumes: (
991
+ ?volume_ids: Array[::String],
992
+ ?dry_run: bool,
993
+ ?filters: Array[
994
+ {
995
+ name: ::String?,
996
+ values: Array[::String]?
997
+ },
998
+ ]
999
+ ) -> Volume::Collection
1000
+ | (?Hash[Symbol, untyped]) -> Volume::Collection
1001
+
1002
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#vpc-instance_method
1003
+ def vpc: (String id) -> Vpc
1004
+
1005
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#vpc_addresses-instance_method
1006
+ def vpc_addresses: (
1007
+ ?public_ips: Array[::String],
1008
+ ?dry_run: bool,
1009
+ ?filters: Array[
1010
+ {
1011
+ name: ::String?,
1012
+ values: Array[::String]?
1013
+ },
1014
+ ],
1015
+ ?allocation_ids: Array[::String]
1016
+ ) -> VpcAddress::Collection
1017
+ | (?Hash[Symbol, untyped]) -> VpcAddress::Collection
1018
+
1019
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#vpc_peering_connection-instance_method
1020
+ def vpc_peering_connection: (String id) -> VpcPeeringConnection
1021
+
1022
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#vpc_peering_connections-instance_method
1023
+ def vpc_peering_connections: (
1024
+ ?dry_run: bool,
1025
+ ?vpc_peering_connection_ids: Array[::String],
1026
+ ?filters: Array[
1027
+ {
1028
+ name: ::String?,
1029
+ values: Array[::String]?
1030
+ },
1031
+ ]
1032
+ ) -> VpcPeeringConnection::Collection
1033
+ | (?Hash[Symbol, untyped]) -> VpcPeeringConnection::Collection
1034
+
1035
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Resource.html#vpcs-instance_method
1036
+ def vpcs: (
1037
+ ?filters: Array[
1038
+ {
1039
+ name: ::String?,
1040
+ values: Array[::String]?
1041
+ },
1042
+ ],
1043
+ ?vpc_ids: Array[::String],
1044
+ ?dry_run: bool
1045
+ ) -> Vpc::Collection
1046
+ | (?Hash[Symbol, untyped]) -> Vpc::Collection
1047
+ end
1048
+ end
1049
+ end