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/subnet.rbs ADDED
@@ -0,0 +1,442 @@
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/Subnet.html
11
+ class Subnet
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.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/Subnet.html#id-instance_method
18
+ def id: () -> String
19
+ alias subnet_id id
20
+
21
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#availability_zone_id-instance_method
22
+ def availability_zone_id: () -> ::String
23
+
24
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#enable_lni_at_device_index-instance_method
25
+ def enable_lni_at_device_index: () -> ::Integer
26
+
27
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#map_customer_owned_ip_on_launch-instance_method
28
+ def map_customer_owned_ip_on_launch: () -> bool
29
+
30
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#customer_owned_ipv_4_pool-instance_method
31
+ def customer_owned_ipv_4_pool: () -> ::String
32
+
33
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#owner_id-instance_method
34
+ def owner_id: () -> ::String
35
+
36
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#assign_ipv_6_address_on_creation-instance_method
37
+ def assign_ipv_6_address_on_creation: () -> bool
38
+
39
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#ipv_6_cidr_block_association_set-instance_method
40
+ def ipv_6_cidr_block_association_set: () -> ::Array[Types::SubnetIpv6CidrBlockAssociation]
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#tags-instance_method
43
+ def tags: () -> ::Array[Types::Tag]
44
+
45
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#subnet_arn-instance_method
46
+ def subnet_arn: () -> ::String
47
+
48
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#outpost_arn-instance_method
49
+ def outpost_arn: () -> ::String
50
+
51
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#enable_dns_64-instance_method
52
+ def enable_dns_64: () -> bool
53
+
54
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#ipv_6_native-instance_method
55
+ def ipv_6_native: () -> bool
56
+
57
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#private_dns_name_options_on_launch-instance_method
58
+ def private_dns_name_options_on_launch: () -> Types::PrivateDnsNameOptionsOnLaunch
59
+
60
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#block_public_access_states-instance_method
61
+ def block_public_access_states: () -> Types::BlockPublicAccessStates
62
+
63
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#type-instance_method
64
+ def type: () -> ::String
65
+
66
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#state-instance_method
67
+ def state: () -> ("pending" | "available" | "unavailable" | "failed" | "failed-insufficient-capacity")
68
+
69
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#vpc_id-instance_method
70
+ def vpc_id: () -> ::String
71
+
72
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#cidr_block-instance_method
73
+ def cidr_block: () -> ::String
74
+
75
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#available_ip_address_count-instance_method
76
+ def available_ip_address_count: () -> ::Integer
77
+
78
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#availability_zone-instance_method
79
+ def availability_zone: () -> ::String
80
+
81
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#default_for_az-instance_method
82
+ def default_for_az: () -> bool
83
+
84
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#map_public_ip_on_launch-instance_method
85
+ def map_public_ip_on_launch: () -> bool
86
+
87
+ def client: () -> Client
88
+
89
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#load-instance_method
90
+ def load: () -> self
91
+ alias reload load
92
+
93
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#data-instance_method
94
+ def data: () -> Types::Subnet
95
+
96
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#data_loaded?-instance_method
97
+ def data_loaded?: () -> bool
98
+
99
+
100
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#create_instances-instance_method
101
+ def create_instances: (
102
+ ?block_device_mappings: Array[
103
+ {
104
+ ebs: {
105
+ delete_on_termination: bool?,
106
+ iops: ::Integer?,
107
+ snapshot_id: ::String?,
108
+ volume_size: ::Integer?,
109
+ volume_type: ("standard" | "io1" | "io2" | "gp2" | "sc1" | "st1" | "gp3")?,
110
+ kms_key_id: ::String?,
111
+ throughput: ::Integer?,
112
+ outpost_arn: ::String?,
113
+ availability_zone: ::String?,
114
+ encrypted: bool?,
115
+ volume_initialization_rate: ::Integer?,
116
+ availability_zone_id: ::String?
117
+ }?,
118
+ no_device: ::String?,
119
+ device_name: ::String?,
120
+ virtual_name: ::String?
121
+ },
122
+ ],
123
+ ?image_id: ::String,
124
+ ?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"),
125
+ ?ipv_6_address_count: ::Integer,
126
+ ?ipv_6_addresses: Array[
127
+ {
128
+ ipv_6_address: ::String?,
129
+ is_primary_ipv_6: bool?
130
+ },
131
+ ],
132
+ ?kernel_id: ::String,
133
+ ?key_name: ::String,
134
+ max_count: ::Integer,
135
+ min_count: ::Integer,
136
+ ?monitoring: {
137
+ enabled: bool
138
+ },
139
+ ?placement: {
140
+ availability_zone_id: ::String?,
141
+ affinity: ::String?,
142
+ group_name: ::String?,
143
+ partition_number: ::Integer?,
144
+ host_id: ::String?,
145
+ tenancy: ("default" | "dedicated" | "host")?,
146
+ spread_domain: ::String?,
147
+ host_resource_group_arn: ::String?,
148
+ group_id: ::String?,
149
+ availability_zone: ::String?
150
+ },
151
+ ?ramdisk_id: ::String,
152
+ ?security_group_ids: Array[::String],
153
+ ?security_groups: Array[::String],
154
+ ?user_data: ::String,
155
+ ?elastic_gpu_specification: Array[
156
+ {
157
+ type: ::String
158
+ },
159
+ ],
160
+ ?elastic_inference_accelerators: Array[
161
+ {
162
+ type: ::String,
163
+ count: ::Integer?
164
+ },
165
+ ],
166
+ ?tag_specifications: Array[
167
+ {
168
+ 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")?,
169
+ tags: Array[
170
+ {
171
+ key: ::String?,
172
+ value: ::String?
173
+ },
174
+ ]?
175
+ },
176
+ ],
177
+ ?launch_template: {
178
+ launch_template_id: ::String?,
179
+ launch_template_name: ::String?,
180
+ version: ::String?
181
+ },
182
+ ?instance_market_options: {
183
+ market_type: ("spot" | "capacity-block")?,
184
+ spot_options: {
185
+ max_price: ::String?,
186
+ spot_instance_type: ("one-time" | "persistent")?,
187
+ block_duration_minutes: ::Integer?,
188
+ valid_until: ::Time?,
189
+ instance_interruption_behavior: ("hibernate" | "stop" | "terminate")?
190
+ }?
191
+ },
192
+ ?credit_specification: {
193
+ cpu_credits: ::String
194
+ },
195
+ ?cpu_options: {
196
+ core_count: ::Integer?,
197
+ threads_per_core: ::Integer?,
198
+ amd_sev_snp: ("enabled" | "disabled")?
199
+ },
200
+ ?capacity_reservation_specification: {
201
+ capacity_reservation_preference: ("capacity-reservations-only" | "open" | "none")?,
202
+ capacity_reservation_target: {
203
+ capacity_reservation_id: ::String?,
204
+ capacity_reservation_resource_group_arn: ::String?
205
+ }?
206
+ },
207
+ ?hibernation_options: {
208
+ configured: bool?
209
+ },
210
+ ?license_specifications: Array[
211
+ {
212
+ license_configuration_arn: ::String?
213
+ },
214
+ ],
215
+ ?metadata_options: {
216
+ http_tokens: ("optional" | "required")?,
217
+ http_put_response_hop_limit: ::Integer?,
218
+ http_endpoint: ("disabled" | "enabled")?,
219
+ http_protocol_ipv_6: ("disabled" | "enabled")?,
220
+ instance_metadata_tags: ("disabled" | "enabled")?
221
+ },
222
+ ?enclave_options: {
223
+ enabled: bool?
224
+ },
225
+ ?private_dns_name_options: {
226
+ hostname_type: ("ip-name" | "resource-name")?,
227
+ enable_resource_name_dns_a_record: bool?,
228
+ enable_resource_name_dns_aaaa_record: bool?
229
+ },
230
+ ?maintenance_options: {
231
+ auto_recovery: ("disabled" | "default")?
232
+ },
233
+ ?disable_api_stop: bool,
234
+ ?enable_primary_ipv_6: bool,
235
+ ?network_performance_options: {
236
+ bandwidth_weighting: ("default" | "vpc-1" | "ebs-1")?
237
+ },
238
+ ?operator: {
239
+ principal: ::String?
240
+ },
241
+ ?dry_run: bool,
242
+ ?disable_api_termination: bool,
243
+ ?instance_initiated_shutdown_behavior: ("stop" | "terminate"),
244
+ ?private_ip_address: ::String,
245
+ ?client_token: ::String,
246
+ ?additional_info: ::String,
247
+ ?network_interfaces: Array[
248
+ {
249
+ associate_public_ip_address: bool?,
250
+ delete_on_termination: bool?,
251
+ description: ::String?,
252
+ device_index: ::Integer?,
253
+ groups: Array[::String]?,
254
+ ipv_6_address_count: ::Integer?,
255
+ ipv_6_addresses: Array[
256
+ {
257
+ ipv_6_address: ::String?,
258
+ is_primary_ipv_6: bool?
259
+ },
260
+ ]?,
261
+ network_interface_id: ::String?,
262
+ private_ip_address: ::String?,
263
+ private_ip_addresses: Array[
264
+ {
265
+ primary: bool?,
266
+ private_ip_address: ::String?
267
+ },
268
+ ]?,
269
+ secondary_private_ip_address_count: ::Integer?,
270
+ subnet_id: ::String?,
271
+ associate_carrier_ip_address: bool?,
272
+ interface_type: ::String?,
273
+ network_card_index: ::Integer?,
274
+ ipv_4_prefixes: Array[
275
+ {
276
+ ipv_4_prefix: ::String?
277
+ },
278
+ ]?,
279
+ ipv_4_prefix_count: ::Integer?,
280
+ ipv_6_prefixes: Array[
281
+ {
282
+ ipv_6_prefix: ::String?
283
+ },
284
+ ]?,
285
+ ipv_6_prefix_count: ::Integer?,
286
+ primary_ipv_6: bool?,
287
+ ena_srd_specification: {
288
+ ena_srd_enabled: bool?,
289
+ ena_srd_udp_specification: {
290
+ ena_srd_udp_enabled: bool?
291
+ }?
292
+ }?,
293
+ connection_tracking_specification: {
294
+ tcp_established_timeout: ::Integer?,
295
+ udp_stream_timeout: ::Integer?,
296
+ udp_timeout: ::Integer?
297
+ }?,
298
+ ena_queue_count: ::Integer?
299
+ },
300
+ ],
301
+ ?iam_instance_profile: {
302
+ arn: ::String?,
303
+ name: ::String?
304
+ },
305
+ ?ebs_optimized: bool
306
+ ) -> Instance::Collection
307
+ | (?Hash[Symbol, untyped]) -> Instance::Collection
308
+
309
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#create_network_interface-instance_method
310
+ def create_network_interface: (
311
+ ?ipv_4_prefixes: Array[
312
+ {
313
+ ipv_4_prefix: ::String?
314
+ },
315
+ ],
316
+ ?ipv_4_prefix_count: ::Integer,
317
+ ?ipv_6_prefixes: Array[
318
+ {
319
+ ipv_6_prefix: ::String?
320
+ },
321
+ ],
322
+ ?ipv_6_prefix_count: ::Integer,
323
+ ?interface_type: ("efa" | "efa-only" | "branch" | "trunk"),
324
+ ?tag_specifications: Array[
325
+ {
326
+ 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")?,
327
+ tags: Array[
328
+ {
329
+ key: ::String?,
330
+ value: ::String?
331
+ },
332
+ ]?
333
+ },
334
+ ],
335
+ ?client_token: ::String,
336
+ ?enable_primary_ipv_6: bool,
337
+ ?connection_tracking_specification: {
338
+ tcp_established_timeout: ::Integer?,
339
+ udp_stream_timeout: ::Integer?,
340
+ udp_timeout: ::Integer?
341
+ },
342
+ ?operator: {
343
+ principal: ::String?
344
+ },
345
+ ?description: ::String,
346
+ ?private_ip_address: ::String,
347
+ ?groups: Array[::String],
348
+ ?private_ip_addresses: Array[
349
+ {
350
+ primary: bool?,
351
+ private_ip_address: ::String?
352
+ },
353
+ ],
354
+ ?secondary_private_ip_address_count: ::Integer,
355
+ ?ipv_6_addresses: Array[
356
+ {
357
+ ipv_6_address: ::String?,
358
+ is_primary_ipv_6: bool?
359
+ },
360
+ ],
361
+ ?ipv_6_address_count: ::Integer,
362
+ ?dry_run: bool
363
+ ) -> NetworkInterface
364
+ | (?Hash[Symbol, untyped]) -> NetworkInterface
365
+
366
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#create_tags-instance_method
367
+ def create_tags: (
368
+ ?dry_run: bool,
369
+ tags: Array[
370
+ {
371
+ key: ::String?,
372
+ value: ::String?
373
+ },
374
+ ]
375
+ ) -> Tag::Collection
376
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
377
+
378
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#delete_tags-instance_method
379
+ def delete_tags: (
380
+ ?dry_run: bool,
381
+ ?tags: Array[
382
+ {
383
+ key: ::String?,
384
+ value: ::String?
385
+ },
386
+ ]
387
+ ) -> Tag::Collection
388
+ | (?Hash[Symbol, untyped]) -> Tag::Collection
389
+
390
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#delete-instance_method
391
+ def delete: (
392
+ ?dry_run: bool
393
+ ) -> ::Aws::EmptyStructure
394
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
395
+
396
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#instances-instance_method
397
+ def instances: (
398
+ ?instance_ids: Array[::String],
399
+ ?dry_run: bool,
400
+ ?filters: Array[
401
+ {
402
+ name: ::String?,
403
+ values: Array[::String]?
404
+ },
405
+ ]
406
+ ) -> Instance::Collection
407
+ | (?Hash[Symbol, untyped]) -> Instance::Collection
408
+
409
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#nat_gateways-instance_method
410
+ def nat_gateways: (
411
+ ?dry_run: bool,
412
+ ?filter: Array[
413
+ {
414
+ name: ::String?,
415
+ values: Array[::String]?
416
+ },
417
+ ],
418
+ ?nat_gateway_ids: Array[::String]
419
+ ) -> NatGateway::Collection
420
+ | (?Hash[Symbol, untyped]) -> NatGateway::Collection
421
+
422
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#network_interfaces-instance_method
423
+ def network_interfaces: (
424
+ ?dry_run: bool,
425
+ ?network_interface_ids: Array[::String],
426
+ ?filters: Array[
427
+ {
428
+ name: ::String?,
429
+ values: Array[::String]?
430
+ },
431
+ ]
432
+ ) -> NetworkInterface::Collection
433
+ | (?Hash[Symbol, untyped]) -> NetworkInterface::Collection
434
+
435
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Subnet.html#vpc-instance_method
436
+ def vpc: () -> Vpc?
437
+
438
+ class Collection < ::Aws::Resources::Collection[Subnet]
439
+ end
440
+ end
441
+ end
442
+ end
data/sig/tag.rbs ADDED
@@ -0,0 +1,63 @@
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/Tag.html
11
+ class Tag
12
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#initialize-instance_method
13
+ def initialize: (String resource_id, String key, String value, Hash[Symbol, untyped] options) -> void
14
+ | (resource_id: String, key: String, value: String, ?client: Client) -> void
15
+ | (Hash[Symbol, untyped] args) -> void
16
+
17
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#resource_id-instance_method
18
+ def resource_id: () -> String
19
+
20
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#key-instance_method
21
+ def key: () -> String
22
+
23
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#value-instance_method
24
+ def value: () -> String
25
+
26
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#resource_type-instance_method
27
+ def 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")
28
+
29
+ def client: () -> Client
30
+
31
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#load-instance_method
32
+ def load: () -> self
33
+ alias reload load
34
+
35
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#data-instance_method
36
+ def data: () -> Types::TagDescription
37
+
38
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#data_loaded?-instance_method
39
+ def data_loaded?: () -> bool
40
+
41
+
42
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Tag.html#delete-instance_method
43
+ def delete: (
44
+ ?dry_run: bool,
45
+ ?tags: Array[
46
+ {
47
+ key: ::String?,
48
+ value: ::String?
49
+ },
50
+ ]
51
+ ) -> ::Aws::EmptyStructure
52
+ | (?Hash[Symbol, untyped]) -> ::Aws::EmptyStructure
53
+
54
+ class Collection < ::Aws::Resources::Collection[Tag]
55
+
56
+ def batch_delete!: (
57
+ ?dry_run: bool
58
+ ) -> void
59
+ | (?Hash[Symbol, untyped]) -> void
60
+ end
61
+ end
62
+ end
63
+ end