pub struct Ec2State {Show 97 fields
pub account_id: String,
pub region: String,
pub tags: HashMap<String, Vec<Tag>>,
pub vpcs: HashMap<String, Vpc>,
pub dhcp_options: HashMap<String, DhcpOptions>,
pub subnets: HashMap<String, Subnet>,
pub subnet_cidr_reservations: HashMap<String, SubnetCidrReservation>,
pub security_groups: HashMap<String, SecurityGroup>,
pub route_tables: HashMap<String, RouteTable>,
pub internet_gateways: HashMap<String, InternetGateway>,
pub egress_only_igws: HashMap<String, InternetGateway>,
pub nat_gateways: HashMap<String, NatGateway>,
pub elastic_ips: HashMap<String, ElasticIp>,
pub key_pairs: HashMap<String, KeyPair>,
pub placement_groups: HashMap<String, PlacementGroup>,
pub network_interfaces: HashMap<String, NetworkInterface>,
pub eni_permissions: HashMap<String, NetworkInterfacePermission>,
pub instances: HashMap<String, Instance>,
pub volumes: HashMap<String, Volume>,
pub ebs_encryption_default: bool,
pub ebs_default_kms_key_id: Option<String>,
pub snapshots: HashMap<String, Snapshot>,
pub snapshot_block_public_access: String,
pub images: HashMap<String, Image>,
pub image_block_public_access: String,
pub allowed_images_settings: String,
pub network_acls: HashMap<String, NetworkAcl>,
pub vpc_peerings: HashMap<String, VpcPeering>,
pub vpc_endpoints: HashMap<String, VpcEndpoint>,
pub endpoint_services: HashMap<String, EndpointService>,
pub connection_notifications: HashMap<String, ConnectionNotification>,
pub flow_logs: HashMap<String, FlowLog>,
pub launch_templates: HashMap<String, LaunchTemplate>,
pub spot_requests: HashMap<String, SpotRequest>,
pub spot_fleets: HashMap<String, SpotFleet>,
pub fleets: HashMap<String, Fleet>,
pub spot_datafeed: Option<(String, String)>,
pub capacity_reservations: HashMap<String, CapacityReservation>,
pub capacity_reservation_fleets: HashMap<String, String>,
pub reserved_instances: HashMap<String, ReservedInstances>,
pub dedicated_hosts: HashMap<String, DedicatedHost>,
pub transit_gateways: HashMap<String, TransitGateway>,
pub tgw_attachments: HashMap<String, TgwAttachment>,
pub tgw_route_tables: HashMap<String, TgwRouteTable>,
pub tgw_routes: HashMap<String, Vec<TgwRoute>>,
pub tgw_rt_associations: HashMap<String, Vec<String>>,
pub tgw_rt_propagations: HashMap<String, Vec<String>>,
pub tgw_prefix_list_refs: HashMap<String, Vec<String>>,
pub tgw_peerings: HashMap<String, TgwPeering>,
pub tgw_connects: HashMap<String, (String, String)>,
pub tgw_connect_peers: HashMap<String, String>,
pub tgw_policy_tables: HashMap<String, String>,
pub tgw_policy_table_associations: HashMap<String, Vec<String>>,
pub tgw_announcements: HashMap<String, (String, String)>,
pub tgw_multicast_domains: HashMap<String, TgwMulticastDomain>,
pub tgw_metering_policies: HashMap<String, TgwMeteringPolicy>,
pub customer_gateways: HashMap<String, CustomerGateway>,
pub vpn_gateways: HashMap<String, VpnGateway>,
pub vpn_connections: HashMap<String, VpnConnection>,
pub vpn_concentrators: HashMap<String, VpnConcentrator>,
pub client_vpn_endpoints: HashMap<String, ClientVpnEndpoint>,
pub ipams: HashMap<String, Ipam>,
pub ipam_scopes: HashMap<String, IpamScope>,
pub ipam_pools: HashMap<String, IpamPool>,
pub ipam_pool_cidrs: HashMap<String, Vec<(String, String)>>,
pub ipam_pool_allocations: HashMap<String, Vec<(String, String)>>,
pub ipam_resource_discoveries: HashMap<String, IpamResourceDiscovery>,
pub ipam_rd_associations: HashMap<String, (String, String)>,
pub ipam_byoasns: HashMap<String, String>,
pub ipam_ext_tokens: HashMap<String, String>,
pub ipam_policies: HashMap<String, IpamPolicy>,
pub ipam_pl_resolvers: HashMap<String, IpamPrefixListResolver>,
pub ipam_pl_resolver_targets: HashMap<String, IpamPrefixListResolverTarget>,
pub ipam_policy_alloc_rules: HashMap<String, Vec<(String, String)>>,
pub ipam_enabled_policy: Option<String>,
pub va_instances: HashMap<String, VerifiedAccessInstance>,
pub va_trust_providers: HashMap<String, VerifiedAccessTrustProvider>,
pub va_groups: HashMap<String, VerifiedAccessGroup>,
pub va_endpoints: HashMap<String, VerifiedAccessEndpoint>,
pub va_group_policies: HashMap<String, String>,
pub va_endpoint_policies: HashMap<String, String>,
pub ni_paths: HashMap<String, NetworkInsightsPath>,
pub ni_analyses: HashMap<String, NetworkInsightsAnalysis>,
pub ni_access_scopes: HashMap<String, NetworkInsightsAccessScope>,
pub ni_scope_analyses: HashMap<String, NetworkInsightsAccessScopeAnalysis>,
pub carrier_gateways: HashMap<String, CarrierGateway>,
pub coip_pools: HashMap<String, CoipPool>,
pub coip_pool_cidrs: HashMap<String, Vec<String>>,
pub lg_route_tables: HashMap<String, LocalGatewayRouteTable>,
pub lg_routes: HashMap<String, Vec<String>>,
pub lg_rt_vpc_assocs: HashMap<String, LocalGatewayRouteTableVpcAssoc>,
pub lg_virtual_interfaces: HashMap<String, LocalGatewayVif>,
pub lg_vif_groups: HashMap<String, LocalGatewayVifGroup>,
pub lg_rt_vifg_assocs: HashMap<String, LocalGatewayRouteTableVifgAssoc>,
pub instance_connect_endpoints: HashMap<String, InstanceConnectEndpoint>,
pub fast_launch_images: HashSet<String>,
pub serial_console_access: bool,
}Expand description
Per-account, per-region EC2 state. Resource families are added to this struct as their batches land.
Fields§
§account_id: String§region: Stringresource-id -> tags. Shared by every Describe* tag: filter.
vpcs: HashMap<String, Vpc>§dhcp_options: HashMap<String, DhcpOptions>§subnets: HashMap<String, Subnet>§subnet_cidr_reservations: HashMap<String, SubnetCidrReservation>§security_groups: HashMap<String, SecurityGroup>§route_tables: HashMap<String, RouteTable>§internet_gateways: HashMap<String, InternetGateway>§egress_only_igws: HashMap<String, InternetGateway>§nat_gateways: HashMap<String, NatGateway>§elastic_ips: HashMap<String, ElasticIp>keyed by allocation id.
key_pairs: HashMap<String, KeyPair>keyed by key name.
placement_groups: HashMap<String, PlacementGroup>keyed by group name.
network_interfaces: HashMap<String, NetworkInterface>§eni_permissions: HashMap<String, NetworkInterfacePermission>keyed by permission id.
instances: HashMap<String, Instance>§volumes: HashMap<String, Volume>§ebs_encryption_default: boolAccount-level EBS default encryption toggle.
ebs_default_kms_key_id: Option<String>Account-level EBS default KMS key (None = alias/aws/ebs).
snapshots: HashMap<String, Snapshot>§snapshot_block_public_access: StringAccount-level snapshot block-public-access state.
images: HashMap<String, Image>§image_block_public_access: StringAccount-level image block-public-access state.
allowed_images_settings: StringAccount-level allowed-images settings state.
network_acls: HashMap<String, NetworkAcl>§vpc_peerings: HashMap<String, VpcPeering>§vpc_endpoints: HashMap<String, VpcEndpoint>§endpoint_services: HashMap<String, EndpointService>§connection_notifications: HashMap<String, ConnectionNotification>§flow_logs: HashMap<String, FlowLog>§launch_templates: HashMap<String, LaunchTemplate>§spot_requests: HashMap<String, SpotRequest>§spot_fleets: HashMap<String, SpotFleet>§fleets: HashMap<String, Fleet>§spot_datafeed: Option<(String, String)>Account-level spot datafeed subscription (bucket, prefix).
capacity_reservations: HashMap<String, CapacityReservation>§capacity_reservation_fleets: HashMap<String, String>Capacity reservation fleet ids (metadata-only).
reserved_instances: HashMap<String, ReservedInstances>§dedicated_hosts: HashMap<String, DedicatedHost>§transit_gateways: HashMap<String, TransitGateway>§tgw_attachments: HashMap<String, TgwAttachment>§tgw_route_tables: HashMap<String, TgwRouteTable>§tgw_routes: HashMap<String, Vec<TgwRoute>>route-table-id -> static routes.
tgw_rt_associations: HashMap<String, Vec<String>>route-table-id -> associated attachment ids.
tgw_rt_propagations: HashMap<String, Vec<String>>route-table-id -> propagated attachment ids.
tgw_prefix_list_refs: HashMap<String, Vec<String>>route-table-id -> prefix-list ids referenced.
tgw_peerings: HashMap<String, TgwPeering>§tgw_connects: HashMap<String, (String, String)>connect-attachment-id -> (transport attachment id, tgw id).
tgw_connect_peers: HashMap<String, String>connect-peer-id -> attachment id.
tgw_policy_tables: HashMap<String, String>policy-table-id -> tgw id.
tgw_policy_table_associations: HashMap<String, Vec<String>>policy-table-id -> associated attachment ids.
tgw_announcements: HashMap<String, (String, String)>announcement-id -> (route-table id, peering-attachment id).
tgw_multicast_domains: HashMap<String, TgwMulticastDomain>§tgw_metering_policies: HashMap<String, TgwMeteringPolicy>§customer_gateways: HashMap<String, CustomerGateway>§vpn_gateways: HashMap<String, VpnGateway>§vpn_connections: HashMap<String, VpnConnection>§vpn_concentrators: HashMap<String, VpnConcentrator>§client_vpn_endpoints: HashMap<String, ClientVpnEndpoint>§ipams: HashMap<String, Ipam>§ipam_scopes: HashMap<String, IpamScope>§ipam_pools: HashMap<String, IpamPool>§ipam_pool_cidrs: HashMap<String, Vec<(String, String)>>pool-id -> provisioned (cidr, cidr-id).
ipam_pool_allocations: HashMap<String, Vec<(String, String)>>pool-id -> allocations (cidr, allocation-id).
ipam_resource_discoveries: HashMap<String, IpamResourceDiscovery>§ipam_rd_associations: HashMap<String, (String, String)>association-id -> (discovery-id, ipam-id).
ipam_byoasns: HashMap<String, String>asn -> associated cidr.
ipam_ext_tokens: HashMap<String, String>external-token-id -> ipam-id.
ipam_policies: HashMap<String, IpamPolicy>§ipam_pl_resolvers: HashMap<String, IpamPrefixListResolver>§ipam_pl_resolver_targets: HashMap<String, IpamPrefixListResolverTarget>§ipam_policy_alloc_rules: HashMap<String, Vec<(String, String)>>policy-id -> (locale, resource-type) allocation-rule documents.
ipam_enabled_policy: Option<String>The single enabled IPAM policy id, if any.
va_instances: HashMap<String, VerifiedAccessInstance>§va_trust_providers: HashMap<String, VerifiedAccessTrustProvider>§va_groups: HashMap<String, VerifiedAccessGroup>§va_endpoints: HashMap<String, VerifiedAccessEndpoint>§va_group_policies: HashMap<String, String>group-id -> policy document.
va_endpoint_policies: HashMap<String, String>endpoint-id -> policy document.
ni_paths: HashMap<String, NetworkInsightsPath>§ni_analyses: HashMap<String, NetworkInsightsAnalysis>§ni_access_scopes: HashMap<String, NetworkInsightsAccessScope>§ni_scope_analyses: HashMap<String, NetworkInsightsAccessScopeAnalysis>§carrier_gateways: HashMap<String, CarrierGateway>§coip_pools: HashMap<String, CoipPool>§coip_pool_cidrs: HashMap<String, Vec<String>>coip-pool-id -> CIDRs.
lg_route_tables: HashMap<String, LocalGatewayRouteTable>§lg_routes: HashMap<String, Vec<String>>route-table-id -> destination CIDRs.
lg_rt_vpc_assocs: HashMap<String, LocalGatewayRouteTableVpcAssoc>§lg_virtual_interfaces: HashMap<String, LocalGatewayVif>§lg_vif_groups: HashMap<String, LocalGatewayVifGroup>§lg_rt_vifg_assocs: HashMap<String, LocalGatewayRouteTableVifgAssoc>§instance_connect_endpoints: HashMap<String, InstanceConnectEndpoint>§fast_launch_images: HashSet<String>Image ids with fast-launch enabled.
serial_console_access: boolImplementations§
Source§impl Ec2State
impl Ec2State
pub fn new(account_id: &str, region: &str) -> Self
Replace the tag set for resource_id with tags merged over any
existing tags (CreateTags is upsert-by-key, matching AWS).
Remove tags for resource_id. When a tag’s value is None, the key is
removed regardless of value; when Some, only a key+value match is
removed (AWS DeleteTags semantics).
Tags for resource_id, or an empty slice when none.
Trait Implementations§
Source§impl AccountState for Ec2State
impl AccountState for Ec2State
Source§fn new_for_account(account_id: &str, region: &str, _endpoint: &str) -> Self
fn new_for_account(account_id: &str, region: &str, _endpoint: &str) -> Self
Source§fn inherit_from(&mut self, _sibling: &Self)
fn inherit_from(&mut self, _sibling: &Self)
MultiAccountState::get_or_create,
with a reference to an existing sibling state. Services can override
this to propagate shared resources (e.g. body caches) to the new state.