1pub type Tags = std::collections::HashMap<String, String>;
2
3#[derive(Debug, Clone)]
4pub struct Vpc {
5 pub vpc_id: String,
6 pub cidr_block: String,
7 pub state: String,
8 pub dhcp_options_id: String,
9 pub instance_tenancy: String,
10 pub is_default: bool,
11 pub enable_dns_hostnames: bool,
12 pub enable_dns_support: bool,
13 pub secondary_cidr_blocks: Vec<(String, String)>, pub tags: Tags,
15 pub classic_link_enabled: bool,
18}
19
20#[derive(Debug, Clone)]
21pub struct Subnet {
22 pub subnet_id: String,
23 pub vpc_id: String,
24 pub cidr_block: String,
25 pub availability_zone: String,
26 pub state: String,
27 pub available_ip_address_count: i64,
28 pub map_public_ip_on_launch: bool,
29 pub ipv6_cidr_blocks: Vec<SubnetIpv6CidrAssoc>,
30 pub tags: Tags,
31}
32
33#[derive(Debug, Clone)]
34pub struct SubnetIpv6CidrAssoc {
35 pub association_id: String,
36 pub ipv6_cidr_block: String,
37 pub state: String,
38}
39
40#[derive(Debug, Clone)]
41pub struct InternetGateway {
42 pub igw_id: String,
43 pub attachments: Vec<IgwAttachment>,
44 pub tags: Tags,
45}
46
47#[derive(Debug, Clone)]
48pub struct IgwAttachment {
49 pub vpc_id: String,
50 pub state: String,
51}
52
53#[derive(Debug, Clone)]
54pub struct SecurityGroup {
55 pub group_id: String,
56 pub group_name: String,
57 pub description: String,
58 pub vpc_id: String,
59 pub owner_id: String,
60 pub ingress_rules: Vec<IpPermission>,
61 pub egress_rules: Vec<IpPermission>,
62 pub tags: Tags,
63}
64
65#[derive(Debug, Clone)]
66pub struct IpPermission {
67 pub rule_id: String,
68 pub from_port: Option<i64>,
69 pub to_port: Option<i64>,
70 pub ip_protocol: String,
71 pub ip_ranges: Vec<IpRange>,
72 pub ipv6_ranges: Vec<Ipv6Range>,
73 pub user_id_group_pairs: Vec<UserIdGroupPair>,
74}
75
76#[derive(Debug, Clone)]
77pub struct IpRange {
78 pub cidr_ip: String,
79 pub description: Option<String>,
80}
81
82#[derive(Debug, Clone)]
83pub struct Ipv6Range {
84 pub cidr_ipv6: String,
85 pub description: Option<String>,
86}
87
88#[derive(Debug, Clone)]
89pub struct UserIdGroupPair {
90 pub group_id: String,
91 pub user_id: Option<String>,
92}
93
94#[derive(Debug, Clone)]
95pub struct RouteTable {
96 pub route_table_id: String,
97 pub vpc_id: String,
98 pub routes: Vec<Route>,
99 pub associations: Vec<RouteTableAssociation>,
100 pub propagating_vgws: Vec<String>,
104 pub tags: Tags,
105}
106
107#[derive(Debug, Clone)]
108pub struct Route {
109 pub destination_cidr_block: Option<String>,
110 pub destination_ipv6_cidr_block: Option<String>,
111 pub gateway_id: Option<String>,
112 pub state: String,
113 pub origin: String,
114}
115
116#[derive(Debug, Clone)]
117pub struct RouteTableAssociation {
118 pub association_id: String,
119 pub subnet_id: Option<String>,
120 pub gateway_id: Option<String>,
125 pub main: bool,
126 pub state: String,
127}
128
129#[derive(Debug, Clone)]
130pub struct KeyPair {
131 pub key_pair_id: String,
132 pub key_name: String,
133 pub fingerprint: String,
134 pub tags: Tags,
135}
136
137#[derive(Debug, Clone)]
140pub struct NetworkAcl {
141 pub network_acl_id: String,
142 pub vpc_id: String,
143 pub is_default: bool,
144 pub entries: Vec<NetworkAclEntry>,
145 pub associations: Vec<NetworkAclAssociation>,
146 pub tags: Tags,
147}
148
149#[derive(Debug, Clone)]
150pub struct NetworkAclEntry {
151 pub rule_number: i32,
152 pub protocol: String,
153 pub rule_action: String,
154 pub egress: bool,
155 pub cidr_block: Option<String>,
156 pub ipv6_cidr_block: Option<String>,
157 pub port_range: Option<PortRange>,
158 pub icmp_type_code: Option<IcmpTypeCode>,
159}
160
161#[derive(Debug, Clone)]
162pub struct PortRange {
163 pub from: i32,
164 pub to: i32,
165}
166
167#[derive(Debug, Clone)]
168pub struct IcmpTypeCode {
169 pub type_num: i32,
170 pub code: i32,
171}
172
173#[derive(Debug, Clone)]
174pub struct NetworkAclAssociation {
175 pub network_acl_association_id: String,
176 pub network_acl_id: String,
177 pub subnet_id: String,
178}
179
180#[derive(Debug, Clone)]
183pub struct ElasticIp {
184 pub allocation_id: String,
185 pub public_ip: String,
186 pub association_id: Option<String>,
187 pub instance_id: Option<String>,
188 pub network_interface_id: Option<String>,
189 pub private_ip_address: Option<String>,
190 pub address_attribute_ptr_record: Option<String>,
193 pub domain: String,
196 pub pending_transfer: Option<String>,
199 pub tags: Tags,
200}
201
202#[derive(Debug, Clone)]
205pub struct NatGateway {
206 pub nat_gateway_id: String,
207 pub vpc_id: String,
208 pub subnet_id: String,
209 pub state: String,
210 pub connectivity_type: String,
211 pub allocation_id: Option<String>,
212 pub public_ip: Option<String>,
213 pub secondary_addresses: Vec<NatGatewayAddressAssociation>,
216 pub tags: Tags,
217}
218
219#[derive(Debug, Clone)]
221pub struct NatGatewayAddressAssociation {
222 pub allocation_id: Option<String>,
223 pub association_id: Option<String>,
224 pub network_interface_id: Option<String>,
225 pub private_ip: Option<String>,
226 pub public_ip: Option<String>,
227 pub status: String,
230 pub is_primary: bool,
231}
232
233#[derive(Debug, Clone)]
236pub struct ByoipCidr {
237 pub cidr: String,
238 pub description: Option<String>,
239 pub state: String,
242 pub asn_association: Option<AsnAssociation>,
244 pub ipam_pool_id: Option<String>,
246}
247
248#[derive(Debug, Clone)]
250pub struct AsnAssociation {
251 pub asn: String,
252 pub cidr: String,
253 pub state: String,
256 pub status_message: Option<String>,
257}
258
259#[derive(Debug, Clone)]
262pub struct PublicIpv4Pool {
263 pub pool_id: String,
264 pub description: Option<String>,
265 pub network_border_group: Option<String>,
266 pub total_address_count: i32,
267 pub total_available_address_count: i32,
268 pub pool_address_ranges: Vec<PublicIpv4PoolRange>,
269 pub tags: Tags,
270}
271
272#[derive(Debug, Clone)]
273pub struct PublicIpv4PoolRange {
274 pub first_address: String,
275 pub last_address: String,
276 pub address_count: i32,
277 pub available_address_count: i32,
278}
279
280#[derive(Debug, Clone)]
283pub struct CoipCidr {
284 pub cidr: String,
285 pub coip_pool_id: String,
286}
287
288#[derive(Debug, Clone)]
291pub struct AddressTransfer {
292 pub allocation_id: String,
293 pub public_ip: String,
294 pub transfer_account_id: String,
295 pub transfer_offer_expiration_timestamp: String,
296 pub transfer_offer_accepted_timestamp: Option<String>,
297 pub address_transfer_status: String,
299}
300
301#[derive(Debug, Clone)]
304pub struct DhcpOptions {
305 pub dhcp_options_id: String,
306 pub configurations: Vec<DhcpConfiguration>,
307 pub tags: Tags,
308}
309
310#[derive(Debug, Clone)]
311pub struct DhcpConfiguration {
312 pub key: String,
313 pub values: Vec<String>,
314}
315
316#[derive(Debug, Clone)]
319pub struct EgressOnlyInternetGateway {
320 pub eigw_id: String,
321 pub state: String,
322 pub attachments: Vec<EoigwAttachment>,
323 pub tags: Tags,
324}
325
326#[derive(Debug, Clone)]
327pub struct EoigwAttachment {
328 pub vpc_id: String,
329 pub state: String,
330}
331
332#[derive(Debug, Clone)]
335pub struct FlowLog {
336 pub flow_log_id: String,
337 pub resource_id: String,
338 pub traffic_type: String,
339 pub log_destination_type: String,
340 pub log_destination: Option<String>,
341 pub log_group_name: Option<String>,
342 pub deliver_logs_status: String,
343 pub flow_log_status: String,
344 pub tags: Tags,
345}
346
347#[derive(Debug, Clone)]
350pub struct VpcPeeringConnection {
351 pub peering_id: String,
352 pub requester_vpc_id: String,
353 pub accepter_vpc_id: Option<String>,
354 pub status: String,
355 pub tags: Tags,
356 pub requester_peering_options: Option<VpcPeeringConnectionOptions>,
359 pub accepter_peering_options: Option<VpcPeeringConnectionOptions>,
361}
362
363#[derive(Debug, Clone, Default)]
365pub struct VpcPeeringConnectionOptions {
366 pub allow_dns_resolution_from_remote_vpc: bool,
367 pub allow_egress_from_local_classic_link_to_remote_vpc: bool,
368 pub allow_egress_from_local_vpc_to_remote_classic_link: bool,
369}
370
371#[derive(Debug, Clone)]
374pub struct VpcEndpoint {
375 pub endpoint_id: String,
376 pub vpc_id: String,
377 pub service_name: String,
378 pub endpoint_type: String,
379 pub state: String,
380 pub policy_document: Option<String>,
381 pub route_table_ids: Vec<String>,
382 pub subnet_ids: Vec<String>,
383 pub security_group_ids: Vec<String>,
384 pub private_dns_enabled: Option<bool>,
389 pub tags: Tags,
390}
391
392#[derive(Debug, Clone)]
395pub struct ManagedPrefixList {
396 pub prefix_list_id: String,
397 pub prefix_list_name: String,
398 pub state: String,
399 pub address_family: String,
400 pub max_entries: i32,
401 pub entries: Vec<TypesPrefixListEntry>,
402 pub tags: Tags,
403 pub version: i64,
404 pub version_history: Vec<ManagedPrefixListVersion>,
407}
408
409#[derive(Debug, Clone)]
410pub struct ManagedPrefixListVersion {
411 pub version: i64,
412 pub entries: Vec<TypesPrefixListEntry>,
413}
414
415#[derive(Debug, Clone)]
416pub struct TypesPrefixListEntry {
417 pub cidr: String,
418 pub description: Option<String>,
419}
420
421#[derive(Debug, Clone)]
424pub struct CustomerGateway {
425 pub customer_gateway_id: String,
426 pub bgp_asn: String,
427 pub ip_address: String,
428 pub gateway_type: String,
429 pub state: String,
430 pub tags: Tags,
431}
432
433#[derive(Debug, Clone)]
436pub struct VpnGateway {
437 pub vpn_gateway_id: String,
438 pub gateway_type: String,
439 pub state: String,
440 pub amazon_side_asn: Option<i64>,
441 pub vpc_attachments: Vec<VgwVpcAttachment>,
442 pub tags: Tags,
443}
444
445#[derive(Debug, Clone)]
446pub struct VgwVpcAttachment {
447 pub vpc_id: String,
448 pub state: String,
449}
450
451#[derive(Debug, Clone, Default)]
454pub struct VpnConnection {
455 pub vpn_connection_id: String,
456 pub vpn_gateway_id: String,
457 pub customer_gateway_id: String,
458 pub transit_gateway_id: Option<String>,
461 pub connection_type: String,
462 pub state: String,
463 pub tags: Tags,
464 pub routes: Vec<VpnStaticRoute>,
466 pub options: Option<VpnConnectionOptions>,
469 pub tunnel_replacement_status: Option<String>,
472}
473
474#[derive(Debug, Clone)]
475pub struct VpnStaticRoute {
476 pub destination_cidr_block: String,
477 pub source: String,
479 pub state: String,
480}
481
482#[derive(Debug, Clone, Default)]
483pub struct VpnConnectionOptions {
484 pub local_ipv4_network_cidr: Option<String>,
485 pub local_ipv6_network_cidr: Option<String>,
486 pub remote_ipv4_network_cidr: Option<String>,
487 pub remote_ipv6_network_cidr: Option<String>,
488 pub tunnel_inside_ip_version: Option<String>,
489 pub static_routes_only: Option<bool>,
490 pub tunnel_options: Vec<VpnTunnelOptions>,
491}
492
493#[derive(Debug, Clone, Default)]
494pub struct VpnTunnelOptions {
495 pub tunnel_inside_cidr: Option<String>,
497 pub tunnel_inside_ipv6_cidr: Option<String>,
498 pub pre_shared_key: Option<String>,
499 pub outside_ip_address: Option<String>,
501 pub certificate_arn: Option<String>,
503}
504
505#[derive(Debug, Clone)]
509pub struct VpnConcentrator {
510 pub vpn_concentrator_id: String,
511 pub concentrator_type: String,
512 pub state: String,
513 pub transit_gateway_id: Option<String>,
514 pub transit_gateway_attachment_id: Option<String>,
515 pub tags: Tags,
516}
517
518#[derive(Debug, Clone)]
521pub struct CarrierGateway {
522 pub carrier_gateway_id: String,
523 pub vpc_id: String,
524 pub state: String,
525 pub tags: Tags,
526}
527
528#[derive(Debug, Clone)]
531pub struct NetworkInterface {
532 pub network_interface_id: String,
533 pub subnet_id: String,
534 pub vpc_id: String,
535 pub description: String,
536 pub private_ip_address: String,
537 pub status: String,
538 pub attachment_id: Option<String>,
539 pub instance_id: Option<String>,
540 pub device_index: Option<i32>,
541 pub security_groups: Vec<String>,
542 pub source_dest_check: bool,
543 pub tags: Tags,
544 pub public_ip_dns_hostname_type: Option<String>,
546}
547
548#[derive(Debug, Clone)]
551pub struct TransitGateway {
552 pub transit_gateway_id: String,
553 pub state: String,
554 pub amazon_side_asn: i64,
555 pub description: String,
556 pub dns_support: String,
557 pub vpn_ecmp_support: String,
558 pub multicast_support: String,
559 pub tags: Tags,
560}
561
562#[derive(Debug, Clone)]
563pub struct TransitGatewayVpcAttachment {
564 pub attachment_id: String,
565 pub transit_gateway_id: String,
566 pub vpc_id: String,
567 pub subnet_ids: Vec<String>,
568 pub state: String,
569 pub tags: Tags,
570}
571
572#[derive(Debug, Clone)]
573pub struct TransitGatewayPeeringAttachment {
574 pub attachment_id: String,
575 pub transit_gateway_id: String,
576 pub peer_transit_gateway_id: String,
577 pub peer_account_id: String,
578 pub peer_region: String,
579 pub state: String,
580 pub tags: Tags,
581}
582
583#[derive(Debug, Clone)]
584pub struct TransitGatewayRouteTable {
585 pub route_table_id: String,
586 pub transit_gateway_id: String,
587 pub state: String,
588 pub default_association_route_table: bool,
589 pub default_propagation_route_table: bool,
590 pub tags: Tags,
591}
592
593#[derive(Debug, Clone)]
594pub struct TransitGatewayRoute {
595 pub destination_cidr_block: String,
596 pub route_type: String,
597 pub state: String,
598 pub attachment_id: Option<String>,
599}
600
601#[derive(Debug, Clone)]
604pub struct InstanceState {
605 pub code: i32,
606 pub name: String,
607}
608
609#[derive(Debug, Clone)]
610pub struct Instance {
611 pub instance_id: String,
612 pub image_id: String,
613 pub instance_type: String,
614 pub state: InstanceState,
615 pub private_ip_address: Option<String>,
616 pub public_ip_address: Option<String>,
617 pub subnet_id: Option<String>,
618 pub vpc_id: Option<String>,
619 pub key_name: Option<String>,
620 pub security_groups: Vec<String>,
621 pub launch_time: String,
622 pub tags: Tags,
623 pub iam_instance_profile_arn: Option<String>,
624 pub monitoring_state: String,
625 pub placement_az: String,
626 pub placement_group_name: Option<String>,
627 pub placement_tenancy: Option<String>,
628 pub placement_host_id: Option<String>,
629 pub placement_affinity: Option<String>,
630 pub placement_partition_number: Option<i32>,
631 pub owner_id: String,
632 pub classic_link_vpc: Option<(String, Vec<String>)>,
634 pub private_dns_hostname_type: Option<String>,
636 pub enable_resource_name_dns_a_record: Option<bool>,
638 pub enable_resource_name_dns_aaaa_record: Option<bool>,
640 pub credit_specification: Option<String>,
642 pub cpu_options: Option<InstanceCpuOptions>,
644 pub maintenance_options: Option<InstanceMaintenanceOptions>,
646 pub network_bandwidth_weighting: Option<String>,
648 pub lifecycle: Option<String>,
650 pub product_codes: Vec<(String, String)>,
652 pub capacity_reservation_specification: Option<CapacityReservationSpecificationResponse>,
654}
655
656#[derive(Debug, Clone, Default)]
657pub struct InstanceCpuOptions {
658 pub core_count: Option<i32>,
659 pub threads_per_core: Option<i32>,
660 pub amd_sev_snp: Option<String>,
661}
662
663#[derive(Debug, Clone, Default)]
664pub struct InstanceMaintenanceOptions {
665 pub auto_recovery: Option<String>,
666 pub reboot_migration: Option<String>,
667}
668
669#[derive(Debug, Clone, Default)]
671pub struct InstanceMetadataDefaults {
672 pub http_tokens: Option<String>,
673 pub http_put_response_hop_limit: Option<i32>,
674 pub http_endpoint: Option<String>,
675 pub instance_metadata_tags: Option<String>,
676}
677
678#[derive(Debug, Clone)]
681pub struct VolumeAttachment {
682 pub volume_id: String,
683 pub instance_id: String,
684 pub device: String,
685 pub state: String,
686 pub attach_time: String,
687 pub delete_on_termination: bool,
688}
689
690#[derive(Debug, Clone)]
691pub struct Volume {
692 pub volume_id: String,
693 pub size: i32,
694 pub snapshot_id: Option<String>,
695 pub availability_zone: String,
696 pub state: String,
697 pub volume_type: String,
698 pub iops: Option<i32>,
699 pub throughput: Option<i32>,
700 pub encrypted: bool,
701 pub create_time: String,
702 pub attachments: Vec<VolumeAttachment>,
703 pub tags: Tags,
704 pub recycle_bin_state: Option<String>,
707 pub source_volume_id: Option<String>,
709}
710
711#[derive(Debug, Clone)]
714pub struct Snapshot {
715 pub snapshot_id: String,
716 pub volume_id: String,
717 pub volume_size: i32,
718 pub state: String,
719 pub description: String,
720 pub start_time: String,
721 pub progress: String,
722 pub owner_id: String,
723 pub encrypted: bool,
724 pub tags: Tags,
725 pub lock_state: String,
727 pub lock_duration: Option<i32>,
728 pub lock_created_on: Option<String>,
729 pub lock_expires_on: Option<String>,
730 pub lock_duration_start_time: Option<String>,
731 pub cool_off_period: Option<i32>,
732 pub cool_off_period_expires_on: Option<String>,
733 pub storage_tier: String,
735 pub last_tiering_operation_status: Option<String>,
737 pub fast_snapshot_restore_states: Vec<FastSnapshotRestoreState>,
740}
741
742#[derive(Debug, Clone, Default)]
743pub struct FastSnapshotRestoreState {
744 pub availability_zone: String,
745 pub state: String,
747}
748
749#[derive(Debug, Clone)]
752pub struct Image {
753 pub image_id: String,
754 pub name: String,
755 pub description: String,
756 pub state: String,
757 pub owner_id: String,
758 pub architecture: String,
759 pub image_type: String,
760 pub platform: Option<String>,
761 pub virtualization_type: String,
762 pub root_device_type: String,
763 pub root_device_name: String,
764 pub public: bool,
765 pub tags: Tags,
766 pub source_instance_id: Option<String>,
767 pub source_instance_type: String,
768 pub launch_permissions: Vec<LaunchPermission>,
769 pub recycle_bin_state: Option<String>,
772 pub deprecation_time: Option<String>,
775 pub recycle_bin_enter_time: Option<String>,
778 pub product_codes: Vec<(String, String)>,
780 pub fast_launch_state: Option<FastLaunchState>,
783 pub deregistration_protection: Option<String>,
786 pub kernel_id: Option<String>,
788 pub ramdisk_id: Option<String>,
790 pub ena_support: Option<bool>,
792 pub sriov_net_support: Option<String>,
794 pub tpm_support: Option<String>,
796 pub boot_mode: Option<String>,
798 pub imds_support: Option<String>,
800 pub image_location: Option<String>,
803 pub source_image_id: Option<String>,
806 pub source_region: Option<String>,
809}
810
811#[derive(Debug, Clone, Default)]
812pub struct FastLaunchState {
813 pub state: String,
815 pub image_id: String,
816 pub resource_type: String,
818 pub snapshot_configuration: SnapshotConfigurationRequest,
819 pub launch_template: FastLaunchLaunchTemplateSpecification,
820 pub max_parallel_launches: i32,
821 pub owner_id: String,
822 pub state_transition_time: String,
823}
824
825#[derive(Debug, Clone, Default)]
826pub struct SnapshotConfigurationRequest {
827 pub target_resource_count: Option<i32>,
828}
829
830#[derive(Debug, Clone, Default)]
831pub struct FastLaunchLaunchTemplateSpecification {
832 pub launch_template_id: Option<String>,
833 pub launch_template_name: Option<String>,
834 pub version: Option<String>,
835}
836
837#[derive(Debug, Clone, Default, PartialEq, Eq)]
838pub struct LaunchPermission {
839 pub user_id: Option<String>,
840 pub group: Option<String>,
841}
842
843#[derive(Debug, Clone)]
846pub struct LaunchTemplate {
847 pub launch_template_id: String,
848 pub launch_template_name: String,
849 pub default_version_number: i64,
850 pub latest_version_number: i64,
851 pub tags: Tags,
852}
853
854#[derive(Debug, Clone)]
855pub struct LaunchTemplateVersion {
856 pub version_number: i64,
857 pub launch_template_id: String,
858 pub launch_template_name: String,
859 pub version_description: String,
860 pub data: std::collections::HashMap<String, String>,
861 pub default_version: bool,
862}
863
864#[derive(Debug, Clone)]
867pub struct SpotInstanceRequest {
868 pub spot_instance_request_id: String,
869 pub spot_price: String,
870 pub instance_type: String,
871 pub image_id: String,
872 pub state: String,
873 pub status_code: String,
874 pub instance_id: Option<String>,
875 pub tags: Tags,
876}
877
878#[derive(Debug, Clone)]
883pub struct SpotDatafeedSubscription {
884 pub bucket: String,
885 pub prefix: Option<String>,
886 pub owner_id: String,
887 pub state: String,
891}
892
893#[derive(Debug, Clone)]
896pub struct IamInstanceProfileAssociation {
897 pub association_id: String,
898 pub instance_id: String,
899 pub iam_instance_profile_arn: String,
900 pub iam_instance_profile_name: String,
901 pub state: String,
902}
903
904#[derive(Debug, Clone)]
907pub struct DedicatedHost {
908 pub host_id: String,
909 pub availability_zone: String,
910 pub instance_type: Option<String>,
911 pub auto_placement: String,
912 pub host_recovery: String,
913 pub state: String,
914 pub tags: Tags,
915}
916
917#[derive(Debug, Clone)]
920pub struct Ec2Fleet {
921 pub fleet_id: String,
922 pub state: String,
923 pub fleet_type: String,
924 pub create_time: String,
925 pub tags: Tags,
926 pub total_target_capacity: Option<i32>,
928 pub on_demand_target_capacity: Option<i32>,
930 pub spot_target_capacity: Option<i32>,
932 pub context: Option<String>,
934}
935
936#[derive(Debug, Clone, Default)]
939pub struct VpcEndpointServiceConfiguration {
940 pub service_id: String,
941 pub service_name: String,
942 pub service_type: String,
943 pub acceptance_required: bool,
944 pub state: String,
945 pub network_load_balancer_arns: Vec<String>,
946 pub gateway_load_balancer_arns: Vec<String>,
947 pub allowed_principals: Vec<String>,
948 pub tags: Tags,
949 pub payer_responsibility: Option<String>,
952 pub private_dns_state: Option<String>,
955}
956
957#[derive(Debug, Clone)]
962pub struct VpcEndpointConnection {
963 pub service_id: String,
964 pub vpc_endpoint_id: String,
965 pub vpc_endpoint_owner: String,
966 pub vpc_endpoint_state: String,
968 pub creation_timestamp: String,
969}
970
971#[derive(Debug, Clone)]
974pub struct VpcEndpointConnectionNotification {
975 pub connection_notification_id: String,
976 pub connection_notification_arn: String,
977 pub connection_events: Vec<String>,
978 pub connection_notification_state: String,
979 pub connection_notification_type: String,
980 pub service_id: Option<String>,
981 pub vpc_endpoint_id: Option<String>,
982}
983
984#[derive(Debug, Clone)]
989pub struct VpcBlockPublicAccessExclusion {
990 pub exclusion_id: String,
991 pub internet_gateway_exclusion_mode: String,
993 pub resource_arn: String,
994 pub state: String,
997 pub creation_timestamp: String,
998 pub last_update_timestamp: String,
999 pub tags: Tags,
1000}
1001
1002#[derive(Debug, Clone)]
1006pub struct VpcBlockPublicAccessOptions {
1007 pub aws_account_id: String,
1008 pub aws_region: String,
1009 pub internet_gateway_block_mode: String,
1011 pub state: String,
1013 pub last_update_timestamp: String,
1014}
1015
1016#[derive(Debug, Clone)]
1019pub struct VpcEncryptionControl {
1020 pub vpc_encryption_control_id: String,
1021 pub vpc_id: String,
1022 pub mode: String,
1024 pub state: String,
1027 pub mode_history: Vec<(String, String)>,
1029 pub tags: Tags,
1030}
1031
1032#[derive(Debug, Clone)]
1035pub struct SpotFleetRequest {
1036 pub spot_fleet_request_id: String,
1037 pub spot_fleet_request_state: String,
1038 pub target_capacity: i32,
1039 pub iam_fleet_role: String,
1040 pub create_time: String,
1041 pub tags: Tags,
1042}
1043
1044#[derive(Debug, Clone)]
1047pub struct SubnetCidrReservationEntry {
1048 pub reservation_id: String,
1049 pub subnet_id: String,
1050 pub cidr: String,
1051 pub reservation_type: String,
1052 pub description: String,
1053 pub owner_id: String,
1054}
1055
1056#[derive(Debug, Clone)]
1059pub struct SubnetIpv6Cidr {
1060 pub association_id: String,
1061 pub ipv6_cidr_block: String,
1062 pub state: String,
1063}
1064
1065#[derive(Debug, Clone)]
1068pub struct PlacementGroup {
1069 pub group_id: String,
1070 pub group_name: String,
1071 pub group_arn: String,
1072 pub strategy: String,
1073 pub state: String,
1074 pub partition_count: Option<i32>,
1075 pub spread_level: Option<String>,
1076 pub tags: Tags,
1077}
1078
1079#[derive(Debug, Clone)]
1082pub struct NetworkInterfacePermission {
1083 pub network_interface_permission_id: String,
1084 pub network_interface_id: String,
1085 pub aws_account_id: Option<String>,
1086 pub aws_service: Option<String>,
1087 pub permission: String,
1088 pub permission_state: String,
1089}
1090
1091#[derive(Debug, Clone)]
1094pub struct CapacityReservation {
1095 pub capacity_reservation_id: String,
1096 pub capacity_reservation_arn: String,
1097 pub owner_id: String,
1098 pub instance_type: String,
1099 pub instance_platform: String,
1100 pub availability_zone: String,
1101 pub tenancy: String,
1102 pub total_instance_count: i32,
1103 pub available_instance_count: i32,
1104 pub ebs_optimized: bool,
1105 pub ephemeral_storage: bool,
1106 pub state: String,
1107 pub start_date: String,
1108 pub end_date: Option<String>,
1109 pub end_date_type: String,
1110 pub instance_match_criteria: String,
1111 pub create_date: String,
1112 pub outpost_arn: Option<String>,
1113 pub placement_group_arn: Option<String>,
1114 pub tags: Tags,
1115 pub pending_billing_owner_account_id: Option<String>,
1117 pub billing_owner_account_id: Option<String>,
1119 pub target_capacity_reservation_id: Option<String>,
1121 pub reservation_type: Option<String>,
1123 pub commitment_info: Option<CapacityReservationCommitmentInfo>,
1125}
1126
1127#[derive(Debug, Clone)]
1130pub struct InstanceConnectEndpoint {
1131 pub instance_connect_endpoint_id: String,
1132 pub instance_connect_endpoint_arn: String,
1133 pub subnet_id: String,
1134 pub vpc_id: String,
1135 pub availability_zone: String,
1136 pub state: String,
1137 pub created_at: String,
1138 pub preserve_client_ip: bool,
1139 pub security_group_ids: Vec<String>,
1140 pub network_interface_ids: Vec<String>,
1141 pub dns_name: String,
1142 pub fips_dns_name: String,
1143 pub ip_address_type: String,
1144 pub owner_id: String,
1145 pub tags: Tags,
1146}
1147
1148#[derive(Debug, Clone)]
1151pub struct CoipPool {
1152 pub pool_id: String,
1153 pub pool_arn: String,
1154 pub local_gateway_route_table_id: String,
1155 pub pool_cidrs: Vec<String>,
1156 pub tags: Tags,
1157}
1158
1159#[derive(Debug, Clone)]
1162pub struct SecurityGroupVpcAssociation {
1163 pub group_id: String,
1164 pub vpc_id: String,
1165 pub vpc_owner_id: String,
1166 pub state: String,
1167}
1168
1169#[derive(Debug, Clone)]
1172pub struct EnclaveCertificateIamRoleAssociation {
1173 pub certificate_arn: String,
1174 pub role_arn: String,
1175 pub certificate_s3_bucket_name: String,
1176 pub certificate_s3_object_key: String,
1177 pub encryption_kms_key_id: String,
1178}
1179
1180#[derive(Debug, Clone)]
1183pub struct MacSipModificationTask {
1184 pub task_id: String,
1185 pub instance_id: String,
1186 pub task_type: String,
1187 pub task_state: String,
1188 pub start_time: String,
1189 pub apple_internal: Option<String>,
1190 pub base_system: Option<String>,
1191 pub debugging_restrictions: Option<String>,
1192 pub dtrace_restrictions: Option<String>,
1193 pub filesystem_protections: Option<String>,
1194 pub kext_signing: Option<String>,
1195 pub nvram_protections: Option<String>,
1196 pub status: Option<String>,
1197 pub tags: Tags,
1198}
1199
1200#[derive(Debug, Clone)]
1203pub struct DeclarativePoliciesReport {
1204 pub report_id: String,
1205 pub s3_bucket: String,
1206 pub s3_prefix: Option<String>,
1207 pub target_id: String,
1208 pub status: String,
1209 pub start_time: String,
1210 pub end_time: Option<String>,
1211 pub tags: Tags,
1212}
1213
1214#[derive(Debug, Clone)]
1217pub struct CapacityReservationFleetInstanceSpec {
1218 pub instance_type: String,
1219 pub instance_platform: String,
1220 pub availability_zone: Option<String>,
1221 pub ebs_optimized: Option<bool>,
1222 pub priority: Option<i32>,
1223 pub weight: Option<f64>,
1224}
1225
1226#[derive(Debug, Clone)]
1227pub struct CapacityReservationFleet {
1228 pub capacity_reservation_fleet_id: String,
1229 pub capacity_reservation_fleet_arn: String,
1230 pub state: String,
1231 pub tenancy: String,
1232 pub allocation_strategy: String,
1233 pub instance_match_criteria: String,
1234 pub total_target_capacity: i32,
1235 pub total_fulfilled_capacity: f64,
1236 pub create_time: String,
1237 pub end_date: Option<String>,
1238 pub instance_type_specifications: Vec<CapacityReservationFleetInstanceSpec>,
1239 pub tags: Tags,
1240}
1241
1242#[derive(Debug, Clone)]
1245pub struct MacVolumeOwnershipTask {
1246 pub task_id: String,
1247 pub mac_volume_ownership_task_state: String,
1249 pub volume_id: String,
1250 pub source_volume_owner_account_id: String,
1251 pub target_volume_owner_account_id: String,
1252 pub creation_time: String,
1253 pub completion_time: Option<String>,
1254}
1255
1256#[derive(Debug, Clone)]
1259pub struct ReplaceRootVolumeTask {
1260 pub task_id: String,
1261 pub instance_id: String,
1262 pub task_state: String,
1265 pub image_id: Option<String>,
1266 pub snapshot_id: Option<String>,
1267 pub delete_replaced_root_volume: bool,
1268 pub start_time: String,
1269 pub complete_time: Option<String>,
1270 pub tags: Tags,
1271}
1272
1273#[derive(Debug, Clone)]
1276pub struct SnapshotImportTask {
1277 pub import_task_id: String,
1278 pub status: String,
1281 pub description: Option<String>,
1282 pub disk_image_size: Option<f64>,
1283 pub format: Option<String>,
1284 pub url: Option<String>,
1285 pub user_bucket_s3_bucket: Option<String>,
1286 pub user_bucket_s3_key: Option<String>,
1287 pub owner_id: String,
1288 pub encrypted: bool,
1289 pub kms_key_id: Option<String>,
1290 pub snapshot_id: Option<String>,
1292 pub tags: Tags,
1293}
1294
1295#[derive(Debug, Clone)]
1298pub struct ImportInstanceVolumeDetail {
1299 pub availability_zone: Option<String>,
1300 pub bytes_converted: Option<i64>,
1301 pub description: Option<String>,
1302 pub status: String,
1303}
1304
1305#[derive(Debug, Clone)]
1306pub struct ConversionTask {
1307 pub conversion_task_id: String,
1308 pub expiration_time: String,
1309 pub description: Option<String>,
1310 pub instance_id: Option<String>,
1311 pub platform: String,
1313 pub volumes: Vec<ImportInstanceVolumeDetail>,
1314 pub state: String,
1316 pub status_message: Option<String>,
1317 pub tags: Tags,
1318}
1319
1320#[derive(Debug, Clone)]
1323pub struct ExportTask {
1324 pub export_task_id: String,
1325 pub description: String,
1326 pub instance_id: String,
1327 pub target_environment: String,
1329 pub disk_image_format: String,
1331 pub container_format: Option<String>,
1332 pub s3_bucket: String,
1333 pub s3_prefix: Option<String>,
1334 pub s3_key: String,
1335 pub status: String,
1337 pub status_message: Option<String>,
1338 pub tags: Tags,
1339}
1340
1341#[derive(Debug, Clone)]
1344pub struct TrunkInterfaceAssociation {
1345 pub association_id: String,
1346 pub branch_interface_id: String,
1347 pub trunk_interface_id: String,
1348 pub interface_protocol: String,
1350 pub vlan_id: Option<i32>,
1351 pub gre_key: Option<i32>,
1352 pub tags: Tags,
1353}
1354
1355#[derive(Debug, Clone)]
1358pub struct SecondaryNetwork {
1359 pub network_id: String,
1360 pub vpc_id: String,
1361 pub primary_cidr_block: String,
1362 pub secondary_cidr_blocks: Vec<String>,
1363 pub state: String,
1365 pub network_border_group: Option<String>,
1366 pub tags: Tags,
1367}
1368
1369#[derive(Debug, Clone)]
1370pub struct SecondarySubnet {
1371 pub subnet_id: String,
1372 pub vpc_id: String,
1373 pub secondary_network_id: String,
1374 pub cidr_block: String,
1375 pub availability_zone: String,
1376 pub state: String,
1377 pub tags: Tags,
1378}
1379
1380#[derive(Debug, Clone)]
1387pub struct ReservedInstancesExchange {
1388 pub exchange_id: String,
1389 pub target_reserved_instances_ids: Vec<String>,
1390 pub source_reserved_instances_ids: Vec<String>,
1391 pub status: String,
1392 pub status_message: Option<String>,
1393 pub time: String,
1394}
1395
1396#[derive(Debug, Clone)]
1397pub struct ReservedInstancesListing {
1398 pub listing_id: String,
1399 pub reserved_instances_id: String,
1400 pub instance_count: i32,
1401 pub price_schedules: Vec<PriceSchedule>,
1402 pub status: String,
1403 pub status_message: Option<String>,
1404 pub create_date: String,
1405 pub update_date: String,
1406 pub client_token: Option<String>,
1407 pub tags: Tags,
1408}
1409
1410#[derive(Debug, Clone)]
1411pub struct PriceSchedule {
1412 pub term: i64,
1413 pub price: f64,
1414 pub currency_code: String,
1415 pub active: bool,
1416}
1417
1418#[derive(Debug, Clone)]
1419pub struct ReservedInstancesPurchase {
1420 pub purchase_id: String,
1421 pub reserved_instances_offering_id: String,
1422 pub instance_count: i32,
1423 pub limit_price: Option<String>,
1424 pub purchase_time: String,
1425 pub tags: Tags,
1426 pub queued: bool,
1429 pub reserved_instances_id: Option<String>,
1431}
1432
1433#[derive(Debug, Clone)]
1434pub struct ReservedInstances {
1435 pub reserved_instances_id: String,
1436 pub instance_type: String,
1437 pub instance_count: i32,
1438 pub product_description: String,
1439 pub scope: String,
1440 pub currency_code: String,
1441 pub duration: i64,
1442 pub fixed_price: f64,
1443 pub usage_price: f64,
1444 pub offering_class: String,
1445 pub offering_type: String,
1446 pub instance_tenancy: String,
1447 pub start: String,
1448 pub end: String,
1449 pub state: String,
1450 pub tags: Tags,
1451}
1452
1453#[derive(Debug, Clone)]
1454pub struct ReservedInstancesModification {
1455 pub modification_id: String,
1456 pub reserved_instances_ids: Vec<String>,
1457 pub target_configurations: Vec<ReservedInstancesConfiguration>,
1458 pub status: String,
1459 pub status_message: Option<String>,
1460 pub create_date: String,
1461 pub update_date: String,
1462 pub effective_date: String,
1463 pub client_token: Option<String>,
1464}
1465
1466#[derive(Debug, Clone)]
1467pub struct ReservedInstancesConfiguration {
1468 pub availability_zone: Option<String>,
1469 pub instance_count: Option<i32>,
1470 pub instance_type: Option<String>,
1471 pub platform: Option<String>,
1472 pub scope: Option<String>,
1473}
1474
1475#[derive(Debug, Clone)]
1476pub struct FpgaImage {
1477 pub fpga_image_id: String,
1478 pub fpga_image_global_id: String,
1479 pub name: String,
1480 pub description: Option<String>,
1481 pub shell_version: Option<String>,
1482 pub pci_id_vendor: Option<String>,
1483 pub pci_id_device: Option<String>,
1484 pub state: String,
1485 pub create_time: String,
1486 pub update_time: String,
1487 pub owner_id: String,
1488 pub owner_alias: Option<String>,
1489 pub product_codes: Vec<(String, String)>,
1490 pub tags: Tags,
1491 pub public: bool,
1492 pub data_retention_support: bool,
1493 pub instance_types: Vec<String>,
1494 pub load_permissions: Vec<(String, String)>,
1497}
1498
1499#[derive(Debug, Clone)]
1500pub struct ImageUsageReport {
1501 pub report_id: String,
1502 pub image_id: String,
1503 pub account_filters: Vec<String>,
1504 pub resource_types: Vec<String>,
1505 pub status: String,
1506 pub creation_time: String,
1507 pub completion_time: Option<String>,
1508 pub tags: Tags,
1509}
1510
1511#[derive(Debug, Clone)]
1512pub struct RestoreImageTask {
1513 pub image_id: String,
1514 pub name: String,
1515 pub s3_object_url: String,
1516 pub status: String,
1517 pub status_message: Option<String>,
1518 pub creation_time: String,
1519}
1520
1521#[derive(Debug, Clone)]
1522pub struct StoreImageTask {
1523 pub image_id: String,
1524 pub ami_id: String,
1525 pub bucket: String,
1526 pub s3_object_key: String,
1527 pub store_task_state: String,
1528 pub store_task_failure_reason: Option<String>,
1529 pub progress_percentage: i32,
1530 pub task_start_time: String,
1531}
1532
1533#[derive(Debug, Clone)]
1534pub struct ImportImageTask {
1535 pub import_task_id: String,
1536 pub architecture: Option<String>,
1537 pub description: Option<String>,
1538 pub encrypted: bool,
1539 pub hypervisor: Option<String>,
1540 pub image_id: Option<String>,
1541 pub license_type: Option<String>,
1542 pub platform: Option<String>,
1543 pub progress: Option<String>,
1544 pub snapshot_details: Vec<ImportImageSnapshotDetail>,
1545 pub status: String,
1546 pub status_message: Option<String>,
1547 pub tags: Tags,
1548 pub usage_operation: Option<String>,
1549 pub boot_mode: Option<String>,
1550}
1551
1552#[derive(Debug, Clone)]
1553pub struct ImportImageSnapshotDetail {
1554 pub disk_image_size: Option<f64>,
1555 pub format: Option<String>,
1556 pub progress: Option<String>,
1557 pub snapshot_id: Option<String>,
1558 pub status: Option<String>,
1559 pub url: Option<String>,
1560 pub user_bucket_s3_bucket: Option<String>,
1561 pub user_bucket_s3_key: Option<String>,
1562}
1563
1564#[derive(Debug, Clone, Default)]
1566pub struct AllowedImageCriterion {
1567 pub image_providers: Vec<String>,
1568 pub marketplace_product_codes: Vec<String>,
1569 pub deprecation_time_condition: Option<String>,
1570}
1571
1572#[derive(Debug, Clone)]
1573pub struct InstanceEventWindow {
1574 pub instance_event_window_id: String,
1575 pub name: String,
1576 pub time_ranges: Vec<InstanceEventWindowTimeRange>,
1577 pub cron_expression: Option<String>,
1578 pub association_target: Option<InstanceEventWindowAssociation>,
1579 pub state: String,
1580 pub tags: Tags,
1581}
1582
1583#[derive(Debug, Clone, Default)]
1584pub struct InstanceEventWindowTimeRange {
1585 pub start_week_day: Option<String>,
1586 pub start_hour: Option<i32>,
1587 pub end_week_day: Option<String>,
1588 pub end_hour: Option<i32>,
1589}
1590
1591#[derive(Debug, Clone, Default)]
1592pub struct InstanceEventWindowAssociation {
1593 pub instance_ids: Vec<String>,
1594 pub dedicated_host_ids: Vec<String>,
1595 pub tags: Vec<(String, String)>,
1596}
1597
1598#[derive(Debug, Clone)]
1600pub struct InstanceEvent {
1601 pub event_id: String,
1602 pub instance_id: String,
1603 pub code: String,
1604 pub description: String,
1605 pub not_before: String,
1606 pub not_after: String,
1607 pub not_before_deadline: Option<String>,
1608}
1609
1610#[derive(Debug, Clone, Default)]
1612pub struct InstanceTagNotificationAttributes {
1613 pub include_all_tags_of_instance: bool,
1614 pub instance_tag_keys: Vec<String>,
1615}
1616
1617#[derive(Debug, Clone)]
1618pub struct HostReservation {
1619 pub host_reservation_id: String,
1620 pub host_id_set: Vec<String>,
1621 pub currency_code: String,
1622 pub duration: i32,
1623 pub end: Option<String>,
1624 pub hourly_price: String,
1625 pub instance_family: String,
1626 pub offering_id: String,
1627 pub payment_option: String,
1628 pub start: String,
1629 pub state: String,
1630 pub upfront_price: String,
1631 pub tags: Tags,
1632}
1633
1634#[derive(Debug, Clone)]
1635pub struct ScheduledInstance {
1636 pub scheduled_instance_id: String,
1637 pub instance_type: String,
1638 pub platform: String,
1639 pub network_platform: String,
1640 pub availability_zone: String,
1641 pub instance_count: i32,
1642 pub hourly_price: String,
1643 pub total_scheduled_instance_hours: i32,
1644 pub term_start_date: String,
1645 pub term_end_date: String,
1646 pub recurrence: ScheduledInstanceRecurrence,
1647 pub slot_duration_in_hours: i32,
1648 pub previous_slot_end_time: Option<String>,
1649 pub next_slot_start_time: Option<String>,
1650 pub create_date: String,
1651}
1652
1653#[derive(Debug, Clone, Default)]
1654pub struct ScheduledInstanceRecurrence {
1655 pub frequency: Option<String>,
1656 pub interval: Option<i32>,
1657 pub occurrence_day_set: Vec<i32>,
1658 pub occurrence_relative_to_end: Option<bool>,
1659 pub occurrence_unit: Option<String>,
1660}
1661
1662#[derive(Debug, Clone)]
1664pub struct InstanceStatusReport {
1665 pub instance_id: String,
1666 pub status: String,
1667 pub reason_codes: Vec<String>,
1668 pub start_time: Option<String>,
1669 pub end_time: Option<String>,
1670 pub description: Option<String>,
1671}
1672
1673#[derive(Debug, Clone, Default)]
1676pub struct PathStatementSpec {
1677 pub packet_header_statement: Option<PacketHeaderStatementSpec>,
1678 pub resource_statement: Option<ResourceStatementSpec>,
1679}
1680
1681#[derive(Debug, Clone, Default)]
1682pub struct PacketHeaderStatementSpec {
1683 pub destination_addresses: Vec<String>,
1684 pub destination_ports: Vec<String>,
1685 pub destination_prefix_lists: Vec<String>,
1686 pub protocols: Vec<String>,
1687 pub source_addresses: Vec<String>,
1688 pub source_ports: Vec<String>,
1689 pub source_prefix_lists: Vec<String>,
1690}
1691
1692#[derive(Debug, Clone, Default)]
1693pub struct ResourceStatementSpec {
1694 pub resource_types: Vec<String>,
1695 pub resources: Vec<String>,
1696}
1697
1698#[derive(Debug, Clone, Default)]
1699pub struct AccessScopePathSpec {
1700 pub source: Option<PathStatementSpec>,
1701 pub destination: Option<PathStatementSpec>,
1702 pub through_resources: Vec<ResourceStatementSpec>,
1703}
1704
1705#[derive(Debug, Clone)]
1706pub struct NetworkInsightsAccessScope {
1707 pub network_insights_access_scope_id: String,
1708 pub network_insights_access_scope_arn: String,
1709 pub created_date: String,
1710 pub updated_date: String,
1711 pub tags: Tags,
1712 pub match_paths: Vec<AccessScopePathSpec>,
1713 pub exclude_paths: Vec<AccessScopePathSpec>,
1714}
1715
1716#[derive(Debug, Clone)]
1717pub struct NetworkInsightsAccessScopeAnalysis {
1718 pub network_insights_access_scope_analysis_id: String,
1719 pub network_insights_access_scope_analysis_arn: String,
1720 pub network_insights_access_scope_id: String,
1721 pub status: String,
1722 pub status_message: Option<String>,
1723 pub warning_message: Option<String>,
1724 pub start_date: String,
1725 pub end_date: Option<String>,
1726 pub findings_found: String,
1727 pub analyzed_eni_count: i32,
1728 pub tags: Tags,
1729}
1730
1731#[derive(Debug, Clone, Default)]
1732pub struct NetworkInsightsPathFilterPortRange {
1733 pub from_port: Option<i32>,
1734 pub to_port: Option<i32>,
1735}
1736
1737#[derive(Debug, Clone, Default)]
1738pub struct NetworkInsightsPathFilter {
1739 pub destination_address: Option<String>,
1740 pub destination_port_range: Option<NetworkInsightsPathFilterPortRange>,
1741 pub source_address: Option<String>,
1742 pub source_port_range: Option<NetworkInsightsPathFilterPortRange>,
1743}
1744
1745#[derive(Debug, Clone)]
1746pub struct NetworkInsightsPath {
1747 pub network_insights_path_id: String,
1748 pub network_insights_path_arn: String,
1749 pub created_date: String,
1750 pub source: Option<String>,
1751 pub destination: Option<String>,
1752 pub source_arn: Option<String>,
1753 pub destination_arn: Option<String>,
1754 pub source_ip: Option<String>,
1755 pub destination_ip: Option<String>,
1756 pub protocol: String,
1757 pub destination_port: Option<i32>,
1758 pub tags: Tags,
1759 pub filter_at_source: NetworkInsightsPathFilter,
1760 pub filter_at_destination: NetworkInsightsPathFilter,
1761}
1762
1763#[derive(Debug, Clone)]
1764pub struct NetworkInsightsAnalysis {
1765 pub network_insights_analysis_id: String,
1766 pub network_insights_analysis_arn: String,
1767 pub network_insights_path_id: String,
1768 pub additional_accounts: Vec<String>,
1769 pub filter_in_arns: Vec<String>,
1770 pub start_date: String,
1771 pub end_date: Option<String>,
1772 pub status: String,
1773 pub status_message: Option<String>,
1774 pub warning_message: Option<String>,
1775 pub network_path_found: bool,
1776 pub tags: Tags,
1777}
1778
1779#[derive(Debug, Clone, Default)]
1782pub struct TrafficMirrorPortRange {
1783 pub from_port: Option<i32>,
1784 pub to_port: Option<i32>,
1785}
1786
1787#[derive(Debug, Clone)]
1788pub struct TrafficMirrorFilterRule {
1789 pub traffic_mirror_filter_rule_id: String,
1790 pub traffic_mirror_filter_id: String,
1791 pub traffic_direction: String,
1792 pub rule_number: i32,
1793 pub rule_action: String,
1794 pub protocol: Option<i32>,
1795 pub destination_port_range: Option<TrafficMirrorPortRange>,
1796 pub source_port_range: Option<TrafficMirrorPortRange>,
1797 pub destination_cidr_block: String,
1798 pub source_cidr_block: String,
1799 pub description: Option<String>,
1800 pub tags: Tags,
1801}
1802
1803#[derive(Debug, Clone)]
1804pub struct TrafficMirrorFilter {
1805 pub traffic_mirror_filter_id: String,
1806 pub description: Option<String>,
1807 pub ingress_filter_rules: Vec<TrafficMirrorFilterRule>,
1808 pub egress_filter_rules: Vec<TrafficMirrorFilterRule>,
1809 pub network_services: Vec<String>,
1810 pub tags: Tags,
1811}
1812
1813#[derive(Debug, Clone)]
1814pub struct TrafficMirrorSession {
1815 pub traffic_mirror_session_id: String,
1816 pub traffic_mirror_target_id: String,
1817 pub traffic_mirror_filter_id: String,
1818 pub network_interface_id: String,
1819 pub owner_id: String,
1820 pub packet_length: Option<i32>,
1821 pub session_number: i32,
1822 pub virtual_network_id: Option<i32>,
1823 pub description: Option<String>,
1824 pub tags: Tags,
1825}
1826
1827#[derive(Debug, Clone)]
1828pub struct TrafficMirrorTarget {
1829 pub traffic_mirror_target_id: String,
1830 pub network_interface_id: Option<String>,
1831 pub network_load_balancer_arn: Option<String>,
1832 pub gateway_load_balancer_endpoint_id: Option<String>,
1833 pub r#type: String,
1834 pub description: Option<String>,
1835 pub owner_id: String,
1836 pub tags: Tags,
1837}
1838
1839#[derive(Debug, Clone, Default)]
1842pub struct ClientVpnEndpointStatus {
1843 pub code: String,
1844 pub message: Option<String>,
1845}
1846
1847#[derive(Debug, Clone, Default)]
1848pub struct ClientVpnAuthorizationRuleStatus {
1849 pub code: String,
1850 pub message: Option<String>,
1851}
1852
1853#[derive(Debug, Clone, Default)]
1854pub struct ClientVpnRouteStatus {
1855 pub code: String,
1856 pub message: Option<String>,
1857}
1858
1859#[derive(Debug, Clone, Default)]
1860pub struct ClientVpnAssociationStatus {
1861 pub code: String,
1862 pub message: Option<String>,
1863}
1864
1865#[derive(Debug, Clone, Default)]
1866pub struct ClientVpnConnectionStatus {
1867 pub code: String,
1868 pub message: Option<String>,
1869}
1870
1871#[derive(Debug, Clone)]
1872pub struct ClientVpnEndpoint {
1873 pub client_vpn_endpoint_id: String,
1874 pub description: Option<String>,
1875 pub status: ClientVpnEndpointStatus,
1876 pub creation_time: String,
1877 pub deletion_time: Option<String>,
1878 pub dns_name: String,
1879 pub client_cidr_block: String,
1880 pub dns_servers: Vec<String>,
1881 pub split_tunnel: bool,
1882 pub vpn_protocol: String,
1883 pub transport_protocol: String,
1884 pub vpn_port: i32,
1885 pub server_certificate_arn: String,
1886 pub authentication_options: Vec<String>,
1887 pub connection_log_options_enabled: bool,
1888 pub connection_log_options_cloudwatch_log_group: Option<String>,
1889 pub connection_log_options_cloudwatch_log_stream: Option<String>,
1890 pub tags: Tags,
1891 pub security_group_ids: Vec<String>,
1892 pub vpc_id: Option<String>,
1893 pub self_service_portal_url: Option<String>,
1894 pub self_service_portal: String,
1895 pub session_timeout_hours: i32,
1896 pub client_login_banner_enabled: bool,
1897 pub client_login_banner_text: Option<String>,
1898 pub disconnect_on_session_timeout: bool,
1899 pub client_route_enforcement_enforced: bool,
1900 pub client_certificate_revocation_list: Option<String>,
1901}
1902
1903#[derive(Debug, Clone)]
1904pub struct ClientVpnTargetNetworkAssociation {
1905 pub association_id: String,
1906 pub vpc_id: String,
1907 pub target_network_id: String, pub client_vpn_endpoint_id: String,
1909 pub security_groups: Vec<String>,
1910 pub status: ClientVpnAssociationStatus,
1911}
1912
1913#[derive(Debug, Clone)]
1914pub struct ClientVpnAuthorizationRule {
1915 pub client_vpn_endpoint_id: String,
1916 pub group_id: Option<String>,
1917 pub access_all: bool,
1918 pub destination_cidr: String,
1919 pub description: Option<String>,
1920 pub status: ClientVpnAuthorizationRuleStatus,
1921}
1922
1923#[derive(Debug, Clone)]
1924pub struct ClientVpnRoute {
1925 pub client_vpn_endpoint_id: String,
1926 pub destination_cidr: String,
1927 pub target_subnet: String,
1928 pub r#type: String,
1929 pub origin: String,
1930 pub status: ClientVpnRouteStatus,
1931 pub description: Option<String>,
1932}
1933
1934#[derive(Debug, Clone)]
1935pub struct ClientVpnConnection {
1936 pub connection_id: String,
1937 pub client_vpn_endpoint_id: String,
1938 pub username: Option<String>,
1939 pub status: ClientVpnConnectionStatus,
1940 pub posture_compliance_statuses: Vec<String>,
1941 pub common_name: Option<String>,
1942 pub connection_established_time: String,
1943 pub connection_end_time: Option<String>,
1944 pub ingress_bytes: String,
1945 pub egress_bytes: String,
1946 pub ingress_packets: String,
1947 pub egress_packets: String,
1948 pub client_ip: Option<String>,
1949 pub client_port: Option<String>,
1950 pub timestamp: String,
1951}
1952
1953#[derive(Debug, Clone)]
1956pub struct LocalGateway {
1957 pub local_gateway_id: String,
1958 pub outpost_arn: String,
1959 pub owner_id: String,
1960 pub state: String,
1961 pub tags: Tags,
1962}
1963
1964#[derive(Debug, Clone)]
1965pub struct LocalGatewayRoute {
1966 pub destination_cidr_block: String,
1967 pub local_gateway_route_table_id: String,
1968 pub r#type: String,
1969 pub state: String,
1970 pub local_gateway_route_table_arn: Option<String>,
1971 pub owner_id: String,
1972 pub subnet_id: Option<String>,
1973 pub network_interface_id: Option<String>,
1974 pub destination_prefix_list_id: Option<String>,
1975 pub coip_pool_id: Option<String>,
1976 pub local_gateway_virtual_interface_group_id: Option<String>,
1977}
1978
1979#[derive(Debug, Clone)]
1980pub struct LocalGatewayRouteTable {
1981 pub local_gateway_route_table_id: String,
1982 pub local_gateway_route_table_arn: String,
1983 pub local_gateway_id: String,
1984 pub owner_id: String,
1985 pub state: String,
1986 pub mode: String,
1987 pub tags: Tags,
1988 pub state_reason_code: Option<String>,
1989 pub state_reason_message: Option<String>,
1990}
1991
1992#[derive(Debug, Clone)]
1993pub struct LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
1994 pub local_gateway_route_table_virtual_interface_group_association_id: String,
1995 pub local_gateway_virtual_interface_group_id: String,
1996 pub local_gateway_route_table_id: String,
1997 pub local_gateway_route_table_arn: String,
1998 pub local_gateway_id: String,
1999 pub owner_id: String,
2000 pub state: String,
2001 pub tags: Tags,
2002}
2003
2004#[derive(Debug, Clone)]
2005pub struct LocalGatewayRouteTableVpcAssociation {
2006 pub local_gateway_route_table_vpc_association_id: String,
2007 pub local_gateway_route_table_id: String,
2008 pub local_gateway_route_table_arn: String,
2009 pub local_gateway_id: String,
2010 pub vpc_id: String,
2011 pub owner_id: String,
2012 pub state: String,
2013 pub tags: Tags,
2014}
2015
2016#[derive(Debug, Clone)]
2017pub struct LocalGatewayVirtualInterface {
2018 pub local_gateway_virtual_interface_id: String,
2019 pub local_gateway_id: String,
2020 pub vlan: i32,
2021 pub local_address: String,
2022 pub peer_address: String,
2023 pub local_bgp_asn: i32,
2024 pub peer_bgp_asn: i32,
2025 pub owner_id: String,
2026 pub tags: Tags,
2027 pub configuration_state: String,
2028 pub peer_bgp_asn_extended: Option<i64>,
2029 pub local_gateway_virtual_interface_arn: Option<String>,
2030}
2031
2032#[derive(Debug, Clone)]
2033pub struct LocalGatewayVirtualInterfaceGroup {
2034 pub local_gateway_virtual_interface_group_id: String,
2035 pub local_gateway_virtual_interface_ids: Vec<String>,
2036 pub local_gateway_id: String,
2037 pub owner_id: String,
2038 pub tags: Tags,
2039 pub configuration_state: Option<String>,
2040 pub local_bgp_asn: i32,
2041 pub local_bgp_asn_extended: Option<i64>,
2042 pub local_gateway_virtual_interface_group_arn: Option<String>,
2043}
2044
2045#[derive(Debug, Clone)]
2050pub struct RouteServer {
2051 pub route_server_id: String,
2052 pub route_server_arn: String,
2053 pub amazon_side_asn: i64,
2054 pub state: String,
2056 pub persist_routes: String,
2058 pub persist_routes_duration: Option<i64>,
2059 pub sns_notifications_enabled: bool,
2060 pub sns_topic_arn: Option<String>,
2061 pub tags: Tags,
2062}
2063
2064#[derive(Debug, Clone)]
2067pub struct RouteServerEndpoint {
2068 pub route_server_endpoint_id: String,
2069 pub route_server_id: String,
2070 pub vpc_id: String,
2071 pub subnet_id: String,
2072 pub eni_id: String,
2073 pub eni_address: Option<String>,
2074 pub state: String,
2076 pub failure_reason: Option<String>,
2077 pub tags: Tags,
2078}
2079
2080#[derive(Debug, Clone)]
2082pub struct RouteServerPeer {
2083 pub route_server_peer_id: String,
2084 pub route_server_endpoint_id: String,
2085 pub route_server_id: String,
2086 pub vpc_id: String,
2087 pub subnet_id: String,
2088 pub peer_address: String,
2089 pub state: String,
2091 pub failure_reason: Option<String>,
2092 pub options: RouteServerPeerOptions,
2093 pub endpoint_eni_id: Option<String>,
2094 pub endpoint_eni_address: Option<String>,
2095 pub tags: Tags,
2096}
2097
2098#[derive(Debug, Clone, Default)]
2099pub struct RouteServerPeerOptions {
2100 pub peer_asn: i64,
2101 pub peer_liveness_detection: String,
2103 pub bgp_options: Option<RouteServerBgpOptions>,
2104}
2105
2106#[derive(Debug, Clone, Default)]
2107pub struct RouteServerBgpOptions {
2108 pub peer_asn: Option<i64>,
2109 pub peer_liveness_detection: Option<String>,
2111}
2112
2113#[derive(Debug, Clone)]
2115pub struct RouteServerAssociation {
2116 pub route_server_id: String,
2117 pub vpc_id: String,
2118 pub state: String,
2120 pub propagations: Vec<String>,
2124}
2125
2126#[derive(Debug, Clone)]
2130pub struct VerifiedAccessInstance {
2131 pub verified_access_instance_id: String,
2132 pub description: Option<String>,
2133 pub creation_time: String,
2134 pub last_updated_time: String,
2135 pub fips_enabled: bool,
2136 pub cidr_endpoints_custom_subdomain: Option<String>,
2137 pub name: Option<String>,
2138 pub trust_provider_ids: Vec<String>,
2141 pub tags: Tags,
2142}
2143
2144#[derive(Debug, Clone)]
2146pub struct VerifiedAccessTrustProvider {
2147 pub verified_access_trust_provider_id: String,
2148 pub description: Option<String>,
2149 pub trust_provider_type: String,
2151 pub user_trust_provider_type: Option<String>,
2152 pub device_trust_provider_type: Option<String>,
2153 pub oidc_options: Option<VerifiedAccessOidcOptions>,
2154 pub device_options: Option<VerifiedAccessDeviceOptions>,
2155 pub native_application_oidc_options: Option<VerifiedAccessNativeApplicationOidcOptions>,
2156 pub policy_reference_name: String,
2157 pub creation_time: String,
2158 pub last_updated_time: String,
2159 pub sse_specification: VerifiedAccessSseSpecification,
2160 pub tags: Tags,
2161}
2162
2163#[derive(Debug, Clone, Default)]
2164pub struct VerifiedAccessOidcOptions {
2165 pub issuer: Option<String>,
2166 pub authorization_endpoint: Option<String>,
2167 pub token_endpoint: Option<String>,
2168 pub user_info_endpoint: Option<String>,
2169 pub client_id: Option<String>,
2170 pub client_secret: Option<String>,
2171 pub scope: Option<String>,
2172}
2173
2174#[derive(Debug, Clone, Default)]
2175pub struct VerifiedAccessDeviceOptions {
2176 pub tenant_id: Option<String>,
2177 pub public_signing_key_url: Option<String>,
2178}
2179
2180#[derive(Debug, Clone, Default)]
2181pub struct VerifiedAccessNativeApplicationOidcOptions {
2182 pub public_signing_key_endpoint: Option<String>,
2183 pub issuer: Option<String>,
2184 pub authorization_endpoint: Option<String>,
2185 pub token_endpoint: Option<String>,
2186 pub user_info_endpoint: Option<String>,
2187 pub client_id: Option<String>,
2188 pub client_secret: Option<String>,
2189 pub scope: Option<String>,
2190}
2191
2192#[derive(Debug, Clone, Default)]
2193pub struct VerifiedAccessSseSpecification {
2194 pub customer_managed_key_enabled: Option<bool>,
2195 pub kms_key_arn: Option<String>,
2196}
2197
2198#[derive(Debug, Clone)]
2200pub struct VerifiedAccessGroup {
2201 pub verified_access_group_id: String,
2202 pub verified_access_group_arn: String,
2203 pub verified_access_instance_id: String,
2204 pub owner: String,
2205 pub description: Option<String>,
2206 pub creation_time: String,
2207 pub last_updated_time: String,
2208 pub deletion_time: Option<String>,
2209 pub sse_specification: VerifiedAccessSseSpecification,
2210 pub policy_document: Option<String>,
2211 pub policy_enabled: bool,
2212 pub tags: Tags,
2213}
2214
2215#[derive(Debug, Clone)]
2217pub struct VerifiedAccessEndpoint {
2218 pub verified_access_endpoint_id: String,
2219 pub verified_access_instance_id: String,
2220 pub verified_access_group_id: String,
2221 pub application_domain: Option<String>,
2222 pub endpoint_type: String,
2224 pub attachment_type: String,
2225 pub domain_certificate_arn: Option<String>,
2226 pub endpoint_domain: Option<String>,
2227 pub device_validation_domain: Option<String>,
2228 pub security_group_ids: Vec<String>,
2229 pub load_balancer_options: Option<VerifiedAccessEndpointLoadBalancerOptions>,
2230 pub network_interface_options: Option<VerifiedAccessEndpointEniOptions>,
2231 pub cidr_options: Option<VerifiedAccessEndpointCidrOptions>,
2232 pub rds_options: Option<VerifiedAccessEndpointRdsOptions>,
2233 pub status_code: String,
2234 pub status_message: Option<String>,
2235 pub description: Option<String>,
2236 pub creation_time: String,
2237 pub last_updated_time: String,
2238 pub deletion_time: Option<String>,
2239 pub sse_specification: VerifiedAccessSseSpecification,
2240 pub policy_document: Option<String>,
2241 pub policy_enabled: bool,
2242 pub tags: Tags,
2243}
2244
2245#[derive(Debug, Clone, Default)]
2246pub struct VerifiedAccessEndpointPortRange {
2247 pub from_port: Option<i32>,
2248 pub to_port: Option<i32>,
2249}
2250
2251#[derive(Debug, Clone, Default)]
2252pub struct VerifiedAccessEndpointLoadBalancerOptions {
2253 pub load_balancer_arn: Option<String>,
2254 pub port: Option<i32>,
2255 pub port_ranges: Vec<VerifiedAccessEndpointPortRange>,
2256 pub protocol: Option<String>,
2257 pub subnet_ids: Vec<String>,
2258}
2259
2260#[derive(Debug, Clone, Default)]
2261pub struct VerifiedAccessEndpointEniOptions {
2262 pub network_interface_id: Option<String>,
2263 pub port: Option<i32>,
2264 pub port_ranges: Vec<VerifiedAccessEndpointPortRange>,
2265 pub protocol: Option<String>,
2266}
2267
2268#[derive(Debug, Clone, Default)]
2269pub struct VerifiedAccessEndpointCidrOptions {
2270 pub cidr: Option<String>,
2271 pub port_ranges: Vec<VerifiedAccessEndpointPortRange>,
2272 pub protocol: Option<String>,
2273 pub subnet_ids: Vec<String>,
2274}
2275
2276#[derive(Debug, Clone, Default)]
2277pub struct VerifiedAccessEndpointRdsOptions {
2278 pub port: Option<i32>,
2279 pub protocol: Option<String>,
2280 pub rds_db_cluster_arn: Option<String>,
2281 pub rds_db_instance_arn: Option<String>,
2282 pub rds_db_proxy_arn: Option<String>,
2283 pub rds_endpoint: Option<String>,
2284 pub subnet_ids: Vec<String>,
2285}
2286
2287#[derive(Debug, Clone)]
2289pub struct VerifiedAccessTrustProviderAttachment {
2290 pub instance_id: String,
2291 pub trust_provider_id: String,
2292}
2293
2294#[derive(Debug, Clone, Default)]
2296pub struct VerifiedAccessLogs {
2297 pub cloud_watch_logs_enabled: bool,
2298 pub cloud_watch_logs_log_group: Option<String>,
2299 pub kinesis_data_firehose_enabled: bool,
2300 pub kinesis_data_firehose_delivery_stream: Option<String>,
2301 pub s3_enabled: bool,
2302 pub s3_bucket_name: Option<String>,
2303 pub s3_bucket_owner: Option<String>,
2304 pub s3_prefix: Option<String>,
2305 pub log_version: Option<String>,
2306 pub include_trust_context: Option<bool>,
2307}
2308
2309#[derive(Debug, Clone)]
2313pub struct BillingOwnershipOffer {
2314 pub capacity_reservation_id: String,
2315 pub unused_reservation_billing_owner_id: String,
2316 pub requested_by: String,
2317 pub status: String,
2319 pub status_message: Option<String>,
2320 pub last_update_time: String,
2321}
2322
2323#[derive(Debug, Clone, Default)]
2325pub struct S3DestinationOptions {
2326 pub bucket: String,
2327 pub prefix: Option<String>,
2328}
2329
2330#[derive(Debug, Clone)]
2332pub struct CapacityManagerDataExport {
2333 pub data_export_id: String,
2334 pub schedule: String,
2336 pub organization_account_ids: Vec<String>,
2337 pub output_format: String,
2339 pub s3_destination: S3DestinationOptions,
2340 pub status: String,
2342 pub status_message: Option<String>,
2343 pub last_export_time: Option<String>,
2344 pub next_export_time: Option<String>,
2345 pub create_time: String,
2346 pub tags: Tags,
2347}
2348
2349#[derive(Debug, Clone)]
2351pub struct CapacityManagerOrganizationsAccess {
2352 pub state: String,
2354 pub last_updated_time: String,
2355}
2356
2357#[derive(Debug, Clone)]
2359pub struct InterruptibleCapacityReservationAllocation {
2360 pub allocation_id: String,
2361 pub capacity_reservation_id: String,
2362 pub instance_count: i32,
2363 pub start_date_time: String,
2364 pub end_date_time: String,
2365 pub state: String,
2367 pub allocation_type: String,
2369 pub tags: Tags,
2370}
2371
2372#[derive(Debug, Clone)]
2374pub struct CapacityBlock {
2375 pub capacity_block_id: String,
2376 pub capacity_reservation_id: String,
2377 pub capacity_block_offering_id: String,
2378 pub instance_type: String,
2379 pub instance_count: i32,
2380 pub availability_zone: String,
2381 pub start_date: String,
2382 pub end_date: String,
2383 pub tenancy: String,
2385 pub currency_code: String,
2386 pub upfront_fee: String,
2387 pub commitment_duration_in_seconds: i64,
2388 pub capacity_reservation_arn: String,
2389 pub tags: Tags,
2390}
2391
2392#[derive(Debug, Clone)]
2394pub struct CapacityBlockExtension {
2395 pub capacity_block_extension_id: String,
2396 pub capacity_reservation_id: String,
2397 pub instance_type: String,
2398 pub availability_zone: String,
2399 pub instance_count: i32,
2400 pub availability_zone_id: Option<String>,
2401 pub start_date: String,
2402 pub end_date: String,
2403 pub capacity_block_extension_offering_id: String,
2404 pub capacity_block_extension_status: String,
2406 pub capacity_block_extension_purchase_date: String,
2407 pub capacity_block_extension_duration_hours: i32,
2408 pub currency_code: String,
2409 pub upfront_fee: String,
2410 pub capacity_reservation_arn: Option<String>,
2411 pub capacity_block_extension_arn: Option<String>,
2412}
2413
2414#[derive(Debug, Clone, Default)]
2416pub struct CapacityReservationCommitmentInfo {
2417 pub commitment_end_date: Option<String>,
2418 pub committed_instance_count: Option<i32>,
2419}
2420
2421#[derive(Debug, Clone, Default)]
2423pub struct CapacityReservationSpecificationResponse {
2424 pub capacity_reservation_preference: Option<String>,
2426 pub capacity_reservation_id: Option<String>,
2427 pub capacity_reservation_resource_group_arn: Option<String>,
2428}
2429
2430#[derive(Debug, Clone)]
2436pub struct TransitGatewayMulticastDomain {
2437 pub transit_gateway_multicast_domain_id: String,
2438 pub transit_gateway_id: String,
2439 pub transit_gateway_multicast_domain_arn: String,
2440 pub owner_id: String,
2441 pub igmpv2_support: String,
2443 pub static_sources_support: String,
2444 pub auto_accept_shared_associations: String,
2445 pub state: String,
2447 pub creation_time: String,
2448 pub tags: Tags,
2449}
2450
2451#[derive(Debug, Clone)]
2453pub struct MulticastSubnetAssociation {
2454 pub subnet_id: String,
2455 pub state: String,
2458}
2459
2460#[derive(Debug, Clone)]
2462pub struct TransitGatewayMulticastDomainAssociation {
2463 pub transit_gateway_multicast_domain_id: String,
2464 pub transit_gateway_attachment_id: String,
2465 pub resource_id: String,
2466 pub resource_type: String,
2468 pub subnets: Vec<MulticastSubnetAssociation>,
2469}
2470
2471#[derive(Debug, Clone)]
2473pub struct TransitGatewayMulticastGroupMember {
2474 pub transit_gateway_multicast_domain_id: String,
2475 pub group_ip_address: String,
2476 pub transit_gateway_attachment_id: Option<String>,
2477 pub subnet_id: Option<String>,
2478 pub resource_id: Option<String>,
2479 pub resource_type: String,
2481 pub network_interface_id: String,
2482 pub member_type: String,
2484 pub source_type: String,
2485}
2486
2487#[derive(Debug, Clone)]
2489pub struct TransitGatewayMulticastGroupSource {
2490 pub transit_gateway_multicast_domain_id: String,
2491 pub group_ip_address: String,
2492 pub transit_gateway_attachment_id: Option<String>,
2493 pub subnet_id: Option<String>,
2494 pub resource_id: Option<String>,
2495 pub resource_type: String,
2496 pub network_interface_id: String,
2497 pub member_type: String,
2498 pub source_type: String,
2499}
2500
2501#[derive(Debug, Clone)]
2503pub struct TransitGatewayConnect {
2504 pub transit_gateway_attachment_id: String,
2505 pub transport_transit_gateway_attachment_id: String,
2506 pub transit_gateway_id: String,
2507 pub state: String,
2511 pub creation_time: String,
2512 pub protocol: String,
2513 pub tags: Tags,
2514}
2515
2516#[derive(Debug, Clone)]
2518pub struct TransitGatewayConnectPeer {
2519 pub transit_gateway_attachment_id: String,
2520 pub transit_gateway_connect_peer_id: String,
2521 pub state: String,
2523 pub creation_time: String,
2524 pub transit_gateway_address: String,
2525 pub peer_address: String,
2526 pub inside_cidr_blocks: Vec<String>,
2527 pub protocol: String,
2528 pub bgp_configurations: Vec<TransitGatewayAttachmentBgpConfiguration>,
2529 pub tags: Tags,
2530}
2531
2532#[derive(Debug, Clone, Default)]
2533pub struct TransitGatewayAttachmentBgpConfiguration {
2534 pub transit_gateway_asn: i64,
2535 pub peer_asn: i64,
2536 pub transit_gateway_address: String,
2537 pub peer_address: String,
2538 pub bgp_status: String,
2540}
2541
2542#[derive(Debug, Clone)]
2544pub struct TransitGatewayMeteringPolicy {
2545 pub transit_gateway_metering_policy_id: String,
2546 pub transit_gateway_metering_policy_arn: String,
2547 pub transit_gateway_id: String,
2548 pub name: String,
2549 pub description: Option<String>,
2550 pub state: String,
2552 pub tags: Tags,
2553 pub last_updated_time: String,
2554 pub version: i32,
2555 pub middlebox_attachment_ids: Vec<String>,
2556}
2557
2558#[derive(Debug, Clone)]
2561pub struct TransitGatewayMeteringPolicyEntry {
2562 pub transit_gateway_metering_policy_entry_id: String,
2563 pub transit_gateway_metering_policy_id: String,
2564 pub sequence_number: i32,
2565 pub action: String,
2567 pub source_cidr_block: Option<String>,
2568 pub destination_cidr_block: Option<String>,
2569 pub protocol: Option<String>,
2570 pub source_port: Option<String>,
2571 pub destination_port: Option<String>,
2572 pub dimensions: Vec<String>,
2573 pub state: String,
2574}
2575
2576#[derive(Debug, Clone)]
2578pub struct TransitGatewayPolicyTable {
2579 pub transit_gateway_policy_table_id: String,
2580 pub transit_gateway_id: String,
2581 pub state: String,
2583 pub creation_time: String,
2584 pub tags: Tags,
2585}
2586
2587#[derive(Debug, Clone)]
2589pub struct TransitGatewayPolicyTableAssociation {
2590 pub transit_gateway_policy_table_id: String,
2591 pub transit_gateway_attachment_id: String,
2592 pub resource_type: String,
2594 pub resource_id: String,
2595 pub state: String,
2597}
2598
2599#[derive(Debug, Clone)]
2602pub struct TransitGatewayPrefixListReference {
2603 pub transit_gateway_route_table_id: String,
2604 pub prefix_list_id: String,
2605 pub prefix_list_owner_id: String,
2606 pub state: String,
2608 pub blackhole: bool,
2609 pub transit_gateway_attachment_id: Option<String>,
2610 pub resource_id: Option<String>,
2611 pub resource_type: Option<String>,
2612}
2613
2614#[derive(Debug, Clone)]
2616pub struct TransitGatewayRouteTableAnnouncement {
2617 pub transit_gateway_route_table_announcement_id: String,
2618 pub transit_gateway_id: String,
2619 pub core_network_id: String,
2620 pub peer_transit_gateway_id: String,
2621 pub peer_core_network_id: Option<String>,
2622 pub peering_attachment_id: String,
2623 pub announcement_direction: String,
2625 pub transit_gateway_route_table_id: String,
2626 pub state: String,
2628 pub creation_time: String,
2629 pub tags: Tags,
2630}
2631
2632#[derive(Debug, Clone)]
2638pub struct IpamOperatingRegion {
2639 pub region_name: String,
2640}
2641
2642#[derive(Debug, Clone)]
2644pub struct Ipam {
2645 pub ipam_id: String,
2646 pub ipam_arn: String,
2647 pub ipam_region: String,
2648 pub public_default_scope_id: String,
2649 pub private_default_scope_id: String,
2650 pub scope_count: i32,
2651 pub description: Option<String>,
2652 pub operating_regions: Vec<IpamOperatingRegion>,
2653 pub state: String,
2656 pub owner_id: String,
2657 pub default_resource_discovery_id: Option<String>,
2658 pub default_resource_discovery_association_id: Option<String>,
2659 pub resource_discovery_association_count: i32,
2660 pub tier: String,
2662 pub enable_private_gua: bool,
2663 pub metered_account: String,
2665 pub tags: Tags,
2666}
2667
2668#[derive(Debug, Clone)]
2672pub struct IpamScope {
2673 pub ipam_scope_id: String,
2674 pub ipam_scope_arn: String,
2675 pub ipam_arn: String,
2676 pub ipam_region: String,
2677 pub ipam_scope_type: String,
2679 pub is_default: bool,
2680 pub description: Option<String>,
2681 pub pool_count: i32,
2682 pub state: String,
2683 pub tags: Tags,
2684 pub owner_id: String,
2685}
2686
2687#[derive(Debug, Clone)]
2689pub struct IpamPool {
2690 pub ipam_pool_id: String,
2691 pub source_ipam_pool_id: Option<String>,
2692 pub ipam_pool_arn: String,
2693 pub ipam_scope_arn: String,
2694 pub ipam_scope_type: String,
2695 pub ipam_arn: String,
2696 pub ipam_region: String,
2697 pub locale: String,
2698 pub pool_depth: i32,
2699 pub state: String,
2700 pub state_message: Option<String>,
2701 pub description: Option<String>,
2702 pub auto_import: bool,
2703 pub publicly_advertisable: bool,
2704 pub address_family: String,
2706 pub allocation_min_netmask_length: Option<i32>,
2707 pub allocation_max_netmask_length: Option<i32>,
2708 pub allocation_default_netmask_length: Option<i32>,
2709 pub allocation_resource_tags: Vec<(String, String)>,
2710 pub aws_service: Option<String>,
2711 pub public_ip_source: Option<String>,
2712 pub source_resource_id: Option<String>,
2713 pub source_resource_type: Option<String>,
2714 pub source_resource_region: Option<String>,
2715 pub source_resource_owner: Option<String>,
2716 pub tags: Tags,
2717 pub owner_id: String,
2718 pub allocation_count: i32,
2719}
2720
2721#[derive(Debug, Clone)]
2723pub struct IpamPoolCidr {
2724 pub cidr: String,
2725 pub state: String,
2728 pub failure_reason: Option<String>,
2729 pub ipam_pool_cidr_id: String,
2730 pub netmask_length: Option<i32>,
2731}
2732
2733#[derive(Debug, Clone)]
2736pub struct IpamPoolAllocation {
2737 pub ipam_pool_allocation_id: String,
2738 pub cidr: String,
2739 pub ipam_pool_id: String,
2740 pub description: Option<String>,
2741 pub resource_id: Option<String>,
2742 pub resource_type: String,
2744 pub resource_region: Option<String>,
2745 pub resource_owner: Option<String>,
2746}
2747
2748#[derive(Debug, Clone)]
2750pub struct IpamResourceDiscovery {
2751 pub ipam_resource_discovery_id: String,
2752 pub ipam_resource_discovery_arn: String,
2753 pub ipam_resource_discovery_region: String,
2754 pub description: Option<String>,
2755 pub operating_regions: Vec<IpamOperatingRegion>,
2756 pub is_default: bool,
2757 pub state: String,
2758 pub owner_id: String,
2759 pub tags: Tags,
2760}
2761
2762#[derive(Debug, Clone)]
2764pub struct IpamResourceDiscoveryAssociation {
2765 pub ipam_resource_discovery_association_id: String,
2766 pub ipam_resource_discovery_association_arn: String,
2767 pub ipam_arn: String,
2768 pub ipam_id: String,
2769 pub ipam_region: String,
2770 pub ipam_resource_discovery_id: String,
2771 pub owner_id: String,
2772 pub is_default: bool,
2773 pub resource_discovery_status: String,
2775 pub state: String,
2779 pub tags: Tags,
2780}
2781
2782#[derive(Debug, Clone)]
2784pub struct IpamByoasn {
2785 pub asn: String,
2786 pub ipam_id: String,
2787 pub description: Option<String>,
2788 pub state: String,
2791 pub status_message: Option<String>,
2792}
2793
2794#[derive(Debug, Clone)]
2796pub struct IpamExternalResourceVerificationToken {
2797 pub ipam_external_resource_verification_token_id: String,
2798 pub ipam_external_resource_verification_token_arn: String,
2799 pub ipam_id: String,
2800 pub ipam_arn: String,
2801 pub ipam_region: String,
2802 pub token_value: String,
2803 pub token_name: String,
2804 pub not_after: String,
2805 pub status: String,
2807 pub state: String,
2808 pub tags: Tags,
2809}
2810
2811#[derive(Debug, Clone)]
2814pub struct IpamPolicy {
2815 pub ipam_policy_id: String,
2816 pub ipam_policy_arn: String,
2817 pub ipam_arn: String,
2818 pub ipam_region: String,
2819 pub policy_name: String,
2820 pub policy_type: String,
2822 pub description: Option<String>,
2823 pub state: String,
2824 pub allocation_rules: Vec<IpamPolicyAllocationRule>,
2825 pub tags: Tags,
2826 pub owner_id: String,
2827}
2828
2829#[derive(Debug, Clone)]
2831pub struct IpamPolicyAllocationRule {
2832 pub source_ipam_pool_id: Option<String>,
2833}
2834
2835#[derive(Debug, Clone)]
2837pub struct IpamPrefixListResolver {
2838 pub ipam_prefix_list_resolver_id: String,
2839 pub ipam_prefix_list_resolver_arn: String,
2840 pub ipam_arn: String,
2841 pub ipam_region: String,
2842 pub name: String,
2843 pub description: Option<String>,
2844 pub state: String,
2846 pub owner_id: String,
2847 pub target_count: i32,
2848 pub tags: Tags,
2849}
2850
2851#[derive(Debug, Clone)]
2854pub struct IpamPrefixListResolverTarget {
2855 pub ipam_prefix_list_resolver_target_id: String,
2856 pub ipam_prefix_list_resolver_id: String,
2857 pub target_resource_arn: String,
2858 pub target_resource_type: String,
2859 pub target_resource_region: String,
2860 pub owner_id: String,
2861 pub state: String,
2862 pub tags: Tags,
2863}
2864
2865#[derive(Debug, Clone)]
2872pub struct VolumeModification {
2873 pub volume_id: String,
2874 pub modification_state: String,
2876 pub status_message: Option<String>,
2877 pub target_size: Option<i32>,
2878 pub target_iops: Option<i32>,
2879 pub target_throughput: Option<i32>,
2880 pub target_volume_type: Option<String>,
2881 pub target_multi_attach_enabled: Option<bool>,
2882 pub original_size: Option<i32>,
2883 pub original_iops: Option<i32>,
2884 pub original_throughput: Option<i32>,
2885 pub original_volume_type: Option<String>,
2886 pub original_multi_attach_enabled: Option<bool>,
2887 pub progress: i64,
2889 pub start_time: String,
2890 pub end_time: Option<String>,
2891}
2892
2893#[derive(Debug, Clone)]
2896pub struct ImportVolumeTask {
2897 pub conversion_task_id: String,
2898 pub expiration_time: String,
2899 pub image: DiskImageDescription,
2900 pub volume: DiskImageVolumeDescription,
2901 pub availability_zone: String,
2902 pub bytes_converted: i64,
2903 pub description: Option<String>,
2904 pub status: String,
2906 pub status_message: Option<String>,
2907}
2908
2909#[derive(Debug, Clone, Default)]
2910pub struct DiskImageDescription {
2911 pub format: String,
2912 pub size: i64,
2913 pub import_manifest_url: String,
2914 pub checksum: Option<String>,
2915}
2916
2917#[derive(Debug, Clone, Default)]
2918pub struct DiskImageVolumeDescription {
2919 pub size: i64,
2920 pub id: String,
2921}
2922
2923#[derive(Debug, Clone)]
2926pub struct BundleTask {
2927 pub bundle_id: String,
2928 pub instance_id: String,
2929 pub bucket: String,
2930 pub prefix: String,
2931 pub start_time: String,
2932 pub update_time: String,
2933 pub state: String,
2936 pub progress: String,
2937 pub error_code: Option<String>,
2938 pub error_message: Option<String>,
2939}
2940
2941#[derive(Debug, Clone)]
2943pub struct IdFormatEntry {
2944 pub use_long_ids: bool,
2945 pub deadline: Option<String>,
2946}
2947
2948#[derive(Debug, Clone)]
2950pub struct OutpostLag {
2951 pub outpost_lag_id: String,
2952 pub outpost_arn: String,
2953 pub owner_id: String,
2954 pub state: String,
2955 pub local_gateway_virtual_interface_ids: Vec<String>,
2956 pub service_link_virtual_interface_ids: Vec<String>,
2957 pub tags: Tags,
2958}
2959
2960#[derive(Debug, Clone)]
2962pub struct ExportImageTask {
2963 pub export_image_task_id: String,
2964 pub description: Option<String>,
2965 pub image_id: String,
2966 pub role_name: String,
2967 pub status: String,
2969 pub status_message: Option<String>,
2970 pub progress: String,
2971 pub s3_export_location: ExportTaskS3Location,
2972 pub disk_image_format: String,
2974 pub tags: Tags,
2975}
2976
2977#[derive(Debug, Clone, Default)]
2978pub struct ExportTaskS3Location {
2979 pub s3_bucket: String,
2980 pub s3_prefix: Option<String>,
2981}
2982
2983#[derive(Debug, Clone, Default)]
2986pub struct AwsNetworkPerformanceSubscription {
2987 pub source: String,
2988 pub destination: String,
2989 pub metric: String,
2991 pub statistic: String,
2993 pub period: String,
2995}